sexta-feira, agosto 11, 2006

Lidando com pacotes rpm

Algo que todo administrado linux/unix tem que fazer é lidar com pacotes. Dependendo de qual distribuição pode ser: deb, rpm, tgz...
Isto leva a duas questões:

  1. como lidar com o pacote.?
  2. como trabalhar com a ferramenta de instalação?
Aqui abordarei um pouco sobre os pacotes rpm. São usados nas distros que tem a raiz no Linux RedHat. Em primeiro lugar, vamos falar para lidar com os pacotes diretamente, via ferramentas rpm.
Quando você tem um pacote src.rpm, é necessário (re)compilar o pacote. O comando ficaria assim:
rpmbuild --rebuild --with fdr50 pacote_rpm-versao.src.rpm
Veja um exemplo, se quisermos instalar o qmail-toaster (instalação facilitada do qmail criado pelo pessoal que mantem os pacotes toaster) no fedora core 5:
rpmbuild --rebuild --with fdr50 daemontools-toaster-0.76-1.3.1.src.rpm
Este comando criaria um pacote daemontools-toaster-0.76-1.3.1.i386.rpm, no seguinte folder: /usr/src/redhat/RPMS/i386.
Outra questão que temos, é como instalar, desistalar e consultar pacotes rpm. aqui vai uma colinha dos comandos:












rpm -ivh pacote.rpmInstala pacote rpm
rpm -Uvh pacote.rpmAtualiza pacote rpm (não sobrescreve, ou deixa um bkp dos arquivos conf)
rpm -e pacote.rpmDesinstala pacote rpm
rpm -qa pacote.rpmLista pacotes instalados
rpm -qi pacote.rpmInformações sobre o pacote
rpm -ql pacote.rpmLista os arquivos do pacote
especiais
rpm -ivh --replacefiles pacote.rpmRe-instala pacote rpm, sobrescrevendo os arquivos
rpm -Uvh --oldpackages pacote.rpmAtualiza por um pacote mais antigo
rpm -Vf /caminho/arquivoVerifica a qual pacote pertence o arquivo
rpm -ivh --test pacote.rpmTesta a instalação, para ver se não tem problema de dependência

Outra forma que temos para lidar com instalação de programas nos forks do RedHat é lidando com o yum (instalado por padrão). A grande vantagem, que você não precisa ficar pensando em questões de dependência de pacotes. A sintaxe dele é:

yum install programa
As opções mais usadas para o yum são: install, search, remove, list, check-update, update, provide, resolvedep.

Fonte de consulta:
Trabalhando com RPM - por Eduardo Vieira Mendes
Pacotes RPM (Infowester) - Emerson Alecrim