如何在没有互联网的情况下在 Debian 上安装软件包(不使用 apt-get)?我想将其下载到 USB 上并使用终端从 USB 安装。
答案1
查看apt-离线包裹。它是这样的:
在家里的 Disconnected Debian 盒子上生成签名文件:
apt-offline set /tmp/apt-offline.sig
根据前面生成的签名文件下载数据
apt-offline get C:\apt-offline.sig --threads 5
一旦你回到家用 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 存储库(以及其他存储库)镜像到网络上的本地服务器,然后使用该服务器作为端点计算机引用的存储库。这在其他方面也很有帮助,因为它可以允许您创建通常使用的软件存储库,这些软件可能不在常见的存储库中,并且可以暂存部署更新(通过测试和生产存储库)。
鱿鱼缓存代理是实现此目的的最简单方法之一。