Questão O aptitude ainda é considerado superior ao apt-get?


Quando eu comecei com o Ubuntu usando aptitude foi o 'in-thing', com algumas melhorias declaradas apt-get. Estou correto em dizer isso apt-get agora "pegou" com aptitude, e faz pouca diferença que é usado (embora seja preferível escolher um ou outro, e ficar com ele)?

Além disso, com aptitude definido para ser removido de uma instalação padrão do Ubuntu, todos devem reverter para apt-get, especialmente ao orientar novos usuários interessados ​​no CLI?


183


origem




Respostas:


Até onde posso ver, em 10.04, as principais diferenças entre o aptitude e apt-get são:

  1. aptitude adiciona sinalizadores explícitos por pacote, indicando se pacote foi instalado automaticamente para satisfazer uma dependência: você pode manipular essas bandeiras (aptitude markauto ou aptitude unmarkauto) para mudar o modo como o aptitude trata o pacote.

    apt-get mantém o controle da mesma informação, mas não mostrará explicitamente. apt-mark pode ser usado para manipular as bandeiras.

  2. aptitude oferecerá para remover pacotes não utilizados toda vez que você remover um pacote instalado, enquanto apt-get só vai fazer isso se explicitamente pediu para com apt-get autoremove ou especifique --auto-remove.

  3. aptitude atua como um único front-end de linha de comando para a maioria dos funcionalidades em ambos apt-get e apt-cache. Nota: A partir de 16.04, há um apt comando que inclui os comandos mais usados ​​de apt-get e apt-cache e alguns recursos extras.

  4. Em contraste com apt-cache"search", aptitudesaída de "pesquisa" também mostra o status instalado / removido / purgado de um pacote (mais os próprios flags de status do aptitude). Além disso, as marcas de saída "instalar" quais pacotes estão sendo instalados para satisfazer uma dependência, e que estão sendo removidos porque não utilizados.

  5. aptitude tem uma interface de usuário interativa (somente texto).

Eu pessoalmente uso apenas aptitude para o meu pacote de linha de comando gerenciamento (e nunca uso o texto da interface do usuário); Eu acho sua saída mais legível do que apt-get/apt-cache.

No entanto, se aptitude deixará de ser padrão no Ubuntu, não há nenhuma outra escolha do que usar apt-get em instruções e instruções documentos.

(Pessoalmente, estou um pouco desapontado ao ver isso ir embora em 10.10; especialmente desde que as melhorias de aptidão sobre apt-get estamos principalmente no lado da usabilidade. Eu acho que eles consideraram que aqueles familiarizado com a linha de comando sabe como recuperar o aptitude, e aqueles que não usam a linha de comando não se importarão ...)


129



O aptitude pesquisa os nomes dos pacotes, apt-cache no nome do pacote + descrição (Nós apenas teremos que começar cada howto com sudo apt-get install aptitude) - LassePoulsen
2. No entanto o apt-get irá dizer-lhe que existem pacotes não utilizados e que você pode removê-los com apt-get autoremove. - sepp2k
Uma das desvantagens do aptitude é a incapacidade de considerar fixar como feito pelo apt-get - txwikinger
Aptidão lê corretamente /etc/apt/preferences (e o alfinete aí), mas atualmente ignora /etc/apt/preferences.d/. É um bug conhecido então há esperança de que seja corrigido em breve. - Riccardo Murri
Aptitude tem uma opção para recuperar o changelog facilmente: aptitude changelog package-name. Eu não estou ciente de tal recurso em apt-get. - Lekensteyn


Eu acho que é uma questão de escolha pessoal até agora. Eu acho digitando aptitude search faz mais sentido para mim do que apt-cache search, e eu gosto que ele me diga quais pacotes eu instalei ali mesmo no resultado da busca, ao invés de ter que rodar dpkg -l.


20



