在安装 Debian 软件包之前,我想检查当前系统是否安装了所有依赖软件包。下面是我目前正在做的事情(以 bsdgames 为例)。请注意,我不想自动安装依赖项。我只是想知道当前系统是否满足依赖项。在您尝试回答我的问题或将其标记为重复之前,请至少仔细阅读。谢谢。
$ dpkg -I bsdgames_2.17-21_amd64.deb | grep Depends
Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libncurses5 (>= 5.5-5~), libstdc++6 (>= 4.1.1), libtinfo5, wamerican | wordlist
$ apt-cache policy libc6 | grep Installed
Installed: 2.15-0ubuntu10.5
$ apt-cache policy libgcc1 | grep Installed
Installed: 1:4.6.3-1ubuntu5
...
$ apt-cache policy wamerican | grep Installed
$ apt-cache policy wordlist | grep Installed
然后我知道缺少两个依赖项,无法安装该包。
但我必须手动完成此过程,有没有自动命令可以检查?
谢谢您的帮助。
答案1
一个简单的做法可能是运行这样的模拟命令。
apt-get --simulate install task-kde-desktop
运行该命令时,您可能会得到一长串除主软件包之外还将安装的软件包。这些将是依赖项。
因此,如果我尝试安装 task-kde-desktop,这将为我提供将作为依赖项安装的所有软件包的列表。
apt-get --simulate install task-kde-desktop | awk '/^Inst / {print $2}' | grep -v 'task-kde-desktop'
由于您正在尝试直接安装 dpkg 文件,您可能需要查看安装和使用格德比工具。Gdebi(男人)基本上将安装一个 dpkg 并尝试为您处理依赖项。