我在尝试着让我的 Ubuntu 系统保持最新。预期目标是未连接到互联网。我正在尝试从另一台可以访问互联网的计算机获取所有需要的信息。
经过一番研究,我找到了实现这一目标的方法。您能告诉我这是否正确且安全吗?
这是我对 apt-get 过程的理解..
- 首先,我们运行命令'apt-get 更新':这连接到中提到的所有存储库'/etc/apt/sources.list'.. 和, 下载所有 Packages.gz文件如 (in.archive.ubuntu.com/ubuntu/dists/trusty/main/binary-amd64/Packages.gz) &以相似的名称保存它们在下面'/var/lib/apt/列表'(对于上面提到的url,对应的文件是 in.archive.ubuntu.com_ubuntu_dists_trusty_main_binary-amd64_Packages)
- 然后,当我们运行时'apt-get 升级'(或者)'apt-get install pkg_name', 这使用本地元数据检查本地安装的包列表 下载并存储在'/var/lib/apt/列表'。然后从中获取下载网址并要求用户确认下载并安装所需的软件包之前。
这是我让隔离机器保持最新状态的计划。
- 获取要下载的包列表来自'/etc/apt/sources.list'目标机器上的conf文件..
- 下载元数据文件包.gz在另一台机器上..
- 复制这些文件到目标机器的'/var/lib/apt/列表'在适当的文件名下。
- 跑步这'apt-get --print-uris 升级'(或者)'apt-get --print-uris --yes 安装 pkg_name'获取该机器所需的所有软件包的列表。
- 下载这些包再次在第二台机器上。
- 将它们复制到目标机器。
- 跑过'dpkg -i pkg_list'安装所有缺少的软件包。
我能够通过这个过程实现我的目标。
我的问题是:这是正确且可靠的吗?或者有更简单的方法来实现这一目标吗?
兰加拉吉
答案1
这听起来好像可行,但就我个人而言,我只是使用apt-离线。
从联机帮助页:
apt-offline 为基于 Debian 的系统带来了离线包管理功能。它可用于下载软件包及其依赖项,以便稍后在断开连接的计算机上安装(或更新所需)。可以从不同的连接机器下载软件包。
摘自Debian 管理:
使用apt-offline
:
- 您在家中的 Debian 机器上生成签名,并将签名文件保存在可移动介质上
- 现在,您将 USB 记忆棒(带有
apt-offline.txt
签名文件)带到可以运行任何 Linux 版本甚至 Windows 的办公室计算机。 - 在那里,您可以运行
apt-offline
给它签名文件。 apt-offline
将为您生成一个存档文件或包含所有数据的文件夹。该数据可以复制到可移动介质上。可移动介质可以连接回家里断开连接的 Debian 盒子并安装。 (例如“apt-offline install /tmp/apt-offline.zip
”)
答案2
我的机器上曾经有一个“无互联网”更新过程。我就是这样做的:
首先,我apt-get --print-uris update > meta.list
创建了更新系统所需的所有文件的列表。使用wget
,我可以wget -x -i meta.list
在任何其他机器上运行以将元数据下载到 USB 记忆棒上。回到我的机器,我使用 USB 记忆棒(wget -x
创建目录结构)来允许我的系统更新其元数据(USB 记忆棒被配置为本地软件存储库)。为了安装软件包,我生成了需要下载的文件列表 ( apt-get --print-uris upgrade > package.list
),wget
在另一台计算机上再次使用它来将所有软件包下载到我的 USB 记忆棒中,并将该记忆棒放入我的计算机中,然后我可以从本地存储库进行安装。具体细节我不记得了,但基本上就是这样。