Instalando e gerenciando programas no Linux
Neste artigo falo sobre a estrutura seguida pelos programas distribuídos em código-fonte. Aprenderemos como gerenciar (instalar/remover) programas utilizando o GNU Make. De quebra ainda abordaremos os pacotes do Slack (.tgz) e Red Hat (.rpm).
Parte 2: Como instalar, usar e gerenciar programas RPM
Esta é hoje uma das mais avançadas tecnologias de empacotamento
de arquivos em sistemas Linux. Se você usa Red Hat, sempre
prefira os arquivos RPM (RedHat Package Manager) do que os
.tar.gz de um mesmo programa, pois eles vão poupar muito
trabalho.
Os arquivos RPM já vêm pré-compilados. Eles já vem com todos os suportes possíveis, mas isso não é uma grande desvantagem. O Red Hat é totalmente baseado nessa tecnologia, até a instalação dele é feita com os RPMs.
Para gerenciar esses arquivos, existem as ferramentas Glint (modo gráfico) e rpm (modo texto). Para instalar novos pacotes, acho mais prático o rpm texto, mas já no caso de fazer uma limpeza no sistema, o Glint certamente é melhor. Veja como instalar programas em rpm usando o modo texto:
# rpm -ivh arquivo.rpm
(instala um programa empacotado)
# rpm -Uvh arquivo.rpm
(instala um programa atualizando se existir uma versão anterior)
Veja como saber se tal programa que foi instalado com o RPM está em seu sistema Red Hat:
$ rpm -qa | grep palavra.chave
Exemplo: Quero saber se existe algum programa imlib no sistema. Mesmo sem saber a versão do programa, é possível saber se ele está instalado com uma palavra chave. Vou tentar "imlib".
$ ~/ rpm -qa | grep imlib
imlib-cfgeditor-1.9.4-1
imlib-1.9.4-1
imlib-devel-1.9.4-1
Esse foi o resultado que obtive. O imlib e alguns de seus componentes realmente estão instalados no computador.
Para desinstalar um pacote instalado:
# rpm -e pacote
(não é necessária nem a versão nem o sufixo rpm)
OBS: Note que não é necessário incluir a versão do programa, a não ser que duas versões estejam instaladas. Aí sim você vai dizer a versão para não confundir.
Existem também as opções --force ou --nodeps (geralmente as duas mais utilizadas):
Exemplo: Você quer desinstalar o pacote, mas quando digita o comando "rpm -e pacote", o sistema informa que este programa é necessário para o funcionamento de mais alguns, mas você quer removê-lo de qualquer forma:
# rpm -e --nodeps pacote
Ou deseja reinstalar um pacote porque apagou um arquivo acidentalmente:
# rpm -ivh --force pacote.rpm
Os arquivos RPM já vêm pré-compilados. Eles já vem com todos os suportes possíveis, mas isso não é uma grande desvantagem. O Red Hat é totalmente baseado nessa tecnologia, até a instalação dele é feita com os RPMs.
Para gerenciar esses arquivos, existem as ferramentas Glint (modo gráfico) e rpm (modo texto). Para instalar novos pacotes, acho mais prático o rpm texto, mas já no caso de fazer uma limpeza no sistema, o Glint certamente é melhor. Veja como instalar programas em rpm usando o modo texto:
# rpm -ivh arquivo.rpm
(instala um programa empacotado)
# rpm -Uvh arquivo.rpm
(instala um programa atualizando se existir uma versão anterior)
Veja como saber se tal programa que foi instalado com o RPM está em seu sistema Red Hat:
$ rpm -qa | grep palavra.chave
Exemplo: Quero saber se existe algum programa imlib no sistema. Mesmo sem saber a versão do programa, é possível saber se ele está instalado com uma palavra chave. Vou tentar "imlib".
$ ~/ rpm -qa | grep imlib
imlib-cfgeditor-1.9.4-1
imlib-1.9.4-1
imlib-devel-1.9.4-1
Esse foi o resultado que obtive. O imlib e alguns de seus componentes realmente estão instalados no computador.
Para desinstalar um pacote instalado:
# rpm -e pacote
(não é necessária nem a versão nem o sufixo rpm)
OBS: Note que não é necessário incluir a versão do programa, a não ser que duas versões estejam instaladas. Aí sim você vai dizer a versão para não confundir.
Existem também as opções --force ou --nodeps (geralmente as duas mais utilizadas):
- --nodeps serve para forçar a instalação do programa, mesmo se ele precisar de outros para funcionar.
- --force forca uma reinstalação, por exemplo.
Exemplo: Você quer desinstalar o pacote, mas quando digita o comando "rpm -e pacote", o sistema informa que este programa é necessário para o funcionamento de mais alguns, mas você quer removê-lo de qualquer forma:
# rpm -e --nodeps pacote
Ou deseja reinstalar um pacote porque apagou um arquivo acidentalmente:
# rpm -ivh --force pacote.rpm