sexta-feira, 2 de outubro de 2015

Conhecendo o Aptitude, para Debian e Ubuntu

Olá galera, lhes trago um artigo sobre o aptitude, programa que eu uso para gerenciamento de pacotes no Debian.
Essa ferramenta é front-end para o apt-get, em todas as documentações que li, eles sempre citam o aptitude como uma ferramenta mais avançada, ou como uma ferramenta de uso diário, dando a entender como se fosse a ferramenta padrão para isso, mas eu nunca vi ninguém sendo explicito nos manuais, talvez para evitar alguma polêmica, afinal “apt-get” é bem conhecido.
Não tenho intuito de fazer você trocar o apt pelo aptitude, alias como bom debiano sugiro você conhecer como a palma de sua mão, as duas ferramentas.




Vamos ao que interessa.
Não vou lidar com o aptitude no modo curses, interface mais amigável, prefiro o modo console mesmo.
Vamos começar com o que os parâmetros do aptitude similares ao apt.

aptitude install pacote 
(similar apt-get install no Jessie)

O aptitude sempre instalou por padrão os pacotes recomendados, o apt nas versões anteriores ao Jessie, apenas mencionavas eles. Isso mudou no Jessie o “apt-get” instala também pacotes recomendados, portando neste parâmetro, não há diferenças.

aptitude update 
(similar apt-get update)

O comando é o mesmo, mas a diferença é que o aptitude mostra quando existem programas a serem atualizados, como no exemplo abaixo:

aptitude update
Buscados 223 kB em 21s (10,5 kB/s)
Estado atual: 9 atualizados [+9]

O mais interessante é que com a opção “-v” a saída fica mais detalhada:

aptitude update -v
Buscados 2.434 B em 15s (152 B/s)
Estado atual: 0 quebrado [+0], 9 atualizados [+0], 41847 novos [+0].

Nessa saída há um mostrador de pacotes quebrados, pacotes a serem atualizados, e mostra também quando novos pacotes entram no repositório.


aptitude remove pacote 
(similar apt-get remove)

Remove o pacote e também suas dependências, o apt-get remove, remove apenas o pacote e diz para rodar o autoremove, o aptitude faz isso por padrão, remove o pacote e dependências, tome cuidado com esse comando ao remover componentes de metapacotes, neste caso o recomendado seria apt-get remove.

aptitude purge pacote 
 (similar apt-get purge)

Remove o pacote e arquivos de configuração, diferenciando-se do apt, na opção anterior já mencionada.

aptitude hold pacote 
(inexistente no apt)

Mantém o pacote na sua versão atual, não atualizando o mesmo.

Exemplo:

aptitude hold iceweasel

Não vai atualizar o iceweasel, se houver uma versão mais atual.

Para desfazer isso basta:

aptitude install iceweasel 
ou
aptitude unhold iceweasel

aptitude build-depends pacote 
ou
aptitude build-dep 
(idêntico ao apt)

vai baixar todas as libs de desenvolvimento de um pacote, isso é útil se você for compilar um pacote fonte, o aptitude não tem uma opção de compilação de pacote, o apt tem.


aptitude forbid-version pacote 
(inexistente no apt)

vai manter um pacote na sua versão atual similar ao parâmetro hold, a diferença é que ele vai permitir uma atualização posterior.

Suponhamos que o iceweasel está na versão 1, se você usar esse comando ele não vai para a versão 2, mas se sair a versão 3 ele será atualizado. (muito útil com a versão problemática 2 por exemplo).

aptitude safe-upgrade pacote 
(similar ao apt-get upgrade)

Ele vai fazer uma atualização segura, ele não vai remover pacotes para atualizar, mas diferente do upgrade, se houver necessidade de instalar novos potes, estes serão instalados.


aptitude full-upgrade 
(idêntico ao apt-get dist-upgrade)


aptitude keep-all 
(manter tudo) (inexistente no apt)

Suponhamos que você removeu um programa que já vem instalado no Debian, provavelmente esse programa é dependência de um metapacote, se você removê-lo com o apt que é o recomendado, ele vai sugerir um autoremove que vai deixar o sistema inteiro inutilizável, para segurar todos esses pacotes, basta executar o comando acima, após remover o pacote.


aptitude clean 
(idêntico ao apt)

aptitude autoremove 
(idêntico ao apt)

aptitude download 
(idêntico ao apt)


aptitude search 
(similar ao apt) é aqui que eu vou falar das expressões regulares do aptitude que realmente são fantásticas.

Você pode usá-las passando “~” seguidos da palavra longa ou curta, vou usar a curta neste artigo.

Para procurar pacotes instalado no sistema:

aptitude search '~i pacote' 
(coloque entre aspas simples para evitar que shell expanda.)

Procura por pacotes instalados no apenas

aptitude search '~N pacote'

Procurar por pacotes novos não inalados.

aptitude search '~U pacote'

Procurar por pacote a serem atualizados

aptitude search '~M pacote'

procurar por pacotes instalados automaticamente

aptitude search '~c pacote'

Procurar por pacotes que foram removidos, mas não purgados.

Ele também suporta operadores lógicos:

aptitude search '(~i leafpad | ~i mousepad)'

Procurar por leafpad instalado ou por mousepad


Procurar por tudo que não contenha a palavra leafpad no nome:

aptitude search '(~n ! leafpad)'


Procurar uma “tarefa”, você pode procurar por metapacotes por exemplo, supondo que eu queira instalar qualquer tarefa que contenha o nome xfce.

aptitude install '~t xfce'

isso vai instalar o XFCE desktop no meu computador.

As vezes um pacote vai se instalado numa atualização, e você gostaria de saber por qual motivo, você pode usar o “aptitude why”.

Por exemplo uma atualização aqui, vai instalar um pacote chamado “libpcre3”

aptitude why libpcre3
i nmap Depende libpcre3 (>= 1:8.35)

Veja, ele vai instalar essa lib porque o nmap depende dela.

As vezes ocorrem algo mais difícil, um pacote não pode ser instalado, por que quebra ou conflita, você pode perguntar o porquê disso ocorrer.

aptitude why-not virtualbox
i virtualbox-5.0 Conflita virtualbox

Veja eu tenho a versão atual do virtualbox 5.0, se eu tentar instalar o virtualbox versão antiga dos repositórios ele diz que há um conflito.

Isso foi só algumas dicas, você pode encontrar mais detalhes lendo o manual de referência do aptitude.

https://www.debian.org/doc/manuals/aptitude/index.en.html

Tutorial feito pelo amigo



Nenhum comentário:

Postar um comentário