Проверка зависимостей deb от текущей системы

Я знаю, что могу перечислить .debзависимости с использованием dpkg --info, но есть ли какой-либо автоматизированный способ проверки этих зависимостей от текущей системы? Что меня интересует, так это статус: будет ли пакет установлен корректно или же он выйдет из строя.

2 ответа

Решение

Согласно инструкции: dpkg -i --force-bad-path --dry-run foo.deb, Тем не менее, это не работает, ошибка была подана около 10 лет назад.

Есть соответствующая опция в apt-get а также aptitude, но это относится только к пакетам, полученным через apt.

Вот способ, который очень хакерский, но работает, вроде.

Убедитесь, что вы не root, или вы рискуете перезаписать некоторые системные файлы.
Создайте временный каталог и измените его.

mkdir root
cp -as /var/lib/dpkg .
rm dpkg/lock dpkg/triggers/Lock
fakeroot dpkg --force-not-root --force-bad-path --admindir=dpkg --instdir=root --log=log -i mypackage.deb

Это распакует пакет, а затем будет жаловаться на любые недостающие зависимости от stderr. Вероятно, он вернет ненулевой статус, даже если отсутствуют отсутствующие зависимости из-за сбоя postinst скрипт.

Я не пробовал с пакетом, который имеет preinst сценарий, возможно, что dpkg сдастся перед проверкой зависимостей.

Другие вопросы по тегам