apt-cache depends pkgname
mostrará as dependências de um pacote.
Se você quer tudo em um comando, você pode fazer pior que:
apt-get install 'apt-cache depends pkgname | awk '/Depends:/{print$2}''
Existe uma maneira melhor de instalar apenas as dependências necessárias de um pacote, em vez de instalá-lo diretamente com o apt-get (ou qualquer outro frontend do dpkg) e removê-lo imediatamente, deixando de lado suas dependências?
apt-get fornece um comando exatamente para isso ...
apt-get build-dep <package name>
Nas páginas do manual você recebe
build-dep causes apt-get to install/remove packages in an attempt to satisfy the build dependencies for a source package. By default the dependencies are satisfied to build the package natively. If desired a host-architecture can be specified with the --host-architecture option instead.
aptitude permitirá que você especifique uma consulta em vez de um nome de pacote ao instalar. Se você quisesse instalar as dependências do pacote chamado foo
, você pode instalar os pacotes que têm dependência reversa em foo
:
aptitude install '?reverse-depends(foo)'
ou
aptitude install '~Rfoo'
O problema com a instalação de um pacote e sua remoção, é que todos os pacotes que são instalados como dependências serão marcados como "instalados automaticamente" e serão removidos por qualquer ação de instalação / remoção / atualização pelo aptitude ou quando você execute apt-get autoclean
, a menos que você os marque como instalados manualmente usando aptitude mark
ou o comando apt-mark
.
No entanto, isso levanta a questão de por que você gostaria de fazer isso, meu melhor palpite é que você está tentando instalar dependências para algum software que você vai compilar manualmente. Nesse caso, você deve instalar as dependências de compilação primeiro com apt-get build-dep packagename
, mas deve criar um pacote fictício que tenha as dependências de tempo de execução (que geralmente diferem das dependências de compilação) usando o pacote equiv
para construir um fictício pacote com as dependências corretas para o seu programa compilado manualmente. Veja informações sobre equivs
em O APT HOWTO
No caso de construir o pkgname a partir de fontes
apt-get build-dep pkgname
Tags dependencies debian