+1 Concordou em ver se um aplicativo está instalado enquanto a pesquisa é muito útil. Embora eu ache que a pesquisa do apt-cache é muito mais rápida que a pesquisa do aptitude. - Mark Davidson
Eu uso um alias bash de duas letras para a pesquisa do apt-cache, ou eu provavelmente estaria usando aptitude search também. - belacqua
Eu notei que apt-getbusca é um pouco mais completa do que aptitude. Este último parece apenas olhar para o nome do pacote, enquanto o primeiro também procura descrições, eu acho. por exemplo. tente procurar build-essential. - Sparhawk


O apt-get anterior não gerenciaria as dependências adequadamente e, portanto, faria com que as dependências órfãs permanecessem em um sistema mesmo depois que o pacote que as estava usando fosse desinstalado - esse não é mais o caso, para remover o uso de dependências órfãs

sudo apt-get autoremove

O aptitude sempre fez isso corretamente e controla as dependências melhor, mas agora ambos os gerenciadores de pacotes fazem o trabalho.

No Ubuntu é melhor usar o apt-get porque é suportado e endossado pela empresa, no debian eu usaria o aptitude


13



A última afirmação não é precisa. aptitude é suportado muito bem no Ubuntu e é instalado por padrão. Não há diferença entre o Ubuntu e o Debian a esse respeito. - loevborg
Está sendo removido da instalação padrão em 10.10 - kashif
Em minha experiência, aptitudesempre foi pior no rastreamento de dependências instaladas. Ele tendia a remover os não relacionados ao remover um programa e acabava quebrando outros programas no processo ... - Izkata
O que é um equivalente de apt-get autoremove com aptitude? Eu tenho kernels antigos apt-get autoremove sugere-me para remover, mas não vejo maneira de removê-los com aptitude. - Alexey
@Alexey Você pode usar aptitude remove '~g'. (Fonte) Observe que aptitude irá oferecer automaticamente para remover dependências não utilizadas ao remover pacotes com ele. - nyuszika7h


Além das outras respostas, vale notar também que apt-get muitas vezes cai em seu rosto para operações simples, e não tem capacidade para lidar com incompatibilidades de versão de dependência ou pacotes quebrados (embora alega que pacotes quebrados podem ser corrigidos com apt-get install -fLiteralmente nunca vi esse trabalho em toda a minha vida).

Por alguma razão, eu ainda uso apt-get por padrão, mas quando encontra problemas, geralmente acabo resolvendo-os com aptitudeque nunca parece encontrar apt-getvários problemas.


5



Eu também tenho experiência semelhante com a resolução de conflitos, aptitude é uma alternativa muito melhor nesse sentido. - Volkan Yazıcı
Para o registro, eu acabei de ver o apt-get install -f consertar meu sistema. O aptitude teve problemas, isso resolveu, e então a primeira coisa que fiz foi instalar o aptitude :) Escolha é uma coisa boa (tm) - teknopaul


Eu diria que na minha experiência pessoal o aptitude e o apt-get têm funcionalidades muito semelhantes.

A principal diferença que vem à mente que pode afetar as escolhas dos usuários é que o aptitude oferece uma interface ncurses e que oferece opções para upgrade seguro e upgrade completo que podem ser úteis.

Pessoalmente eu sempre uso o apt-get e recomendo que novos usuários usem o apt-get também. Com o aptitude definido para ser removido do Ubuntu por padrão, como você disse, isso ainda parece ser a melhor recomendação. Como se eles quisessem usar o aptitude, eles precisariam saber como usar o apt-get para instalar o aptitude se eles quiserem :)


3



você poderia explicar o que é uma interface ncurses por favor? - 8128
@fluteflute: ncurses é uma biblioteca usada para realizar interface de usuário de texto. en.wikipedia.org/wiki/Ncurses - dierre


Em um servidor eu prefiro o Atitude porque ele vem com uma interface muito boa para checar changelogs de pacotes, upgrades seletivos e esse tipo de coisa. O apt-get é mais rápido e eu sempre uso isso se eu quiser atualizar tudo sem muito trabalho.


1