apt vs. apt-get: Qual é a diferença no Linux?

Publicados: 2022-06-16
Terminal Linux em um laptop sobre um pano de fundo vermelho.
fatmawati achmad zaenuri/Shutterstock

Por que as distribuições Linux baseadas no Debian têm o apt e o apt-get ? O apt substituiu apt-get ou eles têm propósitos diferentes? Explicamos a relação entre esses dois comandos.

O Sistema de Gerenciamento de Pacotes Debian

Um grande esforço na criação de uma distribuição Linux é projetar e criar um sistema de gerenciamento de pacotes. Seus usuários precisam ter uma maneira de instalar e desinstalar pacotes de software. Isso exige que o software recupere os arquivos do pacote de seu repositório de software e os instale corretamente nos computadores dos usuários.

Como a instalação de software e os gerenciadores de pacotes funcionam no Linux
RELACIONADO Como a instalação de software e os gerenciadores de pacotes funcionam no Linux

Este não é um empreendimento pequeno. Mesmo colocando a engenharia de software de lado, hospedar os repositórios de software leva tempo, esforço e despesas. Essa é uma das razões pelas quais tantas “novas” distribuições Linux são derivações de uma distribuição Linux existente.

Isso leva a famílias ou genealogias de distribuições Linux, como as distribuições baseadas em Debian, as distribuições baseadas em Red Hat, as distribuições baseadas em Arch e assim por diante.

A família de distribuições Debian – incluindo Ubuntu e todas as distribuições derivadas do Ubuntu – usa o Debian Package Manager. Isso usa arquivos de pacote com a extensão de arquivo “.deb”, chamados de arquivos DEB. Os arquivos DEB são arquivos compactados que contêm outros arquivos compactados. Os arquivos compactados contêm os arquivos executáveis ​​do aplicativo, páginas de manual, bibliotecas e assim por diante.

Como instalar um arquivo DEB no Linux
RELACIONADO Como instalar um arquivo DEB no Linux

Instalar o software a partir de um arquivo DEB significa descompactar todos esses arquivos componentes e colocá-los nos locais corretos em seu computador. Também requer a interação com o sistema operacional e o ambiente da área de trabalho para que o aplicativo apareça nas pesquisas de aplicativos e seu ícone possa ser adicionado aos docks ou menus do sistema.

Propaganda

Os comandos apt-get e apt fazem isso. Mas por que temos dois comandos para a mesma coisa?

A cadeia de comando

O pacote que realmente executa a instalação é chamado dpkg . Na verdade, é uma família de comandos incluindo dpkg-split , dpkg-trigger e dpkg-divert . Eles são chamados, se e conforme necessário, pelas ferramentas do pacote Advanced Package Tool, ou APT. APT é outra coleção de ferramentas, incluindo apt-get , apt-cache e apt .

O comando dpkg é considerado um comando de baixo nível. Além das interações mais simples, torna-se muito complicado com muitas opções. O comando apt-get atua como um front-end para o conjunto de comandos dpkg . Isso simplifica consideravelmente as coisas. apt-get foi projetado como um comando voltado para o usuário e não como um comando em segundo plano de baixo nível. Mesmo assim, apesar de seu papel voltado para humanos, outro comando chamado apt-cache foi usado para exibir informações ao usuário.

O comando apt fornece outra maneira de “conversar” com o dpkg através de uma ferramenta de linha de comando mais acessível e fácil de usar. Ele fornece um subconjunto dos recursos do apt-get , mas é um subconjunto grande e fornece todos os recursos comumente usados ​​e também inclui a funcionalidade do apt-cache .

Propaganda

O Linux Mint precisa de uma menção especial aqui. Os mantenedores do Linux Mint desenvolveram sua própria versão do apt , que é um wrapper do Python para apt-get . Não é desse apt que estamos falando aqui. Estamos nos referindo ao mainstream Debian apt , que foi lançado em 2014, e ganhou atenção e tração no verso do usuário quando foi incluído no Ubuntu 16.04 em 2016.

As diferenças entre apt e apt-get

Portanto, o dpkg é o aplicativo em segundo plano de baixo nível. O comando apt-get é uma interface completa, mas simplificada para dpkg , e o apt é uma versão mais amigável, mas um pouco simplificada do apt-get .

Como resolver dependências ao compilar software no Ubuntu
RELACIONADO Como resolver dependências ao compilar software no Ubuntu

Mas apt-get e apt fornecem mais do que apenas uma interface fácil para dpkg . Eles fazem coisas que o dpkg não faz. Eles recuperarão arquivos de repositórios e tentarão ajudar com dependências e conflitos ausentes.

