专栏首页Debian中国如何离线更新基于 Debian 的系统

如何离线更新基于 Debian 的系统

本文我们将介绍如何对离线的系统进行升级或者更新,本方法对基于 Debian 的系统均有效。这一次我们会更新、升级整个操作系统。这个方法在你的主机没有网络连接,或者网络速度很慢时,十分有用。

离线更新基于 Debian 的操作系统

我们假设你在单位或者主机服务商处,有一台正在运行,并配置有高速互联网链接的系统,Windows 或者 Linux均可,而在家有一个没有网络连接或网络很慢的 Debian 操作系统。现在你想要快速更新家里的Debian系统,怎么办?是否需要购买一个更加高速的网络?当然不需要!你可以通过本文介绍的离线更新方法来升级你的操作系统。这正是 apt-offline工具可以做的。

正如其名,apt-offline 是一个为 Debian 及其衍生发行版(诸如 Ubuntu、Linux Mint 这样基于 APT 的操作系统)提供的离线状态下 APT 包管理器。使用 apt-offline,我们可以在离线状态下完整地更新、升级我们的 Debian 系统。这个程序是用 Python 开发的兼具 CLI 和图形界面的跨平台工具。

准备工作

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

安装配置 apt-offline

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

sudo apt-get install apt-offline

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

(adsbygoogle = window.adsbygoogle || []).push({});

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 或者外接硬盘上并且返回你的离线系统。需要确保你的 USB 驱动器上有足够的空闲空间存储所有的下载文件,因为所有的包都放在 tmp 文件夹里。

离线操作系统上的步骤

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

cd tmp/

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

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

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

注意: 如果在线和离线系统可以相互访问到,你可以通过 scp 或者其他传输应用程序将 tmp 文件传到离线操作系统中。如果两个操作系统无法相互访问,还是用外置存储比如 USB 来拷贝吧。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Raspbian 新版发布,基于 Debian 的 Linux 系统

    Raspbian 20171129 已发布,Raspbian 是基于 Debian GNU/Linux 的免费操作系统,它面向 Raspberry Pi 硬件(...

    Debian社区
  • Debian Linux下LNMP环境配置

    昨天刚给公司服务器装了LNMP服务器环境,在这里简单记录一下过程备忘。这里我在安装的时候是用的Dotdeb源,仅供参考。

    Debian社区
  • Harbor 1.9 发布:新增多项企业级功能

    Harbor 1.9 发布了,此版本新功能众多,包括 tag 保留和配额、可与 CI/CD 工具集成的 Webhook 通知、数据复制、Syslog 集成以及 ...

    Debian社区
  • UVAlive 3708 Graveyard(最优化问题)

    题目描述: 在周长10000的圆上,初始等距的放置着n个雕塑,现在新加入m个雕塑,要使得这n+m个雕塑仍然等距,问原来n个雕塑要移动的距离总和的最小值. 原...

    Angel_Kitty
  • OpenCV图像处理专栏七 | 《Contrast image correction method》 论文阅读及代码实现

    这是OpenCV图像处理专栏的第七篇文章,这篇文章是在之前的推文 OpenCV图像处理专栏二 |《Local Color Correction 》论文阅读及C+...

    BBuf
  • Python3.7安装pyspider

    pyspider是国人binux编写的强大的网络爬虫框架,它带有强大的WebUI、脚本编辑器、任务监控器、项目管理器以及结果处理器,同时支持多种数据库后端、多种...

    不可言诉的深渊
  • Nodejs笔记(一)

    我是攻城师
  • 图解面试题:多表如何查询?

    查询结果的列名“学号”、“姓名”,在“学生”表里,列名“课程”、“成绩”在“成绩”表里,所以需要进行多表查询。

    猴子聊数据分析
  • Flash性能分析与调试工具

    flash player(非debugger)版本:http://get.adobe.com/cn/flashplayer/

    meteoric
  • 用Visio画UML图可以吗

    我们团队以前需要画图的时候都用Visio,我看里面也有UML图,用Visio画UML图可以吗?

    用户6288414

扫码关注云+社区

领取腾讯云代金券