Aprenda inglês em casa
Baixe gratuitamente as duas primeiras aulas
English for Reading and Listening
Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.
|
Busca |
Aprenda inglês em casa
Baixe gratuitamente as duas primeiras aulas
English for Reading and Listening
Receba por email, diariamente, mensagens contendo materiais para leitura e audição, incluindo arquivos no formato MP3 gravados por falantes nativos.
Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 22 de Janeiro de 2006
O gerenciamento de software em sistemas Red Hat Linux é feito por meio de uma ferramenta denominada RPM, iniciais de Red Hat Package Manager. Esta ferramenta permite a instalação, atualização e remoção de pacotes de software, simplificando enormemente esta tarefa comparativamente ao método tradicional, que exigia que todos os pacotes fossem compilados e instalados, em um processo difícil e propenso a falhas, com um grande consumo de tempo.
Com o RPM a instalação de software se torna extremamente simples, requerendo, na maioria dos casos, apenas a execução de um comando de uma linha. Além da facilidade de uso em si, o banco de dados RPM permite a fácil duplicação de sistemas com exatamente a mesma configuração de software.
O RPM possui cinco modos básicos de operação: instalação, desinstalação, atualização, consulta e verificação. A seguir passaremos a realizar uma análise de cada um destes modos de operação.
Softwares distribuídos no formato rpm geralmente possuem a terminação .rpm, como por exemplo gnosamba-0.3.3-1.i386.rpm. Esta representação contém o nome do software (gnosamba), a versão (0.3.3), número do release (1) e a arquitetura (i386). A instalação de um software requer nada mais do que a execução, como superusuário root do comando:
# rpm -i gnosamba-0.3.3-1.i386.rpm
A remoção de um pacote é tão simples quanto sua instalação:
# rpm -e netsaint-plugins
Na remoção de um software basta especificar-se o seu nome. Não é necessário indicar o nome completo (netsaint-plugins-1.2.4-1.i386.rpm).
Na desinstalação, caso a remoção de um pacote implique em problemas para o funcionamento de outros softwares pela eliminação de componentes compartilhados, teremos o seguinte erro:
# rpm -e kdelibs-1.1.2-9 error: removing these packages would break dependencies: libjscript.so.2 is needed by kdebase-1.1.2-11 ...
Caso realmente se deseje a remoção do software, ignorando todos e
quaisquer problemas passíveis de serem gerados, especificar a opção
--nodeps na linha de comando:
# rpm -e --nodeps kdelibs-1.1.2-9
A atualização de um software também é bastante simples:
# rpm -Uvh gnome-audio-1.0.0-7.noarch.rpm gnome-audio < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
O que na verdade ocorre quando se faz a atualização de um pacote é que
a versão anterior é removida e substituída pela nova. A opção -U
pode ser usada com segurança mesmo quando o software não se encontra
instalado em seu sistema.
O banco de dados RPM nos permite consultar a lista de softwares
instalados. Isto é feito através do comando rpm -q. Por exemplo, se
quisermos verificar se o software gnosamba está instalado, basta
emitir o comando:
% rpm -q gnosamba gnosamba-0.3.3-1
As consultas podem também ser feitas de um modo mais genérico. Caso não seja conhecido o nome correto do software, pode-se proceder como abaixo:
% rpm -qa | grep samba samba-2.0.5a-1 gnosamba-0.3.3-1 samba-client-2.0.5a-1
Desta forma, conhecendo-se apenas uma parte do nome de um pacote,
podemosobter a informação desejada conjugando o uso do programa rpm
com o comando grep.
O rpm nos permite determinar também a qual pacote pertence
determinadoarquivo. Por exemplo, se desejarmos determinar a qual
pacote pertence o arquivo smbd, basta emitir o comando:
% rpm -qf /usr/sbin/nmbd samba-2.0.5a-1
Importante, é necessário que se especifique o caminho completo até o arquivo. Caso emitamos o comando:
% rpm -qf nmbd file nmbd: Arquivo ou diretório não encontrado
será emitida uma mensagem de erro mesmo existindo o arquivo. 2.5 Verificação
A verificação de um pacote consiste em comparar a informação entreos arquivos que o compõem e aqueles que efetivamente se encontram no sistema. Esta comparação consiste em verificar, entre outras coisas, o tamanho, soma MD5, permissões, tipo de arquivo, a quem o arquivo deve pertencer (dono e grupo).
O comando rpm -V verifica um pacote. Qualquer forma de verificação
já abordada nos itens anteriores é válida. Por exemplo:
% rpm -V gnosamba
Se tudo estiver correto nada é impresso na tela. Caso algum arquivo estiver faltando, será impressa uma mensagem de erro informando a inconsistência encontrada:
# rpm -V gnosamba missing /usr/doc/gnosamba-0.3.3/TODO
Neste caso o arquivo TODO, integrante do pacote gnosamba, está faltando.
Se o seu sistema começar a se comportar misteriosamente, talvez valha a pena fazer uma verificação global:
rpm -Va > verificacao-dependencias
Como a saída deste comando em um sistema com problemas pode gerar muitas linhas, é conveniente redirecionar o resultado para um arquivo para verificação posterior.
Se o software já se encontra instalado em seu sistema, temos a seguinte situação:
# rpm -ivh gnosamba-0.3.3-1.i386.rpm package gnosamba-0.3.3-1 is already installed
No exemplo acima, foi detectado que o software já se encontra instalado e o processamento é interrompido. É possível entretanto que se force a instalação, especificando ao RPM que ignore eventuais erros:
# rpm -ivh --replacepkgs gnosamba-0.3.3-1.i386.rpm gnosamba < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
O comando emitido gerou uma saída contendo o nome do software seguida de marcas indicativas do progresso da instalação.
Caso se tente instalar um pacote que contenha arquivos que já tenham sido instalados previamente por outros softwares, será gerada a seguinte mensagem de erro:
# rpm -ivh WebMaker-0.8.5-4.i386.rpm file /usr/share/icons/mini/html.xpm from install of WebMaker-0.8.5-4 conflicts with file from package kdebase-1.1.2-11
Para fazer com que tal erro seja ignorado, utilizar a diretiva
--replacefiles:
# rpm -ivh --replacefiles WebMaker-0.8.5-4.i386.rpm WebMaker < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>
Muitos softwares dependem, para seu correto funcionamento, de funções oferecidas por outros softwares. Desta forma, a instalação só é bem sucedida se todos os elementos necessários estiverem presentes no sistema.
# rpm -i netsaint-0.0.4-1.i386.rpm error: failed dependencies: netsaint-plugins is needed by netsaint-0.0.4-1
Para resolver estes problemas é necessário que os pré-requisitos
apropriados sejam instalados. É também possível se forçar a
instalação, o que certamente não é aconselhável. Na quase totalidade
dos casos, ignorar as dependências irá resultar em um software
instalado que não funcionará. Para forçar uma instalação, sem
respeitar os pré-requisitos, utilizar a opção --nodeps na linha de
comando.
O processo de instalação de Linux RedHat pode ser realizado de forma quase que automatizada através da seleção de uma classe de equipamento (servidor, estação de trabalho ou personalizada). O resultado final é que frequentemente muito mais softwares são instalados do que realmente necessitamos, ocupando espaço em disco desnecessariamente. A facilidade de instalação tem como efeito colateral um sistema mais inchado do que a necessidade real.
O RPM pode nos auxiliar na adequação da configuração de software do sistema às reais necessidades. Descrevemos a seguir um procedimento simples que nos permite realizar esta tarefa de forma rápida e simples.
rpm -q -a > listagem-software
Após criada a listagem, examinar com cuidado tudo que está
instalado e remover o que não for necessário. Uma recomendação,
caso algum pacote seja desconhecido é melhor adiar sua
desinstalação até que se possam obter mais informações sobre o
mesmo e determinar o real impacto de sua remoção de seu sistema.
Para realizar a remoção,edite o arquivo criado no passo anterior e
preceda o nome de cada pacote a ser removida com rpm -e. Na
listagem abaixo eu quero remover os pacotes AfterStep e anonftp:
basesystem-4.0-6cl ldconfig-1.9.9-5cl mktemp-1.5-2cl rpm -e AfterStep-APPS-990329-3cl rpm -e anonftp-2.8-2cl
Após analisado todo o arquivo basta selecionar, com o comando grep,
as linhas que contenham a string rpm -e, e em seguida, com o
programa sh, o arquivo resultante:
# grep "rpm -e" listagem-software > remove-list # sh remove-list
Caso não haja algum programa de quebra de dependências, os softwares serão removidos. Caso haja algum problema, consultar cuidadosamente a documentação dos produtos listados e proceder como for adequado.
Este documento foi baseado em grande parte no livro Red Hat Linux 5.2: The Official Red Hat Linux Installation Guide. Este manual ou versão mais recente está disponível em formato eletrônico no site da empresa Red Hat. Adicionalmente foi consultado também o livro Linux Newbie Administrator Guide, por Stan, Peter, Marie e Barbara Klimas.
Veja a relação completa dos artigos de Rubens Queiroz de Almeida
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
![]() Recomendar este artigo |
|
Thinking in Patterns, com o "guru" Bruce Eckel
Aprenda Padrões de Projetos da única maneira possível: Programando!
Dias 15, 16 e 17 de Setembro - São Paulo
Saiba mais
Redes - Guia Prático
Por Carlos. E. Morimoto
Hardware - o Guia Definitivo
Por Carlos. E. Morimoto
Kurumin 7 - Guia Prático
Por Carlos. E. Morimoto
Linux: Ferramentas Técnicas, 2ed
Por Carlos. E. Morimoto
Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates
Google Hacking
Por JOHNNY LONG
1808
Por Laurentino Gomes
Sistemas de Banco de Dados
Por Ramez E. Elmasri e Shamkant Navathe
Linux: Guia do Administrador do Sistema
Por Rubem E. Ferreira
A Menina que Roubava Livros
Por Markus Zusak
Sistemas Operacionais Modernos
Por Andrew S. Tanembaum
Hardware: Curso Completo
Por Gabriel Torres
PHP para Quem Conhece PHP
Por Juliano Niederauer
Redes de Computadores: Curso Completo
Por Gabriel Torres
Java: Como Programar
Por Harvey M. Deitel e Paul J. Deitel
O Caçador de Pipas
Por Khaled Hosseini
O Médico Doente
Por Dráuzio Varella
Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson
MySQL - Guia do Programador
Por André Milani
Certificação Linux
Por Uira Ribeiro
Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder
OpenGL: uma Abordagem Prática e Objetiva
Por Marcelo Cohen, Isabel Harb Manssour
Expressões Regulares: Uma Abordagem Divertida
Por Aurélio Marinho Jargas
Extreme Programming
Por Vinicius Manhaes Teles