Para uma ferramenta de construção que estou escrevendo (para a qual gostaria de implementar uma espécie de sistema de cache de dependências), gostaria de saber quais são as dependências ausentes para um pacote .deb,semrecorrendo à instalação (possivelmente) e à leitura da saída do apt-get, ou seja:Devo ser capaz de fazer isso de forma não interativa em um software, não é algo que um ser humano deva fazer
O procedimento manual seria algo como:
dpkg -i something.deb || true
apt-get -f install
Neste ponto, o apt imprime algo como:
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
Eu gostaria de obter essa lista de forma confiávelsem instalaro .deb (possivelmente, porque posso remover o pacote depois de instalado e ter o sistema como antes, afinal) mas principalmentesem a necessidade de analisar manual e interativamente a saída do apt-get para listagem de pacotes.
Posso usar apt-get, apt-cache, aptitude ou qualquer pacote disponível no Debian e/ou Ubuntu para realizar tais tarefas.
Responder1
dpkg -I package.deb
É o comando show package info. Você pode encontrar depende em.