Ou eu estou gravemente errado, ou há algo fundamentalmente errado com apt
tendo 302 dependências + sub-dependências. Como qualquer declaração de distribuição pode ser leve se depender de apt
, então? Pelo menos, no meu laptop, reinstalar apt
não menciona nenhuma dependência, então não tenho certeza de onde você obteve esse número. Eu preparei um script para verificar. No Ubuntu 14.04, eu recebo 24 dependências:
dpkg gcc-4.8-base gcc-4.9-base gnupg gpgv install-info libacl1 libapt-pkg4.12 libattr1 libbz2-1.0 libc6 libgcc1 liblzma5 libpcre3 libreadline6 libselinux1 libstdc++6 libtinfo5 libusb-0.1-4 multiarch-support readline-common tar ubuntu-keyring zlib1g
Eu aprendi sobre apt-rdepends
: link
Eu instalei e executei, filtrou as dependências, classificou e comparou para encontrar a mesma lista que eu obtive com o script. Portanto, posso concluir com segurança que esses são todos os pacotes que você precisa instalar apt
. Eu acho que um desses gcc-4.[89]
pode ser ignorado dependendo de qual você deseja instalar. Note que esta lista foi reduzida do Ubuntu 12.04, na qual executar este script (em um servidor) me deu 28 dependências:
coreutils debconf dpkg gcc-4.6-base gnupg gpgv install-info libacl1 libapt-pkg4.12 libattr1 libbz2-1.0 libc6 libc-bin libgcc1 liblzma5 libreadline6 libselinux1 libstdc++6 libtinfo5 libusb-0.1-4 multiarch-support perl-base readline-common tar tzdata ubuntu-keyring xz-utils zlib1g
Presumivelmente, os pacotes foram reduzidos. A falta de dependência em coreutils
e debconf
é surpreendente, devo dizer.
Em uma nota secundária, concordo com esse bug dado na página apt-rdepends
man:
apt-rdepends exists. This functionality should really reside in apt-
cache itself.
A ferramenta apt-cache
fornece quatro comandos relevantes que Braiam , gramática não ortodoxa e eu tenho discutido:
-
depends
: lista as dependências (avançadas). Isso também inclui todos os pacotes recomendados e também inclui pacotes nas seções Breaks , Conflicts e Substitui . Nós só precisamos olhar para os pacotes Depends e Pre-Depends . -
rdepends
: há um confronto de nomenclatura infeliz comapt-rdepends
. Tanto oapt-rdepends
como o meu script acima verificam as dependências r ecursivamente , enquanto o comandoapt-cache
está procurando r everse dependências - pacotes que dependem do pacote em consideração. Use este comando para verificar possíveis quebras causadas por um pacote, dependendo de uma versão específica do que você está mudando. -
showsrc
: Esse comando fornece informações sobre o pacote de origem que foi usado para construir um pacote. Um único pacote fonte pode ser usado para construir múltiplos pacotes binários - cada um dos quais pode ou não depender dos outros.apt
, por exemplo, depende delibapt-pkg
, mas não delibapt-inst
, os quais são fornecidos peloapt
source package . Use este comando para obter informações sobre outros pacotes que você deve instalar, que podem não ser dependências, mas que podem ser necessários para maior utilidade, -
showpkg
: Este comando, entre outras coisas, lista as dependências reversa e direta. As dependências reversas estão listadas em uma lista simples, mas as mais avançadas são um pouco desordenadas - eu ainda não tenho certeza do que os números significam. Em qualquer caso, os comandos individuaisdepends
erdepends
são mais claros.
Assim, se precisarmos examinar todos os pacotes dos quais um pacote pode depender direta ou indiretamente, apt-rdepends
é o que precisamos.