Qual é a diferença entre apt e apt-get?


458

Eu li sobre a nova barra de progresso sofisticada que foi adicionada à apt1.0 na Softpedia e como ativá-la aqui . No entanto, na corrida sudo apt-get update, eu não vi as barras de progresso sofisticadas. Ao ler o segundo link novamente, a solução exige explicitamente que você o use sudo apt update.

Portanto, minha pergunta é a diferença entre apte apt-get. Eu pensei que eles eram o mesmo.


1
AFAIK eles só estão disponíveis no Trusty. Aqui está como habilitá-los: askubuntu.com/questions/445245/…
Seth

8
como o comentário do @Seth tem quase 2 anos, pensei em acrescentar agora que ele está disponível, instalado e utilizável imediatamente. Nada é necessário para habilitá-los, basta usar em aptvez de apt-get(estou em 15.10)
Madivad

Respostas:


400

São ferramentas de linha de comando muito semelhantes disponíveis no Trusty. apt-getOs apt-cachecomandos mais usados ​​e estão disponíveis em apt.

apt-getpode ser considerado de nível inferior e "back-end", além de oferecer suporte a outras ferramentas baseadas em APT. O apt foi projetado para usuários finais (humanos) e sua saída pode ser alterada entre as versões.

Nota do apt (8):

The `apt` command is meant to be pleasant for end users and does not need
       to be backward compatible like apt-get(8).

Dê uma olhada neste post para obter mais informações sobre a nova ferramenta:

Uma sinopse do link acima (com correções * ):

A grande novidade desta versão é que incluímos um novo binário “apt” que combina os comandos mais usados ​​no apt-get e apt-cache. Os comandos são os mesmos que os do apt-get / apt-cache, mas com opções de configuração ligeiramente diferentes.

Atualmente, o binário apt suporta os seguintes comandos:

  • list : que é semelhante dpkg liste pode ser usado com sinalizadores como --installedou --upgradable.
  • search : funciona da mesma maneira, apt-cache searchmas classificado em ordem alfabética.
  • show : funciona como, apt-cache showmas oculta alguns detalhes com os quais as pessoas têm menos probabilidade de se importar (como os hashes). O registro completo ainda está disponível, é apt-cache showclaro.
  • atualização : assim como o normal apt-get updatecom a saída em cores ativada.
  • instalar, remover : adiciona saída de progresso durante a execução do dpkg.
  • atualização : o mesmo que apt-get upgrade --with-new-pkgs. *
  • atualização completa : um nome mais significativo para dist-upgrade.
  • edit-sources : edita sources.listusando $EDITOR.
  • política : funciona comoapt-cache policy

Você pode ativar / desativar o progresso da instalação [bar] através de:

# echo 'Dpkg::Progress-Fancy "1";' > /etc/apt/apt.conf.d/99progressbar

3
Apenas curioso - a atualização apt não é equivalente a 'upgrade --with-new-pkgs' (em vez da dist-upgrade, que o IIRC faz por padrão e também remove)?
precisa saber é o seguinte

Estranhamente, ocorre apt upgradeum erro em que apt-get upgradeapenas imprime um aviso quando um PPA não possui um arquivo de liberação.
Tor Klingberg

1
Esse post do blog está errado em dizer que apt upgradeé assim apt-get dist-upgrade --with-new-pkgs. dist-upgradepode instalar novos pacotes e pode removê-los . UI à parte, apt upgradeé apt-get upgrade --with-new-pkgs. Veja a resposta do JungleMartin e apt (8) em upgrade: "Novos pacotes serão instalados se necessário para satisfazer dependências, mas os pacotes existentes nunca serão removidos."
Elias Kagan

3
Vale ressaltar que, a partir do 16.04, por padrão, o apt não salva os pacotes baixados, enquanto o apt-get faz.
doug

69

Enquanto escrevo isso, a aptpágina de manual (minha versão do pacote apt: 1.0.1ubuntu2.8) inclui a seguinte seção:

DIFFERENCES TO APT-GET(8)
   The apt command is meant to be pleasant for end users and does not need
   to be backward compatible like apt-get(8). Therefore some options are
   different:

   ·   The option DPkg::Progress-Fancy is enabled.
   ·   The option APT::Color is enabled.
   ·   A new list command is available similar to dpkg --list.
   ·   The option upgrade has --with-new-pkgs enabled by default.

2
Esta é a resposta correta (para Debian e Ubuntu, bem como outros derivados como Mint). Em particular, a execução sudo apt upgradeexecutará as mesmas operações que sudo apt-get upgrade --with-new-pkgs. Ele instalará novos pacotes, mas, diferentemente sudo apt-get dist-upgrade , não removerá os antigos (exceto ao instalar uma nova versão do mesmo pacote, é claro - o que sudo apt-get upgradetambém será feito). man aptconfirma ainda que esta resposta está correta.
Eliah Kagan

Estou revertendo sua reversão da minha edição porque a) sua formatação requer rolagem desnecessária eb) seu texto copiado está incorreto, a opção não é DPkgPM::..., mas DPkg::.., como mostra a página de manual on-line.
Muru

2
pontos de bônus para RTFM
Thufir

A opção "check" não funciona com o apt. Eu tenho que usar "apt-get check". Por quê?
Juan

22

Existem várias ferramentas que interagem com a Advanced Packaging Tool (APT) e permitem instalar, remover e gerenciar pacotes nas distribuições Linux baseadas no Debian . apt-geté uma dessas ferramentas de linha de comando que é amplamente popular. Outra ferramenta popular é o Aptitude, com opções de GUI e de linha de comando.

Se você já usou apt-getcomandos, você pode ter vindo através de uma série de comandos similares, tais como apt-cache, apt-configetc. E é aí que surge o problema.

Veja bem, esses comandos são de nível muito baixo e possuem muitas funcionalidades que talvez nunca sejam usadas por um usuário comum do Linux. Por outro lado, os comandos de gerenciamento de pacotes mais usados ​​estão espalhados por apt-get, apt-cachee apt-config.

Os aptcomandos foram introduzidos para resolver esse problema. aptconsiste alguns dos recursos mais utilizados de apt-get, apt-cachee apt-configdeixando de lado características obscuras e raramente utilizados.

Com apt, você não tem que mexer o seu caminho a partir apt-getde apt-cachea apt-config. apté mais estruturado e fornece as opções necessárias para gerenciar pacotes.

Bottom line: apt = opções de comando usadas mais comuns de apt-get, apt-cachee apt-config.

Escrevi em detalhes a diferença entre apt e apt-get .


15

O APT é um projeto vasto, cujos planos originais incluíam uma interface gráfica. Ele é baseado em uma biblioteca que contém o aplicativo principal, e o apt-get é o primeiro front end - baseado em linha de comando - desenvolvido no projeto.

apté um segundo front-end baseado em linha de comando fornecido pelo APT que supera alguns erros de design do apt-get.

Citado em:

https://debian-handbook.info/browse/stable/sect.apt-get.html

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.