Dicas para o apt-get e o aptitude
Publicado em 14/02/2009 – 17:39por Carlos Morimoto
O uso do gerenciador de atualizações e do Synaptic facilitam bastante a administração do sistema, permitindo que o Ubuntu seja usado por mais usuários. Apesar disso, a possibilidade de usar o apt-get via linha de comando para instalar novos pacotes e para atualizar o sistema continua disponível, assim como ao usar qualquer outra distribuição derivada do Debian.
O uso do apt-get é bastante simples. Ele trabalha baixando pacotes a partir dos repositórios oficiais do Debian ou do Ubuntu, de forma que você obtém sempre a versão mais atualizada. Para que o sistema funcione, é preciso baixar periodicamente uma lista com os pacotes disponíveis em cada servidor, permitindo que o apt-get mantenha seu banco de dados local. Isso é feito usando o:
$ sudo apt-get update
Ele deve ser executado regularmente, de preferência antes de fazer cada instalação, para que o sistema instale sempre as versões mais recentes dos pacotes. Para instalar qualquer pacote pelo apt-get, use o comando "apt-get install", como em:
$ sudo apt-get install vlc
O apt-get instala automaticamente todas dependências do pacote, pedindo sua confirmação. Em muitos casos é mostrada também uma lista de pacotes recomendados, pacotes opcionais, que não são instalados por padrão, mas que podem adicionar funcionalidades importantes.
Quase todos os aplicativos gráficos criam um ícone no iniciar quando instalados, mas nos poucos casos em que isso não acontece, basta criar o ícone manualmente, usando o editor de menus. Outra dica é que você pode completar os nomes dos pacotes pressionando a tecla TAB, assim como nos demais comandos. Sempre que houver mais de uma possibilidade, pressionar o TAB pela segunda vez mostra a lista das alternativas possíveis. Você pode fazer buscas nos nomes dos pacotes usando o "apt-cache search" como em:
$ sudo apt-cache search theora
Ele retorna todos os pacotes que incluam o termo especificado no nome ou na descrição, ajudando a achar o que procura. Se você quiser ser mais específico, pesquisando apenas nos nomes nos pacotes, adicione a opção "-n", como em:
$ sudo apt-cache search pulseaudio
Você pode também instalar vários pacotes de uma vez, incluindo todos na mesma linha, como em:
$ sudo apt-get install vlc mplayer
O apt-get só é capaz de instalar pacotes que estejam disponíveis nos repositórios especificados no "/etc/apt/sources.list", o que nos leva de volta à questão dos repositórios adicionais. Se você não adicionou o repositório do Medibuntu, não vai conseguir instalar o pacote "libdvdcss2" necessário para assistir os DVDs protegidos por exemplo, recebendo de volta um "O pacote libdvdcss2 não tem candidato para instalação".
Nesses casos, a solução é pesquisar por endereços de repositórios adicionais que ofereçam o pacote desejado, adicionar as linhas correspondentes no sources.list e rodar o "apt-get update" para atualizar as listas.
Continuando, para remover pacotes, basta usar o "apt-get remove", seguido pelo nome, como em:
$ sudo apt-get remove evolution
Quase sempre, o nome do pacote é o mesmo nome do aplicativo e do comando usado para chamá-lo no terminal, o que facilita as coisas.
A principal observação é que o apt-get remove apenas o pacote especificado, sem mexer em outras bibliotecas e pacotes que foram instalados junto com ele. Para evitar que estes componentes desnecessários se acumulem, está disponível o "apt-get autoremove", que se encarrega de localizar e remover os pacotes "órfãos", que não são mais necessários:
$ sudo apt-get autoremove
Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
Os seguintes pacotes foram automaticamente instalados e não são mais requeridos:
libdca0 libass1 libdvbpsi4 libvlc2 vlc-nox libiso9660-5 liblua5.1-0 vlc-data libtar libimlib2 libvlccore0 libvcdinfo0 libebml0 libmatroska0 libsdl-image1.2
Os pacotes a seguir serão REMOVIDOS:
libass1 libdca0 libdvbpsi4 libebml0 libimlib2 libiso9660-5 liblua5.1-0 libmatroska0 libsdl-image1.2 libtar libvcdinfo0 libvlc2 libvlccore0 vlc-data vlc-nox
0 pacotes atualizados, 0 pacotes novos instalados, 15 a serem removidos e 5 não atualizados.
Depois desta operação, 25,5MB de espaço em disco serão liberados.
Você quer continuar [S/n]?
É possível também atualizar o sistema diretamente via linha de comando, usando o
$ sudo apt-get update; sudo apt-get upgrade
Ou o:
$ sudo apt-get update; sudo apt-get dist-upgrade
A diferença entre os dois é que o "apt-get upgrade" atualiza apenas os pacotes que possuem atualizações diretas, ou seja, pacotes cujas novas versões não incluam novas dependências, enquanto o "apt-get dist-upgrade" faz uma atualização completa, instalando todos os novos pacotes que forem necessários. De uma maneira geral, utilizamos o "upgrade" para instalar atualizações de segurança e outras atualizações de rotina e o "dist-upgrade" ao atualizar para uma nova versão do sistema.
Em alguns casos, o apt exibe um prompt perguntando sobre a atualização de arquivos de configuração:

