如果没有互联网连接,apt-get 就无法工作。如何解决这个问题?

如果没有互联网连接,apt-get 就无法工作。如何解决这个问题?

我有一台主机,该主机有防火墙,以至于 apt-get 无法下载软件包。该主机无法访问代理。

我知道在 gentoo 中我可以通过使用第二台主机获取必要的文件并将文件放在 /usr/portage/distfiles 中来解决该问题。

Ubuntu 是否有类似的地方可以让我存储文件以解决缺乏互联网访问的问题?

答案1

一种方法是使用apt-offline。您可以下载软件包这里(确保您也获取了依赖项)并安装

sudo dpkg -i apt-offline_1.3.1_all.deb

安装完成后运行

sudo apt-offline set mypackages.sig --install-packages your_packages (you can also use `--upgrade` for a full upgrade, see `man apt-offline` for more details).

然后,获取刚刚生成的文件 ( mypackages.sig),并运行

sudo apt-offline get mypackages.sig --no-checksum --bundle mypackages.zip

现在,返回到防火墙系统进行安装:

unzip  mypackages.zip 

这将生成一个.deb文件列表,您可以使用 手动安装这些文件dpkg -i *.deb

我还发现了一种叫做凯瑞克斯值得一看的是:

Keryx 是一款免费的开源应用程序,用于更新 Linux。Keryx 项目最初是为使用拨号或低带宽互联网的用户提供一种方式,使他们能够下载和更新基于 Debian 的 Linux 发行版上的软件包。Keryx 主要为 Ubuntu 构建,它允许用户选择要安装的软件包、检查更新并将这些软件包下载到 USB 便携式存储设备上。这些软件包被保存到设备上,然后被带回到它起源的 Linux 机器上,然后进行安装。

最后,您还可以使用apt-get其他系统手动完成所有操作:

sudo apt-get update --print-uris -y | sed "s/'//g" | cut -d ' ' -f 1,2 | 
  while read url target; do wget $url -O ./$target; done 

上述命令将下载.deb安装软件包所需的所有文件。请参阅我的回答这里了解其工作原理的更多细节。

参考

答案2

根据 terdon 链接的答案,我能够推导出以下步骤。

使用第二台主机来获取第一台主机无法下载的.deb 文件。

将这些 .deb 文件复制到防火墙主机。然后

dpkg -i *whatever*.deb

哇喔,现在我拥有了我需要的软件。

我不确定跳过所有的离线体操我会错过什么。

答案3

您可以使用立方体

异次元杀阵(2013)是一个便携式软件包管理器(如 Synaptic 和 Ubuntu 软件中心),可以在任何平台(Windows、基于 Apt 的 Linux 发行版)上使用和运行,在线和离线,在闪存驱动器或任何可移动设备中。它使您能够在任何计算机上下载 Linux 应用程序,并将其安装回您的原始计算机。它的开发旨在希望它对离线 Linux 用户社区有用,并使 Linux 应用程序更易于下载和安装。

您还可以查看其分步指南这里

相关内容