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
.
DPKG
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
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:
- Copiar o conteúdo das seções que seguem e fazer um script de instalação personalizado para automatizar a instalação de pacotes da
Debian
em outras máquinas Após a instalação dos pacotes no computador, utilize o comando : dpkg --get-selections >Lista-Pacotes.txt para gerar o arquivo Lista-Pacotes.txt
contendo a lista de pacotes instalados.
Então no computador que pretende fazer a instalação de pacotes, use o comando dpkg --set-selections e então digitar apt-get -f install ou escolher a opção Install no dselect
.
Esmiuçando outros comandos simples e fáceis de digitar são estes,segundo o Foca GNU/Linux :
LISTAR PACOTES EXISTENTES NO SISTEMA
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).
REMOVENDO PACOTES DO SISTEMA
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.
REMOVENDO COMPLETAMENTE UM PACOTE
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.
PROCURA DE PACOTES ATRAVÉS DO NOME DE UM ARQUIVO
Use o comando:
dpkg -S arquivo
(--search)
para saber de qual pacote
existente no sistema o arquivo
pertence.
STATUS DO PACOTE
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).
PROCURANDO PACOTES COM PROBLEMAS DE INSTALAÇÃO
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.
MOSTRANDO A LISTA DE PACOTES DO SISTEMA
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).
OBTENDO UMA LISTA DE PACOTES PARA INSTALAR NO SISTEMA
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 e então entre no dselect
e escolha a opção INSTALL, todos os pacotes obtidos via dpkg --set-selections serão automaticamente instalados.
CONFIGURANDO PACOTES DESCONFIGURADOS
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.