不久之前我已经向你展示了如何在任意离线的Ubuntu[1]和ArchLinux[2]操作系统上安装软件。今天,我们将会看看如何完整地离线更新并升级基于Debian的操作系统。和之前所述方法的不同之处在于,这次我们将会升级整个操作系统,而不是单个的软件包。这个方法在你没有网络链接或拥有的网络速度很慢的时候十分有用。
完整地离线更新并升级基于Debian的操作系统首先假设,你在单位拥有正在运行并配置有高速互联网链接的系统(Windows或者Linux),而在家有一个没有网络链接或网络很慢(例如拨号网络)的Debian或其衍生的操作系统。现在如果你想要离线更新你家里的操作系统怎么办?购买一个更加高速的网络链接?不,根本不需要!你仍然可以通过互联网离线更新升级你的操作系统。这正是Apt-Offline工具可以帮助你做到的。
正如其名,apt-offline是一个为Debian及其衍生发行版(诸如Ubuntu、LinuxMint这样基于APT的操作系统)提供的离线APT包管理器。使用apt-offline,我们可以完整地更新/升级我们的Debian系统而不需要网络链接。这个程序是由Python编程语言写成的兼具CLI和图形界面的跨平台工具。
准备工作一个已经联网的操作系统(Windows或者Linux)。在这份指南中,为了便于理解,我们将之称为在线操作系统。
一个离线操作系统(Debian及其衍生版本)。我们称之为离线操作系统。
有足够空间容纳所有更新包的USB驱动器或者外接硬盘。
安装Apt-Offline可以在Debian及其衍生版本的默认仓库中获得。如果你的在线操作系统是运行的Debian、Ubuntu、LinuxMint,及其它基于DEB的操作系统,你可以通过下面的命令安装Apt-Offline:
如果你的在线操作系统运行的是非Debian类的发行版,使用gitclone获取Apt-Offline仓库:
切换到克隆的目录下并在此处运行:
在离线操作系统(没有联网的操作系统)上的步骤到你的离线操作系统上创建一个你想存储签名文件的目录:
你可以自己选择使用任何目录。接下来,运行下面的命令生成签名文件:
示例输出如下:
默认条件下,apt-offline将会生成需要更新和升级的相关文件的数据库。你可以使用--update或者--upgrade选项相应创建。
拷贝完整的tmp目录到你的USB驱动器或者或者外接硬盘上,然后换到你的在线操作系统(有网络链接的操作系统)。
在在线操作系统上的步骤插入你的USB驱动器然后进入tmp文件夹:
然后,运行如下命令:
在这里的-threads5代表着(并发连接的)APT仓库的数目。如果你想要从更多的仓库下载软件包,你可以增加这里的数值。然后-选项表示所有的软件包将会打包到一个叫做的单独存档中。这个存档文件将会被保存在你的当前工作目录中(LCTT译注:即tmp目录)。
上面的命令将会按照之前在离线操作系统上生成的签名文件下载数据。
根据你的网络状况,这个操作将会花费几分钟左右的时间。请记住,apt-offline是跨平台的,所以你可以在任何操作系统上使用它下载包。
一旦下载完成,拷贝tmp文件夹到你的USB或者外接硬盘上并且返回你的离线操作系统(LCTT译注:此处的复制操作似不必要,因为我们一直在USB存储器的tmp目录中操作)。千万保证你的USB驱动器上有足够的空闲空间存储所有的下载文件,因为所有的包都放在tmp文件夹里了。
离线操作系统上的步骤把你的设备插入你的离线操作系统,然后切换到你之前下载了所有包的tmp目录下。
然后,运行下面的命令来安装所有下载好的包。
这个命令将会更新APT数据库,所以APT将会在APT缓冲里找所有需要的包。
注意事项:如果在线和离线操作系统都在同一个局域网中,你可以通过scp或者其他传输应用程序将tmp文件传到离线操作系统中。如果两个操作系统在不同的位置(LCTT译注:意指在不同的局域网),那就使用USB设备来拷贝。
祝你愉快!
via:
作者:SK[3]译者:leemeans校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出











