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

Terminal Linux em um laptop sobre um pano de fundo vermelho.
fatmawati achmad zaenuri/Shutterstock

aptPor que as distribuições Linux baseadas no Debian têm apt-get? Substituíram  ou têm finalidades diferentes apt? apt-getExplicamos 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.

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 o Ubuntu e todas as distribuições derivadas do Ubuntu— usa o Gerenciador de Pacotes Debian. 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.

Instalar o software a partir de um arquivo DEB significa descompactar todos esses arquivos componentes e colocá-los nos locais corretos do computador. Também requer 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.

Recomendado:  Você consegue rastrear cochilos em um Apple Watch?

Os comandos apt-gete ambos fazem isso. aptMas por que temos dois comandos para a mesma coisa?

A cadeia de comando

O pacote que realmente executa a instalação chama-se dpkg. Na verdade, é uma família de comandos, incluindo dpkg-split, dpkg-triggere 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-cachee apt.

O dpkgcomando é considerado um comando de baixo nível. Além das interações mais simples, torna-se muito complicado com muitas opções. O apt-getcomando atua como um front-end para o dpkgconjunto de comandos. Isso simplifica consideravelmente as coisas. apt-geté 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 sua função humana, outro comando chamado apt-cachefoi usado para exibir informações ao usuário.

O aptcomando fornece outra maneira de “conversar” por meio de uma ferramenta de linha de comandodpkg mais acessível e fácil de usar . Ele fornece um subconjunto dos recursos do , mas é um grande subconjunto e fornece todos os recursos comumente usados ​​e também inclui a funcionalidade do .apt-getapt-cache

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 apté disso 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

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

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

Recomendado:  O que é torrent e qual é o problema com ele?

Por sua vez, o aptcomando faz algumas coisas apt-getque não. 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 apt-getexibidas. aptfornece feedback visual superior e usa realces de cores e barras de progresso na janela do terminal.

Existem alguns comandos comuns entre apte apt-get. Todos esses comandos podem ser precedidos por aptou apt-gete 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 apt full-upgradeopção substitui a apt-get dist-upgradeopção.

Estes são os novos comandos para apt:

  • apt search : Procure um nome de pacote nos repositórios. Este é o mesmo queapt-cache search
  • apt show : Mostra informações sobre um pacote. Este é 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 aptprocura por pacotes.

Instalando um aplicativo

Você pode usar apt searchpara ver se existe um pacote nos repositórios ou para verificar se 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 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

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 apt showcomando 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.

Recomendado:  Por que não é possível fazer downgrade de um iPhone?

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 liste são opções que não existem no .apt edit-sourcesaptapt-get

O apt list comando pode ser usado com as opções --installedou --upgradeablepara 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 --upgradeableopção.

apt list --atualizável

Uma lista dos aplicativos que podem ser atualizados

O aptcomando também fornece uma maneira de editar as informações armazenadas sobre as apt pesquisas de repositórios 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

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 apt-getcomando 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 um script relacionado à instalação do pacote, use apt-get. Isso lhe dá a maior chance de portabilidade e compatibilidade em seus scripts.