Для инструмента сборки, который я пишу (для которого я хотел бы реализовать своего рода систему кэширования зависимостей), я хотел бы знать, какие зависимости отсутствуют для пакета .deb,безприбегнув к его установке (возможно) и чтению вывода apt-get, т.е.:Я должен иметь возможность сделать это неинтерактивно в программном обеспечении, это не то, что должен делать человек.
Ручная процедура будет выглядеть примерно так:
dpkg -i something.deb || true
apt-get -f install
В этот момент apt выводит что-то вроде:
The following extra packages will be installed:
ca-certificates git git-man krb5-locales libasn1-8-heimdal libcurl3-gnutls
libedit2 liberror-perl libgssapi-krb5-2 libgssapi3-heimdal
libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal
libhx509-5-heimdal libidn11 libk5crypto3 libkeyutils1 libkrb5-26-heimdal
libkrb5-3 libkrb5support0 libldap-2.4-2 libroken18-heimdal librtmp0
libruby1.9.1 libsasl2-2 libsasl2-modules libsasl2-modules-db
libwind0-heimdal libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6
libxmuu1 libyaml-0-2 openssh-client openssl patch rsync ruby ruby1.9.1 xauth
Я хотел бы надежно получить такой списокбез установки.deb (возможно, потому что я могу удалить пакет после установки и иметь систему, как прежде, в конце концов), но особеннобез необходимости вручную и интерактивно анализировать вывод apt-get для получения списка пакетов.
Для выполнения таких задач я могу использовать apt-get, apt-cache, aptitude или любой другой пакет, доступный в Debian и/или Ubuntu.
решение1
dpkg -I package.deb
Это команда show package info. Вы можете найти зависимости в.