O que o “apt install” faz?

2

Depois de usar apt-get e ver aptitude pela primeira vez, achei que apt deve ser curto para aptitude , quando solicitado a digitar aptitude install , digitei apt install .

Parece que funcionou, mas eu fiz o que precisava ser feito ou algo foi esquecido?

    
por Mark du Preez 15.09.2014 / 18:58

1 resposta

9

aptitude install significa que você está chamando o destino de instalação do programa aptitude .

apt install significa que você está chamando o destino de instalação do binário apt . Observe que o binário apt é muito novo. Chegou com o lançamento 1.0. E não, não é a abreviação de aptitude , mas é um binário separado.

Ambos os comandos instalam os pacotes que são dados como argumentos. No entanto, apt e aptitude usam seus próprios algoritmos de resolução de dependência (que escolhem quais pacotes instalar para atender à solicitação), que são diferentes. Isso significa, na prática, que eles podem escolher diferentes pacotes para instalar como resultado dos mesmos argumentos do pacote. Por exemplo,

apt-get install foo

e

aptitude install foo

pode optar por instalar pacotes diferentes.

Note também que uma diferença notável entre os dois comandos é o resolvedor de dependências interativo de aptidões. Isso lhe dará diferentes opções sobre como instalar o pacote, desde o razoável até o insano. Daniel Burrows, o autor do aptitude, estava bastante orgulhoso de ter descoberto este algoritmo .

O binário apt está contido no pacote binário do software apt (deb), que também inclui apt-get e apt-cache . apt é um comando mais recente que os outros dois e destina-se a ser mais amigável. Tanto quanto sei, apt-get install e apt install são funcionalmente equivalentes.

O binário aptitude está contido no pacote binário do software aptitude (deb).

Para saber mais sobre esses comandos, você pode fazer, por exemplo,

man apt

para ver a página do manual e

apt --help

para ver a saída da ajuda e, da mesma forma, para os outros comandos mencionados aqui.

Aqui está Michael Vogt, há muito tempo apt desenvolvedor, sobre o assunto do novo apt binário . Ele escreve

The big news for this version is that we included a new “apt” binary that combines the most commonly used commands from apt-get and apt-cache. The commands are the same as their apt-get/apt-cache counterparts but with slightly different configuration options.

Currently the apt binary supports the following commands:

  • list: which is similar to dpkg list and can be used with flags like --installed or --upgradable.

  • search: works just like apt-cache search but sorted alphabetically.

  • show: works like apt-cache show but hide some details that people are less likely to care about (like the hashes). The full record is still available via apt-cache show of course.

  • update: just like the regular apt-get update with color output enabled.

  • install,remove: adds progress output during the dpkg run.

  • upgrade: the same as apt-get dist-upgrade –with-new-pkgs.

  • full-upgrade: a more meaningful name for dist-upgrade.

  • edit-sources: edit sources.list using $EDITOR.

PS: Se a coisa do Super Cow Powers te intriga, você não é o único .

PPS: NB: aptitude , apt , apt-get , apt-cache todos usam a biblioteca apt compartilhada, que mora (você adivinhou) no pacote apt, então eles têm muito código comum. Tente executar

ldd /usr/bin/apt

ou

ldd /usr/bin/aptitude

e você verá uma linha como

libapt-pkg.so.4.12 => /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12 (0x00007fd065330000)

Isso é o apt / aptitude vinculando-se à biblioteca apt compartilhada. Mas o resolvedor de dependência não é uma das coisas que eles compartilham.

    
por 15.09.2014 / 19:22

Tags