Перед установкой пакета 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
Тогда я знаю, что отсутствуют две зависимости, и пакет не может быть установлен.
Но мне нужно проделать эту процедуру вручную, есть ли автоматическая команда для проверки?
Спасибо за помощь.
Самым простым может быть выполнение такой команды моделирования.
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 и попытается обработать зависимости за вас.