O Gerenciador de Pacotes RPM


O RPM é um poderoso gerenciador de pacotes que permite ao administrador instalar, remover e obter informações sobre pacotes. Com o RPM é possível também reparar um banco de dados danificado, construir pacotes a partir de arquivos fonte, verificar a assinatura digital de pacotes RPM, simular uma instalação, entre outras coisas. O RPM oferece uma grande gama de funcionalidades, no entanto, serão mostrados aqui apenas as mais utilizadas, devendo o administrador consultar a documentação do aplicativo para obter mais detalhes.

Instalando e Atualizando Pacotes RPM

Instalar pacotes utilizando utilizando o comando rpm é bastante simples. Abra um terminal e, estando no mesmo diretório onde está o pacote que se deseja instalar, digite:

# rpm -i pacote-versao.i386.rpm

A opção -i informa ao comando que você deseja instalar um pacote. É recomendado que o administrador utilize também as opções v (verbose – modo detalhado) e h (inclui linhas de progresso) ao instalar um pacote, ou seja, rpm -ivh mostra mais informações sobre o andamento do processo.

Caso o pacote a ser instalado necessite que outro pacote tenha sido previamente instalado, o RPM apresentará uma mensagem de erro mostrando quais dependências não foram atendidas para a instalação deste pacote. Será necessário então instalar os pacotes indicados para poder então instalar com sucesso o pacote que originalmente se queria instalar. Será mostrado mais adiante um modo de fazer isso automaticamente.

Caso se deseje atualizar um pacote já instalado no sistema por uma versão mais nova em vez do -i utilize a opção -U, assim o pacote mais antigo será removido, o pacote novo será instalado e as configurações serão mantidas.

Removendo Pacotes RPM

Para remover um pacote com o rpm abra um terminal e digite:

# rpm -e nome_do_pacote

Ao remover um pacote não é necessário utilizar o nome do pacote completo, isto é, não utilize nome-versão-release.rpm, mas sim apenas o nome do pacote. Utilize a versão apenas se existirem duas versões do pacote instalado e se desejar remover uma delas.

Caso algum pacote instalado no sistema dependa do pacote que se deseja remover, o RPM não fará a desinstalação e emitirá uma mensagem de erro informando que dependências seriam quebradas com isto. Caso seja realmente necessário, o administrador poderá utilizar a opção --nodeps para evitar que o RPM faça essa verificação, mas isso não é recomendado, pois poderá danificar o sistema.

Obtendo Mais Informações Sobre os Pacotes

O RPM pode ser utilizado para obter mais informações sobre os pacotes, tanto os já instalados quanto os não instalados. A forma básica para o modo de consulta é rpm -q[opção] pacote. Será mostrado a seguir, algumas das consultas mais comuns utilizando-se o RPM:

Obtendo informações de um pacote:

$ rpm -qi bash
Name        : bash         Relocations: (not relocatable)
Version     : 2.05b        Vendor: Conectiva
Release     : 42313cl      Architecture: i386
Group       : Base         License: GPL
Size        : 772573
Install Date: Qui 04 Mar 2004 11:26:13 BRT
Build Date  : Sex 26 Dez 2003 01:52:22 BRT
Build Host  : mapi8.distro.conectiva
Source RPM  : bash-2.05b-42313cl.src.rpm
Signature   : (none)
Packager    : Conectiva S.A. <security at conectiva.com.br>
URL         : http://www.gnu.org/software/bash
Summary     : GNU Bourne Again Shell (bash)
Description :
Bash é um interpretador de comandos compatível com sh,
que executa comandos lidos da entrada padrão ou de um arquivo.
Bash também incorpora características úteis das shells Korn e
C (ksh e csh). O Bash tem sido desenvolvido para ser uma
implementação compatível com a especificação IEEE Posix para
shells e ferramentas (IEEE Working Group 1003.2).

Para obter informações de um pacote que não está instalado, utilize a opção -p, seguida do nome do arquivo do pacote.

O administrador poderá utilizar o rpm para obter informações sobre as dependências de um pacote. Poderá descobrir que outros pacotes dependem do pacote que se quer consultar, bem como descobrir de que pacotes o pacote consultado necessita. Os dois exemplos abaixo mostram como descobrir essas duas informações, respectivamente:

# rpm -q --whatrequires glib
gtk+-1.2.10-45456cl
xmms-1.2.10-52293cl
bonobo-1.0.22-46388cl

# $ rpm -q --requires glib
/sbin/ldconfig
/sbin/ldconfig
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1.2)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.3)
libdl.so.2
libdl.so.2(GLIBC_2.0)
libdl.so.2(GLIBC_2.1)
libpthread.so.0
libpthread.so.0(GLIBC_2.0)
libpthread.so.0(GLIBC_2.3.2)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(ScriptletInterpreterArgs) <= 4.0.3-1

Para descobrir a qual pacote pertence um arquivo do sistema utilize a opção -qf arquivo, como no exemplo abaixo:

# rpm -qf /bin/bash
bash-2.05b-42313cl

E como um último exemplo, veja como listar todos os pacotes instalados no sistema:

# rpm -qa

Roney Médice

Analista de Sistemas e Bacharel em Direito

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s