标签 离线 下的文章

本指南介绍了如何在没有互联网连接的情况下离线更新 Ubuntu 的步骤。

在很多情况下,你可能需要在没有互联网连接的情况下更新你的 Ubuntu 系统。你可能在外地不方便上网,也可能你需要更新一堆未联网的 Ubuntu,不管是哪种情况,保持你的系统更新最新的软件包总是需要的。

当然,始终建议通过联网来更新系统。

但有时,出于安全考虑,这是不行的。连接到互联网可能需要给你的系统进行额外的加固,以保护它们免受黑客和恶意软件的攻击。

以下的方法使用 apt-offline 来解决这些问题,并概述了在没有互联网的情况下离线更新 Ubuntu 的步骤。

准备环节

  • 一台能连接到网络的 Ubuntu(你朋友的、咖啡馆、实验室系统)
  • 存储了软件包的 U 盘
  • 两个系统都安装了 apt-offline:一个系统离线,另一个系统联网

安装 apt-offline

在两个系统下安装 apt-offline。你可以使用以下命令安装:

sudo apt install apt-offline

如果你想在离线的目标系统安装 apt-offline,你可以提前下载到 U 盘里,然后复制到目标系统,再使用下面的命令安装。

Ubuntu 22.04 LTS 和其他版本的下载链接如下所示。你可以选择一个镜像并下载 deb 文件。

下载 .deb 文件 – apt-offline
sudo dpkg -i name_of_package.deb

如何更新 Ubuntu

在离线的目标系统上打开终端,使用以下命令创建一个 .sig 签名文件:

sudo apt-offline set ~/offline-data.sig

创建签名文件

在这个刚创建的签名文件中,包含下载所需的软件包的路径和详细信息。

签名文件的内容

把签名文件复制到 U 盘中,再插到联网的 Ubuntu 系统上。

在联网的 Ubuntu 上创建一个目录(参见下面)来存放这些文件。

打开一个终端,运行以下命令来下载所需的软件包。记得根据你的系统,更改下载目录和 .sig 签名文件的路径。

apt-offline get -d ~/offline-data-dir offline-data.sig

下载软件包以离线安装

你可以看到文件相应下载,然后复制整个下载目录到 U 盘,再插到离线的 Ubuntu 系统。

运行以下命令将下载的软件包安装到离线系统,记得根据你的系统更改目录路径。

sudo apt-offline install offline-data-dir/

安装软件包

如果一切顺利,你将获得一个更新完的 Ubuntu。

重复以上步骤,就可以保持你的离线 Ubuntu 为最新版本。

希望以上教程能帮到你更新离线的 Ubuntu 系统,如果你遇到任何问题,请在下面的评论框中告诉我。


via: https://www.debugpoint.com/how-to-update-or-upgrade-ubuntu-offline-without-internet/

作者:Arindam 选题:lkxed 译者:littlebirdnest 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

不久之前我已经向你展示了如何在任意离线的 UbuntuArch Linux 操作系统上安装软件。 今天,我们将会看看如何完整地离线更新并升级基于 Debian 的操作系统。 和之前所述方法的不同之处在于,这次我们将会升级整个操作系统,而不是单个的软件包。这个方法在你没有网络链接或拥有的网络速度很慢的时候十分有用。

完整地离线更新并升级基于 Debian 的操作系统

首先假设,你在单位拥有正在运行并配置有高速互联网链接的系统(Windows 或者 Linux),而在家有一个没有网络链接或网络很慢(例如拨号网络)的 Debian 或其衍生的操作系统。现在如果你想要离线更新你家里的操作系统怎么办?购买一个更加高速的网络链接?不,根本不需要!你仍然可以通过互联网离线更新升级你的操作系统。这正是 Apt-Offline工具可以帮助你做到的。

正如其名,apt-offline 是一个为 Debian 及其衍生发行版(诸如 Ubuntu、Linux Mint 这样基于 APT 的操作系统)提供的离线 APT 包管理器。使用 apt-offline,我们可以完整地更新/升级我们的 Debian 系统而不需要网络链接。这个程序是由 Python 编程语言写成的兼具 CLI 和图形界面的跨平台工具。