Por sua vez, o comando apt faz algumas coisas que apt-get não faz. Ele fornece mais informações do tipo que o usuário médio deseja ver durante uma instalação e suprime algumas das informações mais obscuras que o apt-get exibe. O apt fornece feedback visual superior e usa realces de cores e barras de progresso na janela do terminal.

Existem alguns comandos comuns entre apt e apt-get . Todos esses comandos podem ser precedidos por apt ou apt-get e se comportarão da mesma forma:

  • install packagename : Instala um pacote.
  • remove packagename : Remove (desinstala) um pacote.
  • purge packagename : remove um pacote e seus arquivos de configuração.
  • update packagename : Atualize as informações do repositório.
  • upgrade : atualiza todos os pacotes.
  • autoremove : remove bibliotecas e outros pacotes que não são mais necessários.

A opção apt full-upgrade substitui a opção apt-get dist-upgrade .

Estes são os novos comandos para o apt :

  • apt search : Procure um nome de pacote nos repositórios. Isso é o mesmo que apt-cache search
  • apt show : Mostra informações sobre um pacote. Isso é o mesmo que apt-cache show .
  • apt list option : Mostra listas de pacotes instalados ou atualizáveis.
  • apt edit-sources : Edita diretamente a lista de repositórios que o apt procura por pacotes.

Instalando um aplicativo

Você pode usar apt search para ver se existe um pacote nos repositórios ou para verificar se você tem o nome correto para o pacote. Digamos que você queira instalar o Scribus, mas não saiba o nome do pacote. Você pode tentar procurar por scribus-desktop .

 apt search scribus-desktop 

Pesquisando os repositórios por um pacote chamado scribus-desktop

Essa busca não encontrou nada. Tentaremos novamente com uma pista de pesquisa mais curta e genérica.

 apt search scribus 

Pesquisando os repositórios por um pacote chamado scribus

Propaganda

Isso retorna vários hits, e podemos ver que existe um chamado “scribus”, e que certamente parece ser o pacote principal para o aplicativo de editoração eletrônica Scribus. O comando apt show nos dará mais detalhes.

 apt show scribus 

Usando o apt show para saber mais sobre o pacote scribus

Recebemos um despejo de informações sobre o pacote, incluindo o que será instalado e uma descrição do software.

Informações sobre o pacote scribus

Também sugere outros pacotes que podem ser necessários, dependendo de nossas necessidades.

Para instalar o pacote, precisamos usar sudo .

 sudo apt instalar scribus 

Instalando o pacote scribus

Os arquivos são recuperados dos repositórios. O arquivo atualmente sendo recuperado é destacado em marrom.

Recuperação de arquivos como parte da instalação de um pacote

Quando os arquivos forem recuperados, eles serão instalados. O progresso da instalação é mostrado como uma porcentagem exibida em dígitos e como uma barra de progresso.

A instalação do pacote com uma porcentagem e barra de progresso

Outros comandos

Os comandos apt list e apt edit-sources são opções no apt que não existem no apt-get .

Propaganda

O comando apt list pode ser usado com as opções --installed ou --upgradeable para ver os pacotes instalados em seu computador e quais podem ser atualizados.

Para ver a lista de aplicativos instalados em seu computador use:

 apt list --instalado 

Use o apt para listar os aplicativos instalados

Percorrendo a saída, podemos ver duas entradas para nosso aplicativo Scribus recém-instalado.

Uma lista dos aplicativos instalados

Para ver se algum dos aplicativos instalados pode ser atualizado, use a opção --upgradeable .

 apt list --atualizável 

Uma lista dos aplicativos que podem ser atualizados

O comando apt também fornece uma maneira de editar as informações armazenadas sobre os repositórios apt procura por pacotes. Só faça isso se souber o que está fazendo.

 sudo apt edit-sources 

Edite as informações do repositório com o apt

Propaganda

Este comando abre seu editor padrão e carrega o arquivo que contém as informações do repositório.

Arquivo de dados do repositório aberto no editor nano

Devo usar o apt ou o apt-get?

O comando apt-get não é atualizado com frequência, e isso é bom. Ele tem que manter a compatibilidade com versões anteriores. A compatibilidade com versões anteriores não é uma preocupação para o apt . Ele é considerado e tratado como um comando voltado para o usuário.

Para uso diário, use apt .

Se você criar scripts relacionados à instalação de pacotes, use apt-get . Isso lhe dá a maior chance de portabilidade e compatibilidade em seus scripts.

RELACIONADO: O Guia do Iniciante para Shell Scripting: O Básico