Respostas:
apt-get e aptitude são UIs diferentes que fazem parte do mesmo sistema de gerenciamento de pacotes, o APT, a Advanced Packaging Tool . Por exemplo, ambos são configurados usando /etc/apt/apt.conf
, ambos usam o mesmo espaço no arquivo e formatos para representar o estado do pacote e o mesmo espaço no arquivo para armazenar .debs baixados.
Como eles diferem é o sistema de regras interno para representar possíveis conflitos entre pacotes, como resolvê-los (digamos durante apt-get dist-upgrade
vs. aptitude full-upgrade
) e como expressá-los ao interagir com o usuário. De um modo geral, ambos podem fazer a coisa errada em situações difíceis, mas o apt-get tem muito mais probabilidade de errar do que o aptitude.
Muitos bons conselhos já estão aqui, mas deixe-me acrescentar uma coisa que ninguém mencionou. Se você decidir mudar, convém executar este comando, dependendo do que estiver fazendo apt-get
:
aptitude keep-all
Esse comando redefine aptitude
o senso de quais pacotes são órfãos e devem ser removidos.
Aqui está a razão às vezes é útil: por algum tempo agora, tanto apt-get
e aptitude
vai rastrear pacotes que foram instalados automaticamente como uma dependência de outra coisa. Portanto, por exemplo, se você instalar mpd
, poderá ter lib-so-and-so
uma dependência. Eles fazem isso, para que, se você remover mais tarde mpd
, também lib-so-and-so
seja removido. Mas aptitude
e apt-get
lide com isso de maneira diferente. aptitude
imediatamente tenta remover todas as dependências órfãs; mas apt-get
apenas sugere que você corra apt-get autoremove
para limpar. (A lógica por trás de tudo isso é que você só tem a biblioteca desde mpd
precisava. Se você não se mantiver mpd
, você não deve precisar a biblioteca por mais tempo. Se outro pacote ainda depende dele, então ambos aptitude
eapt-get
saberá disso e não tentará remover a biblioteca.)
Qual é o meu ponto? Bem, se você estiver vendo constantes cutucadas para executar apt-get autoremove
e mudar aptitude
, poderá ficar em choque na primeira vez que tentar instalar algo. aptitude
imediatamente tentará remover todos esses órfãos. Em geral, tudo ficará bem (afinal, eles são órfãos e não são necessários), mas há um caso complicador. Os meta-pacotes da área de trabalho envolvem uma cadeia de dependência complexa na qual cada programa individual é extraído como uma dependência de um wrapper de pacote virtual. Por exemplo, se você possui o Gnome instalado porque instalou o gnome
pacote, todos os seus programas normais da área de trabalho foram instalados como dependências. Se você desinstalou um único desses programas (por exemplo, Ekiga ou Gedit), então aos olhos deaptitude
o restante da área de trabalho também deve ser removido. Observe que aptitude
sempre pergunta antes de remover as coisas, mas as pessoas geralmente inserem 'Y' sem ler. Na minha experiência, esta é a reclamação / confusão mais comum para pessoas novas no Debian.
Dois conselhos gerais:
aptitude
ou apt-get
cuidadosamente, antes de dizer sim a qualquer coisa.aptitude -s safe-upgrade
ou aptitude -s install foo
. A -s|--simulate
bandeira é sua amiga.Foi dito na lista de discussão Debian, anos atrás, que mudar de apt-get para aptitude era arriscado. Esta é duas versões do Debian (digamos 10 anos) atrás. Todos esses problemas parecem estar resolvidos agora, e certamente não vi problemas no Debian ou no Ubuntu.
apt-get
para aptitude
. Naquela época, eles lidavam com muitas funções essenciais de maneira muito diferente. Com o tempo, eles se tornaram muito mais parecidos e aptitude
amadureceram uma tonelada. Para 90% dos casos agora, não deve haver problemas se você alternar. Veja o meu post para um caso de borda.
Eu também diria que vá em frente e use aptitude
.
Aptitude
tem um gerenciamento de dependência melhor que apt-get
. Isso ajudará a manter baixa a contagem de pacotes órfãos.
Eu li há um tempo atrás que aptitude
tem o melhor algoritmo dist upgrade comparado ao apt-get
. Mas isso dificilmente é um recurso matador, pois não é usado com frequência na vida útil de um sistema.
Além disso, você terá mais coisas unidas em uma ferramenta. Ao invés de se lembrar quando a chamada apt-get
, apt-cache
ou dpkg
e com o qual muda Eu simplesmente usar o aptitude e obter a maioria das coisas.
Quanto às complicações ao mudar "no meio": não me lembro de ter tido nenhuma quando o fiz.
Eles não são apenas uma interface diferente para o mesmo back-end?
aptitude
é uma interface mais característica ...
dpkg
. mas dpkg
apenas instala os pacotes; são os front-ends responsáveis pela pesquisa, resolução de dependências e download.
Pela minha experiência, eles têm uma maneira diferente de fixar versões de pacotes. No meu caso, eu disse ao aptitude para bloquear certos pacotes, assumindo que estaria a salvo de futuras atualizações. Eu estava errado; o gerenciador de atualizações agendado com cron, que usa o apt-get, prossegue para atualizá-lo para minha consternação.
Drats, enquanto escrevia isso, pesquisei no Google e descobri que o bug (o número 557580 do aptitude não obedece a pinos nas preferências.d / *) já estava corrigido!
Eu uso o apt-get e o aptitude sem nenhum problema: tenho a mesma pergunta ... Por que as pessoas dizem isso ??? : D
Continue e não se preocupe: o aptitude é apenas um gui de texto para o apt-get, que você pode usar como aplicativo de linha de comando, por exemplo, apt-get install foo
é o mesmo que aptitude install foo
.
Saudações
apt-get
também oferecem a remoção automática de pacotes instalados apenas como dependências. A diferença restante nesse aspecto é que aptitude
remove instantaneamente as dependências (conforme apropriado), mas apt-get
apenas o estimula a executar o comando apt-get autoremove
. Mas os dois rastreiam dependências da mesma maneira agora. Eles ainda diferem, no entanto, ao lidar com dependências complexas e casos extremos (instalações ou remoções muito complicadas), mas para a maioria das pessoas e a maioria das situações, elas funcionam da mesma maneira agora.
aptitude
irá removê-los imediatamente, masapt-get
só irá pedir-lhe para removê-los, digitando o comandoapt-get autoremove
. Em geral, eles desejam remover os mesmos itens. Veja este link, no entanto, para um caso complexo em que eles discordaram disso: forums.debian.net/viewtopic.php?f=10&t=49589&start=0