如何在没有网络的情况下安装软件包

如何在没有网络的情况下安装软件包

如何在没有互联网的情况下在 Debian 上安装软件包(不使用 apt-get)?我想将其下载到 USB 上并使用终端从 USB 安装。

答案1

查看apt-离线包裹。它是这样的:

  1. 在家里的 Disconnected Debian 盒子上生成签名文件:

    apt-offline set /tmp/apt-offline.sig
    
  2. 根据前面生成的签名文件下载数据

    apt-offline get C:\apt-offline.sig --threads 5
    
  3. 一旦你回到家用 Debian 机器,你就可以将可移动介质中的数据提供给 apt-offline:

    apt-offline install /media/USB/apt-offline.zip
    

答案2

安装包

USB 的路径位于 中/media,因此您必须在那里搜索路径是什么。一旦你有了它,你就可以执行:

sudo dpkg -i /path/to/your/usb/device/DEB_PACKAGE

或者如果您与包位于同一个 USB 文件夹中,则只需这样:

sudo dpkg -i DEB_PACKAGE

例如,如果包文件名为 a_debian_package_2.0.deb 那么你应该这样做

sudo dpkg -i a_debian_package_2.0.deb

如果 dpkg 由于依赖关系问题报告错误,则必须在安装包之前以相同的方式安装这些依赖关系。

您可以阅读有关此内容的更多信息这个 AskUbuntu 答案

答案3

由于缺乏互联网,它的设置不是很好,在某些 BSD 中,您可以执行“make fetchlist”,它会给您一个需要下载才能安装的文件列表(和 URL?)。

Aptitude 也可以这样做,但在 Synaptic 中,您可以选择要安装的东西,它还会自动包含所需的依赖项。然后执行“文件”->“生成包下载脚本”,它将输出一个为每个文件调用 wget 的脚本。相应的项目是“文件”->“添加下载的包”,它会提示输入文件所在的目录,然后正确安装它们,就像您在线一样。

您需要以某种方式获取文件列表(apt-get update)并安装 Synaptic,之后就非常简单了。您在 Synaptic 中制作下载脚本并将它们放在 USB 记忆棒之类的东西上,将其带到在线计算机(需要有 wget)并进行下载,然后将 USB 记忆棒带回来并让 Synaptic 进行安装。您可以执行 dpkg -i 但它很混乱,因为它无法获得正确的顺序。您可以使用 apt-get -f install 进行修复(无任何操作)。

如果你真的有必要,你可以通过去类似的地方手动引导https://packages.debian.org/stable/并手动下载,但不知道要下载什么是很痛苦的。 Synaptic 和 aptitude 与其他软件包一样只是软件包,但 Synaptic 特别要求您启动并运行 xorg。

需要记住的一件事是,这与 Windows 不同。如果您有一台与您想要在家里安装的设备类似的联网机器,您可以将硬盘驱动器(或 SD 卡)连接到连接的机器上,在其上安装 Debian,将其带回家并插入,它将启动。视频设备、鼠标、键盘等可能不同,但它应该启动到命令行,您可以从那里开始工作。它们需要具有相同的架构(x86 与arm 等)。

答案4

您需要下载与您的包相关的 .deb 文件(以及它可能需要的任何依赖项),并使用闪存驱动器(或网络共享 - 无论有效)将它们移至该计算机。

您可以使用 直接安装 .deb 文件dpkg。例如dpkg -i packagefoo.deb将安装该软件包。但是,dpkg 不会爬行其依赖项(因为没有可遍历的存储库)。因此,您需要以相同的方式安装它们。

或者,有一些方法可以将 Debian 存储库(以及其他存储库)镜像到网络上的本地服务器,然后使用该服务器作为端点计算机引用的存储库。这在其他方面也很有帮助,因为它可以允许您创建通常使用的软件存储库,这些软件可能不在常见的存储库中,并且可以暂存部署更新(通过测试和生产存储库)。

鱿鱼缓存代理是实现此目的的最简单方法之一。

相关内容