Comando apt-get e apt no Linux (instalar pacotes) [Guia Básico]
O comando apt-get (Advanced Package Tool) é um gerenciador avançado de pacotes para Linux da família Debian, como o próprio Debian, Ubuntu, Kali e Mint.
Ele pode utilizar arquivos locais ou remotos para realizar instalação ou atualização de pacotes. Desta maneira é possível atualizar todo o sistema Debian via ftp ou http. Este gerenciador também mantém informações dos pacotes e suas dependências.
Devido a sua facilidade de operação, o apt-get é o método Para instalarpreferido para se manipular pacotes. Este utilitário oferece dezenas de opções configuradas no arquivo /etc/apt/apt.conf.
O arquivo /etc/apt/sources.list contém os locais onde o apt-get encontrará os pacotes, a distribuição verificada (stable, testing, unstable, Woody, Sarge) e a seção que será copiada (main, non-free, contrib, non-US).
Abaixo um exemplo simples de arquivo /etc/apt/sources.list com explicação das seções:
deb http://www.debian.org/debian stable main contrib non-free deb http://nonus.debian.org/debian-non-US stable non-US
No arquivo /etc/apt/apt.conf podemos especificar opções que modificarão o comportamento do programa apt-get durante a manipulação dos pacotes.
O apt-get utiliza uma lista de pacotes para verificar se os pacotes existentes no sistema precisam ou não ser atualizados. A lista mais nova de pacotes é copiada através do comando apt-get update.
O apt-get é muito útil, pois o administrador não precisa copiar manualmente da Internet o pacote que deseja instalar, muito menos lidar com as dependências, desde que o que ele precisa esteja nos repositórios indicados no sources.list.
As opções mais frequentes deste utilitário são:
- -d: Baixa os arquivos, mas não instala. É útil para baixar grandes volumes de pacotes para posterior instalação;
- -s: Simula a instalação dos pacotes, mas não realiza modificações;
- -y: Responde afirmativamente por todas as perguntas feitas durante o processo de instalação/desinstalação dos pacotes.
Os comandos mais frequentes são:
- dist-update: Este comando faz a atualização automática do sistema Debian;
- install: Este comando instala um determinado pacote especificado pelo nome;
- remove: Este comando remove um determinado pacote especificado pelo nome;
- update: Este comando faz uma lista de todos os pacotes disponíveis. O processo é feito automaticamente antes de qualquer modificação nos pacotes;
- upgrade: Este comando é utilizado para fazer uma atualização segura do sistema, pois ele não instala pacotes que podem causar algum conflito ou falha nos arquivos de configuração.
Exemplos:
# apt-get install airsnort
Instala o pacote airsnort.x.y.deb. Este comando aceita instalar mais de um pacote separando os nomes por espaços. Somente é preciso especificar o nome do pacote, sem a versão (X), revisão (Y) e sufixo (.deb).
Se for preciso, o apt-get irá instalar automaticamente as dependências necessárias para o funcionamento correto de um pacote.
O apt-get é muito usado também para fazer atualização de todos os pacotes do sistema, com o comando update para atualizar as bases de dados com os pacotes novos e posteriormente o comando upgrade para fazer as atualizações:
# apt-get update # apt-get upgrade
O apt-get pode atualizar toda a sua distribuição de uma forma inteligente e segura. Ele lê a listagem de pacotes disponíveis no servidor remoto, verifica quais estão instalados e suas versões e atualiza os pacotes antigos.
# apt-get dist-update
Mas e o comando apt ? É diferente em que?
Desde 2014 as distribuições baseadas em Debian incluíram um aprimoramento do apt-get, que uniu e melhorou várias ferramentas que compunham o pacote do apt-get. Essa nova versão vitaminada do apt-get ficou conhecida apenas como apt.
O apt faz tudo que o apt-get faz. Então, para instalar, atualizar e remover pacotes no dia a dia, tanto faz se você usa o apt ou apt-get.
Para instalar um ou mais pacotes com o apt:
# apt install pacote1 pacote2
Para remover um ou mais pacotes:
# apt remove pacote1 pacote2
De vez em quando é possível um ou mais arquivos que compõe um pacote instalado ser danificado ou removido por acidente. Desta forma, a maneira mais fácil de recuperar estes arquivos é reinstalar o pacote afetado.
Infelizmente, o sistema de empacotamento pode notar que o pacote já está instalado e se recusará a reinstalá-lo. Para driblar o sistema e forçar uma reinstalação de um pacote, deve-se usar a opção –reinstall do apt.
No exemplo o pacote httpd é reinstalado:
# apt --reinstall install httpd
Para atualizar os pacotes instalados com a última versão disponível no repositório, use os comandos update e depois upgrade.
# apt update
O update baixa a lista de pacotes atualizada.
Para efetivamente fazer a atualização:
# apt upgrade
O gerenciador de pacotes apt mantém uma cópia de cada arquivo .deb baixado no diretório /var/cache/apt/archives/.
Com o tempo, este diretório pode ocupar muito espaço do disco. Para esvaziar o cache do apt, use o comando clean:
# apt clean
Para mudar de uma versão principal do Debian ou Ubuntu para a seguinte, você precisa usar o comando apt full-upgrade. Com esta instrução, o apt vai completar a atualização, removendo alguns pacotes obsoletos e instalando novas dependências:
# apt full-upgrade
Sempre antes de atualizar o sistema usando um full-upgrade, faça um backup. Se você quiser ver como fazer update no seu Ubuntu, leia este post.
Conclusão
Se você usa o Debian ou Ubuntu, é essencial aprender o comando apt para gerenciar os pacotes destes sistemas.
Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.
Gostou? Compartilhe
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix
1 Comentário
Ótimo guia! A explicação sobre as diferenças entre apt-get e apt ficou bem clara. Ajuda bastante quem está começando a navegar no mundo do Linux. Obrigado por compartilhar!