Назад | Перейти на главную страницу

Как проверить зависимость пакета debian?

Перед установкой пакета 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 и попытается обработать зависимости за вас.