![依赖性无法满足 - 离线 deb 包安装](https://linux22.com/image/827467/%E4%BE%9D%E8%B5%96%E6%80%A7%E6%97%A0%E6%B3%95%E6%BB%A1%E8%B6%B3%20-%20%E7%A6%BB%E7%BA%BF%20deb%20%E5%8C%85%E5%AE%89%E8%A3%85.png)
我有一个新安装,但无法连接互联网。
因为我想添加一些开发软件包,所以我下载了一些 *.deb 文件。问题是,我尝试安装的每个软件包都会出现相同的错误:
"Dependency not satisfiable...."
还下载了该软件的其他版本(deb 文件),但不起作用。
我研究了这里和 Google 上的其他问题,但尚未解决这个问题。
答案1
Synaptic 有一个很有用的功能,可以生成一个脚本来下载所有需要的 .deb 文件。不幸的是,Synaptic 不再默认安装在 Ubuntu 中,所以我的回答将分为两部分。
如何在离线计算机上安装 Synaptic:
您需要在联网的计算机上下载这些软件包:
- 突触
- libept1.4.12
- libvte-通用
- libvte9
为此,请打开浏览器http://packages.ubuntu.com。搜索适用于您的 Ubuntu 版本的软件包名称,单击相关搜索结果,单击您的体系结构(32 位为 i386,64 位为 amd64)并选择镜像。对每个所需软件包重复此操作。
保存所有 .deb 文件后,将文件移至离线计算机,然后在 Ubuntu 软件中心打开它们并按相反顺序逐个安装它们。
如果你查看 synaptic 依赖项,你会发现它有比我列出的更多的依赖项。我只列出了典型的 Ubuntu 12.10 桌面安装中缺少的依赖项。
如何在离线计算机上安装特定包:
此时,您已经在在线和离线机器上安装了 Synaptic。
在离线计算机中:
- 打开 Synaptic。
- 找到要安装的软件包,然后勾选复选框。如果 Synaptic 要求您确认是否还要安装依赖项,请接受确认。
- 点击“文件”、“生成包下载脚本”。
- 将脚本保存在 USB 记忆棒上。
将 USB 连接到运行 Ubuntu 的在线计算机。在线计算机上:
- 打开终端并导航到 USB 记忆棒目录。
- 运行脚本。它将把所有需要的 .deb 文件下载到 USB 驱动器。
- 安全弹出 USB 记忆棒。
在离线计算机上,插入 USB 记忆棒。
- 打开 Synaptic。
- 点击“文件”、“添加下载的包”。
- 导航到 USB 记忆棒。
- 点击“应用”。
(这假定您想要安装“主”存储库中的软件包。如果您的软件包位于“universe”存储库中,则您需要sudo apt-get update
在过去的某个时间点连接到 Internet 时运行。安装程序将自动为您执行此操作。)
答案2
我知道你可以在另一台计算机上安装应用程序,然后将所有 deb 包复制到没有互联网访问的计算机上。deb 通常位于 '/var/cache/apt/archives' 中
答案3
软件包可以依赖其他软件包。为了仅通过提供.deb
软件包文件来安装某个软件包,您还需要提供它所依赖的软件包(以及它们所依赖的软件包等)。
因此,我建议你尝试安装的任何内容都有其自己的依赖项,但你没有满足这些依赖项。据我所知,只有两种解决方案:
继续回到互联网连接,一次下载一个依赖项,安装并重试。
只需将电脑连接到互联网,两分钟内即可安装软件。您可以抱怨这很难,但相信我,这比手动寻找依赖项要容易得多。