准备工作

  • 一个已经联网的操作系统(Windows 或者 Linux)。在这份指南中,为了便于理解,我们将之称为在线操作系统。
  • 一个离线操作系统(Debian 及其衍生版本)。我们称之为离线操作系统。
  • 有足够空间容纳所有更新包的 USB 驱动器或者外接硬盘。

安装

Apt-Offline 可以在 Debian 及其衍生版本的默认仓库中获得。如果你的在线操作系统是运行的 Debian、Ubuntu、Linux Mint,及其它基于 DEB 的操作系统,你可以通过下面的命令安装 Apt-Offline:

sudo apt-get install apt-offline

如果你的在线操作系统运行的是非 Debian 类的发行版,使用 git clone 获取 Apt-Offline 仓库:

git clone https://github.com/rickysarraf/apt-offline.git

切换到克隆的目录下并在此处运行:

cd apt-offline/
sudo ./apt-offline

在离线操作系统(没有联网的操作系统)上的步骤

到你的离线操作系统上创建一个你想存储签名文件的目录:

mkdir ~/tmp
cd ~/tmp/

你可以自己选择使用任何目录。接下来,运行下面的命令生成签名文件:

sudo apt-offline set apt-offline.sig

示例输出如下:

Generating database of files that are needed for an update.
Generating database of file that are needed for operation upgrade

默认条件下,apt-offline 将会生成需要更新和升级的相关文件的数据库。你可以使用 --update 或者 --upgrade 选项相应创建。

拷贝完整的 tmp 目录到你的 USB 驱动器或者或者外接硬盘上,然后换到你的在线操作系统(有网络链接的操作系统)。

在在线操作系统上的步骤

插入你的 USB 驱动器然后进入 tmp 文件夹:

cd tmp/

然后,运行如下命令:

sudo apt-offline get apt-offline.sig --threads 5 --bundle apt-offline-bundle.zip

在这里的 -threads 5 代表着(并发连接的) APT 仓库的数目。如果你想要从更多的仓库下载软件包,你可以增加这里的数值。然后 -bundle apt-offline-bundle.zip 选项表示所有的软件包将会打包到一个叫做 apt-offline-bundle.zip 的单独存档中。这个存档文件将会被保存在你的当前工作目录中(LCTT 译注:即 tmp 目录)。

上面的命令将会按照之前在离线操作系统上生成的签名文件下载数据。

根据你的网络状况,这个操作将会花费几分钟左右的时间。请记住,apt-offline 是跨平台的,所以你可以在任何操作系统上使用它下载包。

一旦下载完成,拷贝 tmp 文件夹到你的 USB 或者外接硬盘上并且返回你的离线操作系统(LCTT 译注:此处的复制操作似不必要,因为我们一直在 USB 存储器的 tmp 目录中操作)。千万保证你的 USB 驱动器上有足够的空闲空间存储所有的下载文件,因为所有的包都放在 tmp 文件夹里了。

离线操作系统上的步骤

把你的设备插入你的离线操作系统,然后切换到你之前下载了所有包的 tmp目录下。

cd tmp

然后,运行下面的命令来安装所有下载好的包。

sudo apt-offline install apt-offline-bundle.zip

这个命令将会更新 APT 数据库,所以 APT 将会在 APT 缓冲里找所有需要的包。

注意事项: 如果在线和离线操作系统都在同一个局域网中,你可以通过 scp 或者其他传输应用程序将 tmp 文件传到离线操作系统中。如果两个操作系统在不同的位置(LCTT 译注:意指在不同的局域网),那就使用 USB 设备来拷贝。

好了大伙儿,现在就这么多了。 希望这篇指南对你有用。还有更多好东西正在路上。敬请关注!

祝你愉快!


via: https://www.ostechnix.com/fully-update-upgrade-offline-debian-based-systems/

作者:SK 译者:leemeans 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

