O aptitude ainda é considerado superior ao apt-get?

191

Quando eu comecei com o Ubuntu, aptitudeera o 'in-thing', com algumas melhorias declaradas apt-get. Estou correto ao dizer que apt-getagora o alcançou aptitudee faz pouca diferença com o que é usado (embora seja preferível escolher um ou outro e ficar com ele)?

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

fluteflute
fonte
11
The Cool Kids uso hoje aptem vez de um desses: itsfoss.com/apt-vs-apt-get-difference
tatsu
11
aptitude whyàs vezes é útil e não existe um equivalente real .
Nathaniel M. Beaver

Respostas:

131

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

  1. aptitudeadiciona sinalizadores explícitos por pacote, indicando se um pacote foi instalado automaticamente para satisfazer uma dependência: você pode manipular esses sinalizadores ( aptitude markautoou aptitude unmarkauto) para alterar a maneira como o aptitude trata o pacote.

    apt-getmantém o controle das mesmas informações, mas não as mostra explicitamente. apt-markpode ser usado para manipular as bandeiras.

  2. aptitudeoferecerá a remoção de pacotes não utilizados toda vez que você remover um pacote instalado, enquanto apt-getisso somente será feito se solicitado apt-get autoremoveou explicitamente solicitado --auto-remove.

  3. aptitudeage como um única linha de comando front-end para a maioria das funcionalidades em ambos apt-gete apt-cache. Nota : A partir de 16.04, há um aptcomando que inclui os comandos mais usados de apt-gete apt-cachee alguns recursos extras.

  4. Em contraste com apt-cachea "pesquisa" de aptitude"s", a saída "pesquisa" de s também mostra o status instalado / removido / eliminado de um pacote (mais os sinalizadores de status do próprio aptitude). Além disso, a saída "install" marca quais pacotes estão sendo instalados para satisfazer uma dependência e quais estão sendo removidos por não serem utilizados.

  5. aptitude possui uma interface do usuário interativa (somente texto).

Pessoalmente, uso apenas aptitudepara meu gerenciamento de pacotes de linha de comando (e nunca uso a interface do usuário de texto); Acho sua saída mais legível que apt-get/ apt-cache.

No entanto, se aptitudenão for mais padrão no Ubuntu, não há outra opção senão o uso apt-getem instruções e documentos de instruções.

(Pessoalmente, estou bastante desapontado ao vê-lo desaparecer na 10.10; especialmente porque as melhorias no aptitude apt-getacabam principalmente no lado da usabilidade. Acho que eles consideraram que aqueles que conhecem a linha de comando sabem como recuperar o aptitude e aqueles que não usam a linha de comando não se importam ...)

Riccardo Murri
fonte
10
search'es aptidão sobre nomes de pacotes, o apt-cache no nome do pacote + descrição (Nós só vai ter que começar todos os howto com sudo apt-get install aptitude)
LassePoulsen
3
2. No entanto, o apt-get dirá que existem pacotes não utilizados e que você pode removê-los apt-get autoremove.
sepp2k
2
Uma das desvantagens de aptidão é a incapacidade de considerar fixando como feito por apt-get
txwikinger
4
O Aptitude lê corretamente /etc/apt/preferences(e a fixação nele), mas atualmente ignora /etc/apt/preferences.d/. É um bug conhecido, portanto, há esperança de que seja corrigido em breve.
Riccardo Murri
3
Aptidão tem uma opção para recuperar o changelog facilmente: aptitude changelog package-name. Não conheço esse recurso no apt-get.
Lekensteyn
21

Eu acho que é uma questão de escolha pessoal até agora. Acho que digitar aptitude searchfaz mais sentido para mim do que apt-cache searche gosto que ele me diga quais pacotes eu instalei ali na saída da pesquisa, em vez de precisar executar dpkg -l.

itsadok
fonte
2
+1 Concordou poder ver se um aplicativo está instalado durante 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 do bash de duas letras para a pesquisa do apt-cache, ou provavelmente usaria aptitude searchtambém.
Belacqua
Eu notei que apt-geta pesquisa é um pouco mais completa do que aptitude. O último parece olhar apenas para o nome do pacote, enquanto o primeiro também pesquisa descrições, eu acho. por exemplo, tente procurar build-essential.
Sparhawk
13

O apt-get anterior não gerenciaria as dependências corretamente e, portanto, fazia com que as dependências órfãs permanecessem em um sistema, mesmo após a desinstalação do pacote que as estava usando - esse não é mais o caso, para remover as dependências órfãs, use

sudo apt-get autoremove

O aptitude sempre fez isso certo e rastreia melhor as dependências, mas agora os dois 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

kashif
fonte
2
A última declaração não é precisa. aptitudeé suportado perfeitamente no Ubuntu e é instalado por padrão. Também não há diferença entre o Ubuntu e o Debian.
Loevborg 9/08/10
3
Ele está sendo removido da instalação padrão em 10.10
kashif
11
Na minha experiência, aptitudesempre foi pior no rastreamento de dependências instaladas. Ele tende a remover os não relacionados ao remover um programa, e acabou quebrando outros programas no processo ...
Izkata
O que um equivalente de apt-get autoremovecom aptitude? Eu tenho kernels antigos que apt-get autoremoveme sugerem remover, mas não vejo como removê-los aptitude.
Alexey #
11
@ Alexey Você pode usar aptitude remove '~g'. ( Origem ) Observe que aptitudeele oferecerá automaticamente a remoção de dependências não utilizadas ao remover pacotes com ele.
nyuszika7h
6

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

Por algum motivo, ainda uso apt-getpor padrão, mas quando ele encontra problemas, geralmente acabo resolvendo-os aptitude, o que nunca parece encontrar apt-getos inúmeros problemas.

weberc2
fonte
Eu também tenho experiência semelhante com a resolução de conflitos, aptitudeé uma alternativa muito melhor nesse sentido.
Volkan Yazıcı
11
Para o registro, eu acabei de ver o apt-get install -f consertar meu sistema. aptidão teve problemas, este fixa-lo, e, em seguida, a primeira coisa que fiz foi apt instalar aptidão :) escolha é uma coisa boa (tm)
teknopaul
3

Eu diria que, em 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 opções de um usuário é que o aptitude oferece uma interface ncurses e oferece opções de atualização segura e atualização completa que podem ser úteis.

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

Mark Davidson
fonte
você poderia explicar o que é uma interface ncurses?
8128
@fluteflute: ncurses é uma biblioteca usada para realizar interface de usuário de texto. pt.wikipedia.org/wiki/Ncurses
quarta
1

Em um servidor, prefiro o Atitude porque ele vem com uma interface muito boa para verificar os registros de alterações de pacotes, atualizações seletivas e esse tipo de coisa. O apt-get é mais rápido e eu sempre o uso se apenas quero atualizar tudo sem muito trabalho.

Gladen
fonte