Ferramentas do usuário

Ferramentas do site


diversospreferences:apt_ao_inves_de_apt-get

Simplificando Gerenciamento de Pacotes com APT ao invés de apt-get

<note> Esse artigo é uma tradução livre, do artigo encontrado no site howtogeek. As opiniões mostradas no artigo refletem o ponto de vista do autor original.</note>

APT (Advanced Package Tool), serve para gerenciar pacotes usando um monte de ferramentas separadas para realizar várias tarefas. No passado, para usar todo o conjunto de recursos do APT, os usuários precisavam saber diversas estruturas de comandos como apt-get, apt-cache, apt-config, e muitos mais.

APT foi criado originalmente para resolver uma série de problemas de gerenciamento de pacotes, como por exemplo, colocar um fim ao inferno das dependências que muitas pessoas experimentaram nos primórdios dos sistemas operacionais baseados em Linux. Infelizmente, o APT sofre de um tipo diferente de inferno, algo que podemos chamar de “Inferno da Documentação Dispersa”. A documentação relacionada ao APT está espalhada em várias ferramentas diferentes, e em alguns casos, como o do principal comando apt, praticamente impossível de encontrar.

Por mais de uma década, praticamente todos os tutoriais e guias de instalação e remoção de pacotes em sistemas baseados em Debian/Ubuntu vêm sugerindo o uso do apt-get para os usuários. No passado, essa era a sugestão correta, porque o “apt”, na época não era um comando, mas devido ao Inferno da Documentação Dispersa, um monte de gente nem sabe que agora ele existe.

Se você quiser instalar um pacote, quase todos os tutoriais irão sugerir:

  sudo apt-get install pacote

mas agora, você pode simplificar isso com

sudo apt install pacote

Alguns podem dizer não faz diferença usar “apt” ou “apt-get” e isso é verdade, mas acho que o hífen no comando pode criar dificuldades para alguns usuários, devido à sua falta de jeito. Usar apt economiza tempo e diminui a quantidade de teclas necessárias para realizar a mesma tarefa.

Inferno da Documentação Dispersa

O problema fundamental com a documentação referente ao APT, é que depende de onde você olha e como você olha, você pode ou não encontrar o que procura. Se você for pesquisar no Google, ou DuckDuckGo, por “documentação apt”, provavelmente encontrará um dos três tipos de resultados:

  • A documentação relacionada ao apt-get
  • Informações básicas sobre APT
  • Informações completamente irrelevantes

Se você jogasse “linux”, “ubuntu”, ou mesmo “debian” na pesquisa, os tipos de resultados que você receberia não iriam mudar. O Inferno da Documentação Dispersa é tão grave, que você encontraria a documentação do Debian.org marcada como Documentação Obsoleta, antes de encontrar algo útil relacionada com o comando “apt”, isso, se você realmente conseguir encontrar algo útil.

Man Pages

Man Pages, ou Páginas de Manual, são páginas de documentação que podem ser usados localmente no seu sistema, ou através de diretórios online. As entradas locais podem ou não estar atualizada, dependendo da versão da sua distribuição. Por exemplo, o Ubuntu 15.10 tem as páginas mais recentes dos manuais, mas as do 14.04 não vem atualizadas por padrão. No entanto, se você mantiver a sua versão 14.04 do Ubuntu atualizada, com os service packs, suas man pages devem ser atualizadas. Você pode verificar se tem a versão mais recente da man page com o comando abaixo.

  man apt

Por outro lado, se você tivesse que procurar pelas páginas do manual on-line, quase sempre as encontraria desatualizadas. Se continuasse procurando, porém, poderia achar a man page do Ubuntu 15.10, que está atualizada ou talvez a página desatualizada do manual on-line do 14.04.

Simplificando a Linha de Comando com o APT

