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.