Algum tempo atrás, li que essa aptitude
é a ferramenta preferida para instalação em sistemas baseados no Debian. Mas quando você pesquisa sobre como administrar um sistema baseado no Debian, a aptidão raramente é mencionada. A maioria das pessoas parece preferir apt-get
- e isso é verdade para as páginas wiki do Debian!
Assim, estou me perguntando se perdi alguma coisa. Qual é a ferramenta certa para usar?
aptitude
por padrão.apt-get source package-name
vai fazer isso, mas eu não vi nenhum equivalente de aptidãoaptitude search package-name
funciona com aptidão. Outra éaptitude why package-name
também é útil, mas não éapt-get
. Eu também acho que a linha de comandoaptitude
é um pouco limpa em comparação comapt-get
. Mas como você notou, existemaptitude build-dep package-name
mas nãoaptitude source package-name
.Respostas:
aptitude
eapt-get
funcionam da mesma maneira para muitas tarefas, mas para os casos mais complicados, como atualizações de distribuição (apt-get dist-upgrade
vs.aptitude full-upgrade
), eles têm regras diferentes, e as regras do aptitude são quase sempre melhores na prática onde não concordam.O motivo pelo qual você vê mais documentação para
apt-get
excessoaptitude
é principalmente a inércia:aptitude
não tem sido o front end recomendado para o APT por tanto tempo, grande parte da documentação existente não foi atualizada e há muitas pessoas que reconhecem as vantagens doaptitude
excessoapt-get
mas useapt-get
reflexivamente.Recentemente, cheguei ao ponto em que geralmente sigo
apt
comi
e não-
quando digito.Postscript Observe que as regras usadas
apt-get
eaptitude
estão movendo os alvos - como Hubert observa nos comentários, o caminho de atualização recomendado pelo Debian Lenny agora usaapt-get
, nãoaptitude
. Isso reflete o fato deapt-get
controlar menos estado sobre o pacote atualaptitude
e, portanto, não precisa se preocupar com o estado do APT não estar "limpo", e porque asapt-get
regras são mais inteligentes do que costumavam ser. Eu ainda uso e recomendoaptitude
maisapt-get
, mas é uma recomendação mais nuançadafonte
apt-get
tem a vantagem de ser mais eficiente em termos de memória. É improvável que isso seja perceptível para a maioria dos usuários; Eu não estava realmente ciente disso até tentar atualizar os pacotes em uma instalação completa do Debian com 32 MB de RAM.aptitude
acabou trocando trocas por cerca de uma hora por corrida; O apt-get foi significativamente mais rápido.aptitude
a atualização do Lenny apesar de ter sido apoiado por atualizações anteriores, então eu não acho que é apenas a inércia ...apt-get
quase sempre gera erros (experiência do servidor Ubuntu 12.10, 14.04) enquantoaptitude
pode realmente fazer alguma coisa. Ainda não entendo como o apt-get ainda existe.aptitude
torna conveniente mostrar quais programas em uma pesquisa você já instalou no sistema (com a ajuda degrep
):Na verdade,
aptitude
a pesquisa é muito mais poderosa do que a que você realizagrep
, pois suporta a pesquisa contextual:por exemplo, isso encontra todos os pacotes com 'flash' no nome do pacote que está instalado:
Uma "forma longa" equivalente da "forma curta"
~i
:Observe que os padrões de pesquisa são gratuitos (sem ancoragem) por padrão. Para ancorá-los, você precisa usar padrões de âncora '
^
' (início da sequência) e / ou '$
' (final da sequência).Para encontrar todos os pacotes cujos nomes começam com 'ttf' ou 'font':
(Nota: esta é uma solução alternativa para um bug
aptitude
, pois o regex correto de'^(ttf|font)'
não funciona corretamente - ele encontra pacotes cujos nomes começam com 'ttf' ou contêm 'font'.)Outras
aptitude
características bacanas :Mostre todos os pacotes com 'firmware' em seu nome que TAMBÉM tenham 'wireless' em sua descrição:
ou forma longa:
(Nota: no formato abreviado, argumentos delimitados por espaço são ANDed entre aspas; se passados como argumentos separados da linha de comandos argv [], eles são ORed.)
~U
mostra todos os pacotes que são atualizáveis a partir de suas versões atuais com novas versões:Mostrar pacotes que recomendam 'gcc-multilib'
Explique por que 'fuse-utils' pode precisar ser instalado
(Este exemplo mostra algumas das loucuras resultantes do padrão desde o Squeeze (?) De instalar todos os pacotes "Recomendados". A instalação do gnome-terminal acaba instalando ntfsprogs e fuse-utils, por exemplo! Acho que a maioria das pessoas só quer a perspectiva do terminal e não a integração NTFS interna, que é opcional, a menos que eles a especifiquem.)
Encontre todos os pacotes que fornecem o serviço "mail-transport-agent":
Mostre todos os nomes de pacotes que estão instalados, que não são essenciais ou instalados automaticamente por dependências:
Infelizmente, esse material é pouco documentado e difícil de encontrar, mas aqui está a melhor referência (do mantenedor do 'aptitude').
fonte
apt-get
viaapt-cache search NAME
De acordo com as Perguntas frequentes do Debian GNU / Linux sobre gerenciamento de pacotes , o aptitude é mais complexo que o apt-get e depende das ferramentas menos complexas de gerenciamento de pacotes apt-get e dpkg.
Portanto, para necessidades mais simples, você pode usar as ferramentas mais simples, enquanto que para necessidades mais complexas, você pode contar com a ferramenta mais sofisticada (apitude).
Citado na FAQ do Debian: "o aptitude fornece a funcionalidade do dselect e do apt-get, bem como muitos recursos adicionais não encontrados em nenhum dos programas."
fonte
O aptitude marca pacotes que foram instalados por causa de uma dependência com a tag auto. Se você limpar ou remover um pacote agora, o aptitude removerá automaticamente os pacotes instalados automaticamente que não são mais usados junto com o pacote que você deseja limpar ou remover.
Esta é a principal razão pela qual eu pessoalmente acho que a aptidão é sempre melhor do que a aptidão.
fonte
apt-get
faz isso também, comapt-get autoremove <package-name>
. Ambosapt-get
eaptitude
marcar pacotes instalados de autoaptitude
limpe os pacotes automáticos sempre que usados. Enquantoapt-get
você precisa iniciar isso explícito.Não existe uma ferramenta certa, você pode misturar e combinar as duas, dependendo da que achar mais conveniente para a tarefa em questão. O aptitude é uma ótima ferramenta para testar / sid usuários, mas tende a ser menos confiável para fazer dist-upgrade de um estável para o próximo. Veja meu artigo apt-get, aptitude, ... escolher o gerenciador de pacotes certo para você .
fonte