Gerenciando pacotes RPM


Comandos intermediários do GNU/Linux

Instalação de programas
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.
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

[Tip] Dica

Para procurar por um pacote específico em todos os pacotes instalados em seu sistema, você pode utilizar o comando anterior, juntamente com o grep. Se você quiser, por exemplo, encontrar todos os pacotes do XFree instalados em seu sistema, pode fazer o seguinte:

# rpm -qa | grep xfree
Recuperando o Banco de Dados RPM

Se por um motivo ou outro o banco de dados de pacotes corromper-se, o rpm pode recuperá-lo. Caso seja necessário fazer isso, basta utilizar o comando abaixo:

# rpm –rebuilddb
Utilizando Pacotes de Fontes

Usualmente, além dos pacotes que contém os binários dos aplicativos, encontram-se também pacotes contendo os arquivos fontes[15] dos aplicativos[16]. O pacote fonte, ao ser instalado, copia seus arquivos para a o diretório /usr/src/rpm, permitindo assim que os usuários do sistema possam estudar como determinado programa é feito e até mesmo alterá-lo de acordo com sua vontade.

É possível utilizar um pacote fonte para construir um pacote RPM contendo os arquivos binários adequados à arquitetura da máquina em que ele será utilizado. Se você possui o arquivo fonte e deseja construir um pacote contendo os binários para que o programa possa efetivamente ser instalado, utilize o comando rpm com a opção –rebuild pacote.src.rpm. O pacote será construído e colocado no diretório /usr/src/rpm/RPMS/arquitetura, onde arquitetura é o processador para o qual o pacote foi compilado, normalmente i386. Proceda então a instalação como faria normalmente.

alguns exemplos básicos:

1
verficando quais pacotes estão instaados no sistema

2
verificando o que será instalado com o pacote sl

3
verificando pacotes que poderão ser instalados

6

7
instalando o programa .rpm

8
verificando o pacote instalado


4 comentários sobre “Gerenciando pacotes RPM

Os comentários estão desativados.