众所周知,在系统中使用新立得包管理工具或软件中心下载和安装应用程序的时候,我们必须得有互联网连接。但,如果您刚好没有网络或者是网络速度死慢死慢的呢?在您的 Linux 桌面系统中使用软件中心包管理工具来安装软件绝对是一个头痛的问题。反而,您可以从相应的官网上手工下载应用程序包并手工安装。但是,大多数的 Linux 用户并不知道他们希望安装的应用程序所需要的依赖关系包。如果您恰巧出现这种情况,应用怎么办呢?现在一切都不用担心了。今天,我们给您介绍一款非常棒的名叫 Camicri Cube 的离线包管理工具。

您可以把此包管理工具装在任何联网的系统上,下载您所需要安装的软件列表,然后把它们安装到没联网的机器上,就可以安装了。听起来很不错吧?是的,它就是这样操作的。Cube 是一款像新立得和 Ubuntu 软件中心这样的包管理工具,但是一款便携式的。它在任何平台(Windows 系统、基于 Apt 的 Linux 发布系统)、在线状态、离线状态、在闪存或任何可移动设备上都是可以使用和运行的。我们这个实验项目的主要目的是使处在离线状态的 Linux 用户能很容易的下载和安装 Linux 应用程序。

Cube 会收集您的离线电脑的详细信息,如操作系统的详细信息、安装的应用程序等等。然后使用 USB 迷你盘对 cube 应用程序进行拷贝,得到一副本,把其放在其它有网络连接的系统上使用,接着就可以下载您需要的应用程序列表。下载完所有需要的软件包之后,回到您原来的计算机,并开始安装。Cube 是由 Jake Capangpangan 开发和维护的,是用 C++ 语言编写,而且已经集成了所有必须的包。因此,使用它并不需要再安装任何额外的软件。

安装

现在,让我们下载 Cube 程序包,然后在没有网络连接的离线系统上进行安装。既可以从官网主站页面下载,也可以从Sourceforge 网站下载。要确保下载的版本跟您的离线计算机架构对应的系统相匹配。比如我使用的是64位的系统,就要下载64位版本的安装包。

wget http://sourceforge.net/projects/camicricube/files/Camicri%20Cube%201.0.9/cube-1.0.9.2_64bit.zip/

对此 zip 文件解压,解压到 home 目录或者着是您想放的任何地方:

unzip cube-1.0.9.2_64bit.zip

这就好了。接着,该是知道怎么使用的时候了。

使用

这儿,我使用的是两台装有 Ubuntu 系统的机器。原机器(离线-没有网络连接)上面跑着的是 Ubuntu 14.04 系统,有网络连接的机器跑着的是 Lubuntu 14.04 桌面系统。

离线系统上的操作步骤:

在离线系统上,进入已经解压的 Cube 文件目录,您会发现一个名叫 “cube-linux” 的可执行文件,双击它,并点击执行。如果它是不可执行的,用如下命令设置其可执行权限。

sudo chmod -R +x cube/

然后,进入 cube 目录,

cd cube/

接着执行如下命令来运行:

./cube-linux

输入项目的名称(比如sk)然后点击创建按纽。正如我上面提到的,这将会创建一个与您的系统相关的完整详细信息的新项目,如操作系统的详细信息、安装的应用程序列表、库等等。

如您所知,我们的系统是离线的,意思是没有网络连接。所以我点击取消按纽来跳过资源库的更新过程。随后我们会在一台有网络连接的系统上更新此资源库。

再一次,在这台离线机器上我们点击 No 来跳过更新,因为我们没有网络连接。

就是这样。现在新的项目已经创建好了,它会保存在我们的主 cube 目录里面。进入 Cube 目录,您就会发现一个名叫 Projects 的目录。这个目录会保存有您的离线系统的必要完整详细信息。

现在,关闭 cube 应用程序,然后拷贝整个主 cube 文件夹到任何的闪存盘里,接入有网络连接的系统。

在线系统上操作步骤:

往下的操作步骤需要在有网络连接的系统上进行。在我们的例子中,用的是 Lubuntu 14.04 系统的机器。

跟在源机器上的操作一样设置使 cube 目录具有可执行权限。

sudo chmod -R +x cube/

现在,双击 cube-linux 文件运行应用程序或者也可以在终端上加载运行,如下所示:

cd cube/
./cube-linux

在窗口的 “Open Existing Projects” 部分会看到您的项目列表,选择您需要的项目。

随后,cube 会询问这是否是您的项目所在的源机器。它并不是我的源(离线)机器,所以我点击 No

接着会询问是否想要更新您的资源库。点击 OK 来更新资料库。

下一步,我们得更新所有过期的包/应用程序。点击 Cube 工具栏上的 “Mark All updates” 按纽。然后点击 “Download all marked” 按纽来更新所有过期的包/应用程序。如下截图所示,在我的例子当中,有302个包需要更新。这时,点击 OK 来继续下载所标记的安装包。

现在,Cube 会开始下载所有已标记的包。

我们已经完成了对资料库和安装包的更新。此时,如果您在离线系统上还需要其它的安装包,您也可以下载这些新的安装包。

下载新的应用程序

例如,现在我想下载 apache2 包。在搜索框里输入包的名字,点击搜索按纽。Cube 程序会获取您想查找的应用程序的详细信息。点击 “Download this package now”按纽,接着点击 OK 就开始下载了。

Cube 将会下载 apache2 的安装包及所有的依赖包。

如果您想查找和下载更多安装包的话,只要简单的点击 “Mark this package” 按纽就可以搜索到需要的包了。只要您想在源机器上安装的包都可以标记上。一旦标记完所有的包,就可以点击位于顶部工具栏的 “Download all marked” 按纽来下载它们。

在完成资源库、过期软件包的更新和下载好新的应用程序后,就可以关闭 Cube 应用程序。然后,拷贝整个 Cube 文件夹到任何的闪盘或者外接硬盘。回到您的离线系统中来。

离线机器上的操作步骤:

把 Cube 文件夹拷回您的离线系统的任意位置。进入 cube 目录,并且双击 cube-linux 文件来加载启动 Cube 应用程序。

或者,您也可以从终端下启动它,如下所示:

cd cube/
./cube-linux

选择您的项目,点击打开。

然后会弹出一个对话框询问是否更新系统,尤其是已经下载好新的资源库的时候,请点击“是”。因为它会把所有的资源库传输到您的机器上。

您会看到,在没有网络连接的情况下这些资源库会更新到您的离线机器上。那是因为我们已经在有网络连接的系统上下载更新了此资源库。看起来很酷,不是吗?

更新完资源库后,让我们来安装所有的下载包。点击 “Mark all Downloaded” 按纽选中所有的下载包,然后点击 Cube 工具栏上的 “Install All Marked” 按纽来安装它们。Cube 应用程序会自动打开一个新的终端窗口来安装所有的软件包。

如果遇到依赖的问题,进入 Cube Menu -> Packages -> Install packages with complete dependencies 来安装所有的依赖包。

如果您只想安装特定的包,定位到列表包位置,点击 “Downloaded” 按纽,所有的已下载包都会被列出来。

然后双击某个特定的包,点击 “Install this”按纽来安装或者如果想过后再安装它的话可以先点击 “Mark this” 按纽。

顺便提一句,您可以在任意已经连接网络的系统上下载所需要的包,然后在没有网络连接的离线系统上安装。

结论

这是我曾经使用过的最好、最有用的软件工具之一。但我在用 Ubuntu 14.04 测试盒子测试的时候,遇到了很多依赖问题,还经常会出现闪退的情况。也仅仅是在最新 Ubuntu 14.04 离线系统上使用没有遇到任何问题。希望这些问题在老版本的 Ubuntu 上不会发生。除了这些小问题,这个小工具就如同宣传的一样,像魔法一样神奇。

欢呼吧!

原文作者:

SK(Senthilkumar,又名SK,来自于印度的泰米尔纳德邦,Linux 爱好者,FOSS 论坛支持者和 Linux 板块顾问。一个充满激情和活力的人,致力于提供高质量的 IT 专业文章,非常喜欢写作以及探索 Linux、开源、电脑和互联网等新事物。)


via: http://www.unixmen.com/camicri-cube-offline-portable-package-management-system/

译者:runningwater 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出