Ele é exibido em casos em que você modificou um arquivo de configuração manualmente, como ao modificar a configuração do grub para inicializar outros sistemas. Nesses casos, o apt pergunta se você deseja manter sua configuração atual (que é a opção mais segura) ou se deseja instalar a nova versão do arquivo (versão do mantenedor do pacote), incluída na atualização. O problema em usar a nova versão é que você perde a sua personalização, tendo que fazer a configuração novamente.
Concluindo, você pode também atualizar pacotes individualmente. Nesse caso, basta usar o "apt-get install pacote", como se quisesse instalá-lo novamente. O apt verifica os repositórios e oferece para instalar a nova versão, caso disponível.
Um detalhe interessante é que, mesmo ao atualizar um programa, as suas configurações são mantidas. Ao atualizar o Firefox ou o Konqueror, por exemplo, você não perde seus bookmarks. Isso acontece porque as configurações e arquivos referentes aos programas são armazenados em pastas ocultas dentro do seu diretório de usuário. Os bookmarks, cache, cookies e outros arquivos do Firefox, por exemplo, vão para a pasta ".mozilla/firefox", dentro do seu home. O apt-get nunca altera estes arquivos, de forma que suas preferências sempre são preservadas durante os upgrades.
Um segundo tipo são os arquivos de configuração do sistema, que também fazem parte dos pacotes. Quando um pacote traz uma nova versão de um determinado arquivo de configuração, mas o apt-get percebe que o arquivo anterior foi alterado por você, ele pergunta se você quer manter o arquivo atual ou se você quer substituí-lo pela nova versão. O conselho geral nestes casos é responder não à substituição (que é o default). Isso mantém o arquivo atual, que, afinal, está funcionando. Autorize a substituição apenas quando você souber do que se trata.
Você pode também verificar os detalhes de um determinado pacote (esteja ele instalado ou não) usando o "apt-cache show", como em:
$ apt-cache show vlc
Ele mostra um grande volume de informações sobre o pacote, incluindo a versão, o espaço que ocupa quando instalado, de quais outros pacotes ele depende (ou seja, a lista de pacotes que serão instalados junto com ele, a descrição, a página do projeto o mantenedor do pacote para o Ubuntu e assim por diante. Vendo as descrições dos pacotes antes de instalar, você pode aprender bastante sobre eles.
Embora o apt-get seja a ferramenta mais tradicional e a mais usada, ele disputa o posto com o aptitude, um "sucessor" que se oferece para resolver os mesmos problemas, mas oferece algumas vantagens técnicas sobre o apt-get.
A sintaxe básica é essencialmente a mesma, com a atualização das listas sendo feita com "aptitude update", a instalação de pacotes com o "aptitude install pacote" e a remoção com o "aptitude remove pacote", como em:
$ sudo aptitude update
$ sudo aptitude install mplayer
$ sudo aptitude remove totem
Ele pode ser usado também para atualizar o sistema, usando os parâmetros "upgrade" e "dist-upgrade", da mesma forma que no caso do apt-get:
$ sudo aptitude dist-upgrade
Ele acumula também as funções do apt-cache, permitindo que você veja informações sobre um pacote usando o "aptitude show" e faça a busca por pacotes usando o "aptitude search", como em:
$ aptitude show kaffeine
$ aptitude search sun-java
Em resumo, a escolha entre o apt-get e o aptitude recai mais sobre suas preferências pessoais, já que ele é outra ferramenta destinada a solucionar exatamente o mesmo problema. Muitas das deficiências do apt-get, que levaram ao aparecimento do aptitude já foram solucionadas nas versões recentes, o que faz com que as duas ferramentas se tornassem mais e mais parecidas em termos de funções. Isso fez com que a disputa entre os dois se tornasse mais um caso "Vi x Emacs", que provoca discussões acaloradas entre alguns desenvolvedores, mas não faz muita diferença para os usuários finais.
O mais importante a enfatizar é que o aptitude é apenas mais um front-end para o apt, que pode ser usado em parceria com o apt-get, o Synaptic e outros gerenciadores de pacotes. Não existe nada de errado em alternar entre eles, usando um ou outro de acordo com a situação. Se usados corretamente, os resultados serão sempre os mesmos.
O aptitude também oferece uma interface de gerenciamento de pacotes, que é bastante popular entre administradores de sistemas, já que pode ser usada em servidores sem interface gráfica instalada, acessada via SSH. Para usá-la, basta chamar o aptitude sem argumentos, como em "sudo aptitude":

A interface é toda controlada através de atalhos de teclado, o que faz com que ela possa ser usada de maneira bastante eficiente depois de pegar o jeito, mas, ao mesmo tempo, faz com que ela seja horrivelmente inconveniente para quem está começando agora. Você pode atualizar as listas (apt-get update) pressionando a tecla "u", marcar um pacote para instalação ou atualização selecionando-o na lista e pressionando a tecla "+", remover pacotes pressionando "-" e assim por diante (pressione a tecla "?" para ver a lista dos atalhos disponíveis e "q" para voltar ao menu principal). Assim como no caso do Synaptic, você pode marcar várias operações e executá-las de uma só vez pressionando a tecla "g".
Outra dúvida comum é como configurar o apt para baixar os pacotes através de um proxy, o que é um problema no caso de muitas empresas, onde o acesso é restrito e feito apenas através de um proxy.
Nesse caso, crie o arquivo "/etc/apt/apt.conf.d/98proxy ", adicionando uma seção "Acquire", especificando o login e a senha de acesso, o endereço do servidor e a porta utilizada por ele, como em:
Acquire{
HTTP::proxy "http://gdh:12345@192.168.1.254:3128";
FTP::proxy "http://gdh:12345@192.168.1.254:3128";
}
A linha "FTP" é necessária apenas se o arquivo sources.list incluir algum endereço de repositório acessado via FTP, o que é suportado pelo apt, porém raramente usado. Se você acessa através de um proxy simples, que não exige senha, a configuração é ainda mais simples:
Acquire{
HTTP::proxy "http://192.168.1.254:3128";
FTP::proxy "http://192.168.1.254:3128";
}
Como a configuração é checada cada vez que o apt é executado, basta usar um "apt-get update" depois de salvar o arquivo para testar a configuração; não é necessário reiniciar nenhum serviço.



14 respostas para “Dicas para o apt-get e o aptitude”
Muito interessante. Sempre vejo alguns sites usarem o aptitude e outros o apt-get, mas nunca parei pra pensar qual a diferença entre eles.
Muito bom o artigo… Desconhecia a existência de uma interface em modo texto para o aptitude até ler esse artigo…
Já tinha visto dicas de como usar o apt/aptitude via proxy que exigiam editar 2 ou 3 arquivos. Eu acabava esperando voltar pra casa pra instalar algum pacote. Essa de verificação automática do proxy é ótima!
Olá
Vide a diferença entre o aptitude antigo e o mais recente
1- Em vez de usar o apt-get, usar o aptitude, pois ele resolve melhor as dependências e conflitos que podem surgir.
2- Atualize a lista de pacotes:
aptitude update
A)
Se quiser atualizar o sistema inteiro, primeiro instalar a versão mais nova do aptitude com:
aptitude install aptitude
Depois atualizar o sistema:
aptitude safe-upgrade
E depois:
aptitude full-upgrade
B)
Se quiser instalar apenas um kernel, fazer o seguinte:
- Pesquisar pelo kernel:
aptitude search linux-image
3- Instalar o kernel:
aptitude install linux-image
4- Se quiser fazer as atualizações, então primeiro atualizar o sistema e depois o kernel.
Fonte de Informação:
http://www.forumdebian.com.br/topico-7615.html&highlight=atualizar
Consta das notas de lançamento do Lenny que o aptitude resolve melhor as dependências, sendo um plus em relação ao apt:
"2.1.1. Gestão de pacotes
O programa preferido para gestão de pacotes desde a linha de comandos é o aptitude, o qual consegue executar as mesmas funções de gestão de pacotes que o apt-get e tem provado ser melhor na resolução de dependências. Se você ainda está a usar o dselect, você deverá mudar para o aptitude como o 'frontend' oficial para gestão de pacotes.
Para a lenny foi implementado no aptitude um mecanismo avançado de resolução de conflitos que irá tentar encontrar a melhor solução se forem detectados conflitos devido a alterações nas dependências entre pacotes. …" (fonte: http://www.debian.org/releases/lenny/i386/release-notes/ch-whats-new.pt.html).
Agora, o modo como isso se efetiva é que são elas. Um simples frontend apenas arranja os controles e resultados, mas parece que o aptitude é mais que isso, sendo um gerenciador de pacotes deb.
Creio que o aptitude evoluiu de mero frontend do apt para gerenciador, assim como o apt, em relação ao dpkg.
Tudo é questão de ponto de vista.
Abraços
Só um detalhe: para apt-cache search não é necessário ser superusuário, então não precisa sudo na frente do comando.
so para descontrair Digite aptitude -v moo e adicione sucessivamente a letra v.
ou
apt-get moo
olá!!
aproveitando o assunto, tenho instalado no meu pc o Kurumin 7.0 e quando eu executo o comando apt-get update aparece essa seguinte mensagem:
Lendo lista de pacotes… Pronto
W: GPG error: http://ftp.debian-unofficial.org etch Release: As assinaturas a seguir não puderam ser verificadas devido a chave pública não estar disponível: NO_PUBKEY 394D199524C52AC3
W: Você terá que executar apt-get update para corrigir esses problemas
alguem poderia me ajudar??
desde já agradeço!!
É só adicionar a chave:
sudo k-add-key 24C52AC3
sudo apt-get update
Este script "k-add-key" é um facilitador para a instalação de novas chaves. Pode ser usado em outras distribuições também, é só copiar o arquivo "/usr/local/bin/k-add-key".
Esclareceu muitas dúvidas e aprendi mais alguns truques.
Vlw!
Acabei de instalar o Kurumin NG 8.6, que é baseado no Ubuntu.
Eu gostaria de instalar um programa chamado Cinelerra, que é usado para editar vídeo.
Eu gostaria, de saber, como baixar o cinelerra apropriado e como instalar no Kurumin NG.
Obrigado pela atenção.
show, como sempre um artigo show! mas ainda não consegui, atraves dos "apt" resolver uma "questãozinha chata…" sempre depois de uma instalação ou remoção aparece: problemas de dependência g15daemon, g15stats g15macro.
Tá complicado…
se eu fizer o comando S sudo apt-get autoremove
tudo que eu tenho salvo em "home" sera removido?
como as fotos, musicas, videos etc…?
porque eu estou com pouco espaço em dev/hda2
como faço para liberar espaço?
meu msn willsilva_red@hotmail.com
ou e-mail willcarlosnx@gmail.com
espero respostas..
Estou em um local onde o proxy é definido automaticamente através de um site, como configuro o synaptic neste caso?
Diferente do que ocorre o Firefox, por ex., na guia de definição de proxy do synaptic não aprece a opção de obter proxy automaticamente de um endereço na rede.
Grato pela atenção,
Marcelo