A lista abaixo contém as opções mais úteis do comando apt e quais comandos antigos eles simplificam.

  • apt install <pacote(s)>
    • substitui apt-get install <pacote>
  • apt remove pacote(s)
    • substitui apt-get remove <pacote>
  • apt search <pesquisa>
    • substitui apt-cache search <pesquisa>
  • apt show <pacote(s)>
    • substitui apt-cache show <pacote(s)>
  • apt update
    • substitui apt-get update
  • apt upgrade
    • substitui apt-get upgrade
  • apt list –installed
    • substitui dpkg –get-selections | grep -v deinstall
    • substitui dpkg -l
  • apt list –upgradable (não requer sudo)
    • substitui apt-get -u upgrade –assume-no” (requer sudo)
  • apt edit-sources
    • substitui echo ‘new line of text’ | sudo tee -a /etc/apt/sources.list
    • substitui sudo nano /etc/apt/sources.list
  • apt check <pacote> Verifica se tem alguma dependência faltando para um determinado pacote
    • substitui sudo apt-get check <pacote>
  • apt recommends <pacote> Verifica quais pacotes recomendados para um determinado pacote, não estão instalados no sistema
  • apt version <pacote>
  • apt deb <pacote.deb>
    • substitui dpkg -i <pacote.deb>

Linux Mint Simplifica Ainda Mais

A maioria das versões mais recentes do sistemas operacionais baseados no Debian ou no Ubuntu possuem a versão atualizada do APT, o que permite que várias tarefas sejam simplificadas, mas a equipe do Linux Mint decidiu que o APT deveria ser simplificado a alguns anos atrás. O Linux Mint criou um script em python (em 2009) para fazer o APT mais útil e simples possível. Eu acho que o Debian veja o benefício de expandir as funcionalidades do apt, então no futuro todos poderam se beneficiar da abordagem simplificada do Mint. O comando apt pode ser muito melhor do que é hoje e espero que o Debian possa ver isso e levar o apt a alcançar todo esse potencial.

Linux Mint decidiu fazer uma escolha interessante em seu script, removendo a necessidade de usar o sudo, Por exemplo, se você executar “apt install pacote” ele automaticamente vai aplicar o sudo em frente a ele no processo, então, não precisa lembrar se precisa do sudo ou não, o script vai aplicar ou não, de acordo com a necessidade.

A lista abaixo possui as opções adicionais mais úteis disponíveis no comando apt do Linux Mint e os comandos que eles simplificam. <note> Os comandos abaixo, até o momento, se aplicam apenas ao Linux Mint.</note>

  • apt autoclean
    • substitui apt-get autoclean
  • apt autoremove
    • substitui apt-get autoremove
  • apt purge <pacotes(s)>
    • substitui apt-get remove –purge <pacotes(s)>
  • apt depends <pacote(s)>
    • substitui apt-cache depends <pacotes(s)>
  • apt rdepends <pacote(s)>
    • substitui apt-rdepends <pacote(s)>
  • apt policy <pacote(s)>
    • substitui apt-cache policy <pacote(s)>
  • apt held
    • substitui dpkg –get-selections | grep hold
  • apt hold <pacote>
    • substitui echo <pacote> hold | sudo dpkg –set-selections
  • apt unhold <pacote>
    • substitui echo <pacote> install | sudo dpkg –set-selections
  • apt download <pacote> (faz download do arquivo deb de um pacote)
    • substitui LC_ALL=C apt-cache depends <pacote> |grep -v “Conflicts:\|Replaces:”|awk ‘{print $NF}’|sed -e ‘s/[<>] // g’|xargs aptitude download -r

APT: Fazer Mais com Muito Menos

O comando apt tem simplificado muitas tarefas referentes a gerenciamento de pacotes via linha de comando no Linux (Baseado em Debian) e com o Linux Mint tomando a iniciativa de melhorar ainda mais, espero que isso ajude na transição da comunidade para os novos métodos. O único comando que notei que ficou faltando no script apt do Linux Min é o “apt add-repository” para substituir o famigerado comando add-apt-repository, então escrevi um patch e adicionei isso ao script. E tenho o prazer de informar que esse patch foi aceito e estará disponível no futuro lançamento do Linux Mint.

Referências

diversospreferences/apt_ao_inves_de_apt-get.txt · Última modificação: 2016/05/24 22:21 por 8812