我正在尝试使用 apt-get 在离线系统上安装一些软件包。
我有一个运行 Debian 的小型 ARM 嵌入式系统。它没有连接到互联网。我想使用 apt-get 从另一台连接到互联网的 Linux 机器上下载一些 Debian 软件包。
这里面有几个方面:
(1)我想要从 ARM 架构 Debian(Jessie)存储库下载。
(2)我想从我的 x86 Linux 系统上执行此操作。
(3) 我想将这些包保存在我选择的目录中(我不希望它们与我的默认包缓存混合在一起),然后将这些文件移动到我的 Debian ARM 系统。
我该怎么做呢?
<<
答案1
首先必须注意的是,你希望做的事情是完全不推荐的。原因是你需要的包可能需要更新或新安装额外的文件(也称为依赖项)才能正常工作。
apt-get 的全部意义在于它是一个包管理器。换句话说,它故意将软件包(及其依赖项)精确地混合到它们应该在本地计算机上正确运行的位置。这是 Linux 与 Windows 运行方式不同的核心方式。
此外,由于您的主机是 x86 而离线机器是 arm64,因此您在使用主机的正确安装方法时可能会遇到另一个潜在问题。
为了实现您的愿望,您需要使用另一种方法,但这可能会带来问题。请注意。
其中一种方法是将其保存到 USB 中,然后放入另一个设备。
由于您明确要求使用 Debian Jessie 和 ARM 架构,因此以下内容应该适合您。前往Debian Jessie arm64 软件包浏览完整的软件包列表(或在这里搜索)。当您找到所需的软件包时,其列表底部将有一个指向所有可用体系结构的链接。如果您使用我提供的浏览链接,它将仅显示 arm64 软件包。
请注意,在这里您将看到所有依赖项,并开始欣赏 apt-get 的强大功能。如果您的离线计算机缺少甚至一个这些依赖项会导致安装失败。获取适当的依赖项可能会变成兔子踪迹。
假设您已经拥有所需的依赖项,或者您住在一个魔法围墙花园中:
单击 arm64 >> 然后单击离您最近的镜像站点 >> 保存到您想要的位置。
您可以将包传输到离线机器。要从终端安装到该机器$ dpkg -i <your_file.deb>
,您需要可以一切就绪。此时,如果缺少任何依赖项,您可能会遇到问题。如果您仍想继续,则需要执行“强制安装”。