怎样完整地离线更新并升级基于 Debian 的操作系统
不久之前我已经向你展示了如何在任意离线的 Ubuntu 和 Arch 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 ~/tmpcd ~/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/
怎样完整地离线更新并升级基于 Debian 的操作系统的更多相关文章
- RISC-V工具链环境(基于Debian/Linux操作系统)
		
RISC-V工具链环境(基于Debian/Linux操作系统) 提要 Debian/Linux虚拟机导入 启动虚拟机 SiFive/Nuclei SDK运行指南 Debian/Linux虚拟机存储位置 ...
 - 浅谈Eclipse的更新、升级和MyEclipse插件的安装方法
		
用的是如下图所示的eclipse标准版演示: 先谈下eclipse下安装MyEclipse插件的过程: 第一种方法:通过MyEclipse的存档进行离线更新 1,到MyEclipse官网进入下载页面, ...
 - Nessus离线安装及升级插件
		
最近做客户的内网主机漏洞扫描,申请了一台内网主机做扫描服务器,安装Nessus.由于客户严格限制内网主机不能开通外网访问权限,折腾了一下Nessus离线激活和离线更新漏洞插件,详细过程截图记录. 一. ...
 - Debian 利用 iso 镜像完全离线更新 apt-cdrom
		
1 目的 在日常的 linux 服务器管理中,出于某些考虑,服务器要求与 Internet 完全隔离. 这使得我们对系统的更新和软件包的升级感到无比头疼. 下面介绍的这种方法,采用 ISO 文件,进行 ...
 - Nessus离线安装及升级插件 转
		
修改Nessus Web端口 ./nessuscli fix --set xmlrpc_listen_port=8866 最近做客户的内网主机漏洞扫描,申请了一台内网主机做扫描服务器,安装Nessus ...
 - ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于(Wi-Fi模块AT指令TCP透传方式),MQTT通信控制升级
		
实现功能概要 前面的版本都是,定时访问云端的程序版本,如果版本不一致,然后下载最新的升级文件,实现升级. 这一节,在用户程序里面加入MQTT通信,执行用户程序的时候,通过接收MQTT的升级命令实现升级 ...
 - ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于GPRS模块(Air202,SIM800)AT指令TCP透传方式,MQTT通信控制升级
		
实现功能概要 这节和上一节的功能一样(只不过上节是利用Wi-Fi模块,这节是利用GPRS模块) 用户程序里面加入MQTT通信,执行用户程序的时候, 通过接收MQTT的升级命令实现升级. 凡是可以实现M ...
 - Hybrid设计--离线更新
		
首先server端和前端做一个增量发布系统 ,1.就是把一个增量包发布到一个版本的Native上去,让他做更新.2.后台对这个增量包的到达率或者成功的更新做一个统计.这是比较复杂的. 离线更新的机制: ...
 - Kali更新与升级
		
当用户使用一段时间以后,可能对总是在没有任何变化的系统中工作感到不满,而是渴望能像在Windows系统中一样,不断对自己的Linux进行升级.另外,Linux本身就是一个开放的系统,每天都会有新的软件 ...
 
随机推荐
- IntelliJ IDEA创建maven web项目(IDEA新手适用)
			
步骤一:首先先创建一个project,在这里就是创建一个maven的工作空间 步骤二:按照下面的步骤操作就可以了,最后next 首先,选择左边的maven 然后在右边Creater from ar ...
 - django-后台sms管理系统的css框架
			
地址:https://adminlte.io/ 下载代码.使用index.html的页面及相关文件 通过下在线检查adminlte.io的后台的各种模块元素,仿写.
 - tornado-输出,request
			
3种输出方法:write render redirectimport tornado.ioloop import tornado.web import tornado.httpserver # 非阻塞 ...
 - UVA375
			
题意: 已知等腰三角形的高H,底边长B,这时有一个内切圆C, 以内切圆C和长度为B对应的角的角平分线的交点做切线. 切线与角平分线相交,此时切线,和俩边又会出现一个小的等腰三角形,也有一个小的内切圆C ...
 - restful     注解 总结 (比较完整的):http://www.xuetimes.com/archives/388  ,  https://www.cnblogs.com/chen-lhx/p/5599806.html
			
参考1: http://www.xuetimes.com/archives/388 参考2: https://www.cnblogs.com/chen-lhx/p/5599806.html 参考 ...
 - PHP设计模式:类自动载入、PSR-0规范、链式操作、11种面向对象设计模式实现和使用、OOP的基本原则和自动加载配置
			
一.类自动载入 SPL函数 (standard php librarys) 类自动载入,尽管 __autoload() 函数也能自动加载类和接口,但更建议使用 spl_autoload_registe ...
 - J2SE 8的集合
			
List ArrayList查询效率高LinkedList插入删除效率高 ArrayList ArrayList<String> arrayList = new ArrayList< ...
 - SQL Server 2005 无法连接到WMI提供程序 无法执行 SQL Server 系统配置检查器
			
无法连接到WMI提供程序.你没有权限或者该服务器无法访问/cannot connect to WMI provider. You do not have permission or the--由于计算 ...
 - vim跳转到指定行
			
第一种方法 在编辑模式下(非输入模式)下输入ngg 或者 nGn为指定的行数(如25)25gg或者25G 跳转到第25行. 25gg 第二种方法 在命令模式下输入行号n : n 查看当然光标所在的行和 ...
 - mysql备份和还原命令
			
备份和还原数据库都是在未登录的前提下进行命令操作的: 1.备份表: mysqldump -u root -p dbname table1 table2 > D:\sqlback.sql 2.备份 ...