No Guia Foca GNU/Linux
tem um dica que eu achei muito legal e útil,ela está disponível no ítem 19.11 - Lista de pacotes para uma instalação
rápida e manual
Antes de começar a explanar estas
pequenas dicas,vamos rever um pouco o capítulo 20,muito
utilizado no mundo linux,e que tem termos que soam
bastante estranho para um usuário recém chegado.O Foca nos dá uma definição
muito boa do "Sistema de gerenciamento de Pacotes". O capítulo
ensina a lidar com operações básicas,via
linha-de-comando,na manipulação de pacotes Debian, instalação, remoção, consulta e
checagem de arquivos .deb.
O dpkg (Debian Package) é o programa responsável pelo
gerenciamento de pacotes em sistemas Debian. Sua operação é feita em modo
texto e funciona através de comandos, assim caso deseje uma ferramenta mais
amigável para a seleção e instalação de pacotes, prefira o dselect (que é um front-end
para o dpkg) ou o apt (veja apt, Seção 20.2) ---> falarei sobre ele
em outro artigo aqui no Colossos
dpkg é muito usado por usuários
avançados da Debian e desenvolvedores para fins de
instalação, manutenção e construção de pacotes.
PACOTES
Pacotes Debian são programas colocados dentro de um arquivo identificados pela
extensão .deb incluindo arquivos necessários
para a instalação do programa, um sistemas de listagem/checagem
de dependências, scripts de automatização para remoção parcial/total
do pacote, listagem de arquivos, etc.
Um nome de pacote tem a forma nome-versão_revisão.deb
Exemplo >> dpkg 1.13.24ubuntu6.deb
INSTALAR PACOTES
Use o comando:
dpkg -i [NomedoPacote] (ou --install)
para instalar um pacote em seu sistema.
Talvez ele peça que seja instalado algum pacote que depende para seu
funcionamento. Para detalhes sobre dependências veja Dependências,
Seção 20.1.3. É preciso especificar o nome completo do pacote (com a
versão e revisão).
Dependências são pacotes requeridos para a instalação de outro
pacote. Na Debian cada pacote contém um programa com uma certa função. Por exemplo,
se você tentar instalar o pacote de edição de textos supertext que usa o programa sed, você precisará verificar se o
pacote sed está instalado em seu sistema antes de tentar instalar o supertext, caso contrário, o pacote supertext pedirá o sed e não funcionará corretamente.
Note que o pacote supertext é apenas um exemplo e não existe (pelo menos até agora :-). O programa dselect faz o trabalho de checagem de
dependências automaticamente durante a instalação dos pacotes.
A colocação de cada programa em seu próprio pacote parece ser
uma dificuldade a mais para a instalação manual de um certo programa. Mas para
os desenvolvedores que mantém os mais de 8710 pacotes existentes na
distribuição Debian, é um ponto fundamental, porque não é preciso esperar uma nova
versão do supertext ser lançada para instalar a versão mais nova do pacote sed. Por este motivo também é uma
vantagem para o usuário.
Retomando o assunto tema do artigo,veremos que a utilidade de gerar uma lista de pacotes
está no fato de se poder utilizar esta lista,depois de gerada,para instalar os
mesmos pacotes em outra máquina.A lista é um arquivo texto,simples,
de uns poucos KBs.
Se pretende usar a lista de pacotes para fazer a
instalação da Debian em muitos computadores, você tem duas opções:
Debian em outras máquinas Lista-Pacotes.txt contendo a lista de pacotes instalados.dselect.Esmiuçando outros comandos simples
e fáceis de digitar são estes,segundo o Foca GNU/Linux :
Use o comando:
dpkg -l [pacote] (--list) para isto.
Na listagem de pacotes também será mostrado o "status"
de cada um na coluna da esquerda, acompanhado do nome do pacote, versão e
descrição básica. Caso o nome do [pacote] seja omitido, todos os pacotes serão
listados.
É recomendado usar "dpkg -l|less" para ter um melhor controle
da listagem (pode ser longa dependendo da quantidade de programas instalados).
Use o comando:
dpkg -r NomedoPacote (--remove)
para remover um pacote do sistema
completamente. Somente é necessário digitar o nome e versão do pacote que
deseja remover, não sendo necessário a revisão do
pacote.
O comando dpkg -r não remove os arquivos de configuração criados pelo programa.
Use o comando:
dpkg -P [NomedoPacote|-a] (--purge)
para remover um pacote e todos os diretórios
e arquivos de configuração criados. Não é necessário especificar a revisão do
pacote. O comando dpkg--purge pode ser usado após uma remoção
normal do pacote (usando dpkg -r).
Caso você usar diretamente o comando dpkg --purge, dpkg primeiro removerá o pacote
normalmente (como explicado em Removendo
pacotes do sistema, Seção 20.1.5) e após removido apagará todos os
arquivos de configuração.
Caso especifique a opção -a (ou sua equivalente --pending) no lugar do nome do pacote, todos
os pacotes marcados para remoção serão removidos completamente do sistema.
Note que o dpkg --purge somente remove arquivos de
configuração conhecidos pelo pacote. Em especial, os arquivos de configuração
criados para cada usuário do sistema devem ser removidos manualmente. Seria
pedir demais que o dpkg também conhecesse os usuários de nosso sistema
;-).
MOSTRAR DESCRIÇÃO DO PACOTE
Use o comando:
dpkg -I NomedoPacote (--info)
para mostrar a descrição do pacote.
Entre a descrição são mostradas as dependências do pacote, pacotes sugeridos,
recomendados, descrição do que o pacote faz, tamanho e número de arquivos que
contém.
Use o comando:
dpkg -S arquivo (--search)
para saber de qual pacote existente no sistema o arquivo pertence.
Use o comando:
dpkg -s pacote (--status)
para verificar o status de um pacote em
seu sistema, se esta ou não instalado, configurado, tamanho, dependências, maintainer, etc.
Se o pacote estiver instalado no sistema, o resultado será
parecido com o do comando dpkg -c [pacote] (--contents).
A checagem de pacotes com este tipo de problema pode ser feita
através do comando:
dpkg -C (--audit)
Será listado todos os pacotes com algum tipo
de problema, verifique os detalhes do pacote com "dpkg -s" para decidir como corrigir o problema.
Use o
comando:
dpkg --get-selections
(apenas
lista na tela o nome dos pacotes instalados)opcionalmente
pode-se usar dpkg --get-selections|less para ter um melhor controle da listagem (pode ser longa
dependendo da quantidade de programas instalados).
Use o
comando:
dpkg --set-selections
para obter a lista de pacotes que serão
instalados no sistema. O uso do dpkg --get-selections e dpkg --set-selections é muito útil durante uma
necessidade de reinstalação do sistema GNU/Linux ou repetir a instalação em várias
máquinas sem precisar selecionar algumas dezenas entre os milhares de pacotes
no dselect.
Após obter a lista com dpkg --get-selections, use dpkg --set-selections dselect e escolha a opção INSTALL, todos os pacotes obtidos via dpkg --set-selections serão automaticamente instalados.
Pacotes estão desconfigurados quando,
por algum motivo, a instalação do mesmo não foi concluída com sucesso. Pode ter
faltado alguma dependência, acontecido algum erro de leitura do arquivo de
pacote, etc. Quando um erro deste tipo acontece, os arquivos necessários pelo
pacote podem ter sido instalados, mas os scripts de configuração pós-instalação
não são executados.
Use o comando:
dpkg --configure [NomedoPacote]
Para configurar um pacote. O NomedoPacote
não precisa conter a revisão do pacote e extensão.
LISTANDO ARQUIVOS DE UM PACOTE
Use
o comando:
dpkg -c arquivo (--contents)
para
obter a listagem dos arquivos contidos no pacote. É necessário digitar o nome
completo do pacote. O comando dpkg -c é útil para listarmos arquivos de pacotes que não estão
instalados no sistema.
Para
obter a listagem de arquivos de pacotes já instalados no sistema, use o comando:
dpkg -L arquivo
É
necessário digitar somente o nome do pacote (sem a revisão e extensão).
Por enquanto é isso aí,em breve vou postar algo sobre APT e futuramente sobre o
APTITUDE,este último vai demorar um pouco mais tendo em vista que será um
tutorial um pouco mais extenso e se possível com screenshots
da tela.Espero que este pequeno tutorial com conteúdo básicamente
do Foca e algumas poucas explicações minhas,cujo
assunto não é nenhuma novidade,possa ser útil,como sempre a idéia é escrever de
usuário-para-usuário,simples assim.