Mostrar mensagens com a etiqueta instalação. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta instalação. Mostrar todas as mensagens

sábado, 9 de janeiro de 2010

Instalando o Asterisk no CentOS 5.3

Etapas iniciais

Vamos criar o diretório onde baixaremos os arquivos necessários para a instalação: 

# mkdir -p /diversos/Asterisk
# cd /diversos/Asterisk
 

Para instalar os pacotes usaremos o diretório /usr/local/src. 

No momento de escrita deste tutorial, estas eram as versões atuais. Você pode livremente substituir por versões mais novas, para tanto confira no site oficial do Asterisk: 

# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.0.10.tar.gz 
# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.1.0.4.tar.gz 
# wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.1.0.2.tar.gz 
# wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.10.tar.gz 
# wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.0.2.tar.gz 

Instalando o dahdi-linux

Como anunciado em 2008, Digium renomeou o projeto de interface de telefonia Zaptel para DAHDI (Digium Asterisk Hardware Device Interface - Interface de Hardware para Asterisk da Digium) para acomodar os desejos dos proprietários da marca Zaptel para fins de telefonia. 

# cd /usr/local/src/
# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/dahdi-linux-2.1.0.4.tar.gz 
# cd dahdi-linux-2.1.0.4/
# make
# make install
 

Durante este passo o instalador baixará da internet alguns firmwares para que sejam utilizados na com placas TDM. Se esta etapa for finalizada com sucesso, você deverá ver a tela abaixo: 

###################################################
###
### DAHDI installed successfully.
### If you have not done so before, install the package
### dahdi-tools.
### ################################################### 

Instalando o dahdi-tools

Este é um pacote de ferramentas para gerenciar, detectar e configurar as placas de telefonia instaladas em seu PBX IP. 

# cd ..
# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/dahdi-tools-2.1.0.2.tar.gz 
# cd dahdi-tools-2.1.0.2/
# ./configure
 
configure: *** dahdi-tools build successfully configured ***
# make
# make install
 

Se tudo tiver dado certo, a mensagem abaixo será exibida. 

###################################################
###
### DAHDI tools installed successfully.
### If you have not done so before, install init scripts with:
###
### make config
###
###################################################

# make config
I think that the DAHDI hardware you have on your system is:
pci:0000:01:05.0     wcfxo-       1057:5608 Wildcard X100P 

No meu caso possuo uma X100P instalada, o comando acima mostra a correta detecção da mesma. 

Instalando a Libpri

Este pacote tem por finalidade instalar bibliotecas para suportar interfaces T1/E1/J1 PRI(Primary Rate) ISDN. 

# cd ..
# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/libpri-1.4.10.tar.gz 
# cd libpri-1.4.10/
# make
# make install
 

 

Instalando o Asterisk

Este é o pacote que instalará o software do Asterisk. 

# cd ..
# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/asterisk-1.6.0.10.tar.gz 
# cd asterisk-1.6.0.10/
# ./configure 


Se a verificação for concluída com sucesso, a tela a ser vista deverá ser:
configure: creating ./config.status
config.status: creating build_tools/menuselect-deps
config.status: creating makeopts
config.status: creating channels/h323/Makefile
config.status: creating include/asterisk/autoconfig.h

.$$$$$$$$$$$$$$$=..
.$7$7.. .7$$7:.
.$$:. ,$7.7
.$7. 7$$$$ .$$77
..$$. $$$$$ .$$$7
..7$ .?. $$$$$ .?. 7$$$.
$.$. .$$$7. $$$$7 .7$$$. .$$$.
.777. .$$$$$$77$$$77$$$$$7. $$$,
$$$~ .7$$$$$$$$$$$$$7. .$$$.
.$$7 .7$$$$$$$7: ?$$$.
$$$ ?7$$$$$$$$$$I .$$$7
$$$ .7$$$$$$$$$$$$$$$$ :$$$.
$$$ $$$$$$7$$$$$$$$$$$$ .$$$.
$$$ $$$ 7$$$7 .$$$ .$$$.
$$$$ $$$$7 .$$$.
7$$$7 7$$$$ 7$$$
$$$$$ $$$
$$$$7. $$ (TM)
$$$$$$$. .7$$$$$$ $$
$$$$$$$$$$$$7$$$$$$$$$.$$$$$$
$$$$$$$$$$$$$$$$.

configure: Package configured for:
configure: OS type : linux-gnu
configure: Host CPU : i686
configure: build-cpu:vendor:os: i686 : pc : linux-gnu :
configure: host-cpu:vendor:os: i686 : pc : linux-gnu :

# make
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
[root@matheus asterisk-1.6.0.10]# make install
+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ make samples +
+ +
+----------------- or ---------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+-------------------------------------------+

Caso você esteja fazendo uma nova instalação e deseje que sejam instalados arquivos de exemplo, rode o comando abaixo. Caso você esteja apenas atualizando o seu Asterisk, o comando abaixo não será necessário. 

# make samples 


Instalando o Asterisk-addons

Este pacote possui módulos adicionais para o Asterisk, que por alguma razão não foram incluídos na distribuição base do mesmo. Neste módulo destaco o suporte a gravação de CDRs diretamente no MySQL. 

# cd ..
# tar xvfz /home/diversos/Apps/Network/VoIP/Asterisk/asterisk-addons-1.6.0.2.tar.gz 
# cd asterisk-addons-1.6.0.2/
# ./configure
# make
# make install
# make samples
 


 

Configurações finais



Configurar o script para gerenciar o daemon do Asterisk. Basta copiá-lo da pasta contrib (instalação do Asterisk) para a pasta /etc/init.d: 

# cd ..
# cd asterisk-1.6.0.10/contrib/init.d/
# cp rc.redhat.asterisk /etc/init.d/asterisk
 

Carregando os módulos DAHDI para detecção de placas TDM: 

# /etc/init.d/dahdi start
Loading DAHDI hardware modules:
wct4xxp: [ OK ]
wcte12xp: [ OK ]
wct1xxp: [ OK ]
wcte11xp: [ OK ]
wctdm24xxp: [ OK ]
wcfxo: [ OK ]
wctdm: [ OK ]
wcb4xxp: [ OK ]
wctc4xxp: [ OK ]
xpp_usb: [ OK ]

No hardware timing source found in /proc/dahdi, loading dahdi_dummy
Running dahdi_cfg: [ OK ]

Vamos iniciar o Asterisk: 

# /etc/init.d/asterisk start
Starting asterisk:             [  OK  ]

Agora podemos nos conectar ao console do Asterisk e verificar a correta detecção da placa FXO: 

# asterisk -rvvv
matheus*CLI> 
matheus*CLI> dahdi show status
Description                 Alarms  IRQ    bpviol CRC4   Fra Codi Options  LBO
Wildcard X100P Board 1      OK      0      0      0      CAS Unk  YEL      0 db (CSU)/0-133 feet (DSX-1) 

Vamos configurar o Asterisk para que seja carregado durante o boot. O DAHDI já vem por padrão configurado para iniciar nos runlevels 3, 4 e 5 automaticamente: 

# chkconfig --level 35 asterisk on 
# chkconfig --list | grep dahdi

dahdi    0:não 1:não 2:sim 3:sim 4:sim 5:sim 6:não 

Em um próximo tutorial explicaremos como configurar o Asterisk. 

Frederico Madeira
fred at madeira dot eng dot br
www.madeira.eng.br 

segunda-feira, 4 de janeiro de 2010

Gerenciador de Pacotes: apt

Para quem não conhece Linux, instalar e desinstalar programas pode parecer uma tarefa difícil. Mas na realidade, sabendo utilizar as ferramentas certas, estas tarefas se tornam muito mais fáceis que qualquer outro sistema. Os gerenciadores de pacotes fazem isso muito bem e o apt é um deles!

O apt (Advanced Package Manager) é um poderoso gerenciador de pacotes que resolve as complicações de dependências de pacotes automaticamente para o usuário, utilizando também a instalação dos pacotes via Internet. Com o apt é possível baixar a versão mais atual de um programa e instalá-lo no sistema com apenas um comando.

Inicialmente feito pela distribuição Debian, o apt utiliza pacotes do dpkg (.deb). Existe uma versão do gerenciador para pacotes RPM, feito há algum tempo pela distribuição (na época) Conectiva, mas esta versão não é bastante utilizada e por isso não iremos falar sobre ela nesta apostila.

A configuração do apt está localizada no diretório /etc/apt. Dentro deste diretório, há um arquivo que podemos considerar o principal, chamado sources.list. Este arquivo contém uma lista de todos os endereços de repositórios que o apt irá usar. São desses repositórios que a lista de programas será baixada e possibilitará o download dos programas. Cada linha deste arquivo corresponde a um repositório de pacotes, exemplo:

deb http://debian.c3sl.ufpr.br/debian/ etch main non-free contrib

Esta linha nos diz para o apt utilizar um repositório de pacotes .deb disponível no endereço: http://debian.c3sl.ufpr.br/debian/, usando a versão etch do Debian. Diz também para pegar os pacotes das seções main, non-free e contrib. Tanto a versão quanto as seções são específicas da distribuição Debian e podem variar se for uma outra distribuição derivada.

Outro exemplo seria um repositório das atualizações de segurança do Debian:

deb http://debian.c3sl.ufpr.br/debian-security/ etch/updates main contrib

Uma vez que o sources.list esteja configurado, já podemos utilizar o apt. É importante saber que antes de qualquer ação de instalação, desinstalação, atualização ou busca, é necessário atualizar a lista dos pacotes. Por isso, toda vez que for utilizar o apt, execute:

# apt-get update

Assim a lista mais atualizada será baixada do servidor. Isto é necessário pois se a distribuição lançar alguma versão nova de pacote, ou pacotes adicionais, a lista precisa ser atualizada também, senão o apt não vai conseguir enxergar esse novo pacote.

Depois de atualizada a lista, podemos executar diversas ações.

Para procurar por um pacote utilizando uma palavra relacionada, utilize o apt-cache da seguinte forma:

# apt-cache search DVD

O apt retornará uma lista com os pacotes associados a palavra DVD.

Para instalar um pacote e todas as suas dependências, use:

# apt-get install pacote

O comando install também atualiza um pacote caso exista uma versão superior a já instalada no sistema.

Para remover um pacote e todas as suas dependências, use:

# apt-get remove pacote

Caso você queira atualizar todo o seu sistema, atualizando todos os pacotes que tenham suas atualizações disponíveis na lista, use o comando upgrade:

# apt-get upgrade

O upgrade apenas atualiza os pacotes de uma versão de distribuição. Se for o caso de atualizar de uma versão da distribuição para outra, o que inclui atualizações que podem se tornar perigosas e quebrar o sistema, use:

# apt-get dist-upgrade

Por fim, o apt também possui uma característica muito sensacional, que é utilizar os poderes da super vaca. A super vaca é poderosa e poderá ajudar nas horas que mais precisarmos. Para utilizar estes poderes, invoque a super vaca com o comando:

# apt-get moo

DPKG – Debian Package Manager

Como lidar com os pacotes de programas que encontramos por aí na Internet, ou nos CDs das distribuições Linux? Quais os processos para instalar, remover e atualizar programas que estão no formato DPKG?

Para manipular os pacotes .deb, o Debian e seus derivados utilizam o programa dpkg. Com esta poderosa ferramenta, podemos construir, instalar, consultar, atualizar ou apagar pacotes de programas. Um pacote no formato DEB consiste em um arquivo no formato ar, contendo os meta-dados (arquivos de controle, definições, permissões, informações de dependências, entre outros) e dados do programa, ambos agrupados com o tar e compactados com o gzip.

Para extrair o conteúdo de um pacote DEB sem instalá-lo no sistema, utilizamos o comando dpkg-deb. O parâmetro -x extrai os dados de programa do pacote. Exemplo, extraindo o conteúdo de um pacote no diretório atual:

$ dpkg-deb -x pacote.deb .

Para extrair os meta-dados (arquivos de controle) do mesmo pacote, utilizamos o parâmetro -e. O exemplo abaixo vai criar um diretório chamado DEBIAN contendo todos os arquivos de controle do pacote:

$ dpkg-deb -e pacote.deb

O banco de dados do dpkg está localizado no diretório /var/lib/dpkg e seu formato é de um arquivo texto comum, podendo ser editado por qualquer editor de texto.

DPKG: Instalação e desinstalação

Para instalar um pacote, utilizamos a opção -i:

# dpkg -i pacote.deb

O -i também serve para atualização de um pacote. Se o pacote já existir e se o que estivermos tentando instalar for mais novo, o pacote será atualizado.

Para remover um pacote do sistema, utilizamos a opção -r:

# dpkg -r pacote

Caso esse pacote não seja removido porque outros pacotes dependem dele, podemos forçar a remoção do mesmo com o parâmetro –force-depends:

# dpkg -r --force-depends pacote

Cuidado! Forçar a remoção de um pacote sem resolver as dependência pode causar problemas! Os programas dependentes do pacote poderão não funcionar corretamente. Use apenas se você souber o que estiver fazendo.

DPKG: Consulta

Para ver uma lista com todos os pacotes intalados no sistema, utilize:

$ dpkg -l

O dpkg irá mostrar uma lista com todos os pacotes, o status, a versão e um pequeno sumário sobre o que é cada um dos pacote.

As três primeiras linhas do comando dpkg -l mostram os estados dos pacotes, representados por três letras. A primeira letra significa o estado que o sistema quer que o pacote esteja (Desired), a segunda letra indica o estado atual do pacote e a terceira letra indica um erro. O próprio cabeçalho do comando indica quais estados podem aparecer nas letras.

Por exemplo, a combinação ii significa que o sistema quer que o pacote esteja instalado (primeira letra i) e o pacote realmente está instalado no sistema (segunda letra i). A combinação rc significa que o pacote está marcado para ser removido (primeira letra: r), mas os arquivos de configuração não foram removidos (segunda letra: c).

Para saber se apenas um pacote está instalado, basta colocar o nome do pacote depois do parâmetro -l:

$ dpkg -l vim

Para listar todos os pacotes associados a uma certa palavra, utilizamos o -l da seguinte forma:

$ dpkg -l '*gnome*'

Dessa forma todos os pacotes contendo a palavra gnome no nome serão mostrados na tela.

Para obter informações detalhadas sobre um pacote, utilizamos o parâmetro -p:

$ dpkg -p grub

Package: grub

Priority: optional

Section: admin

Installed-Size: 668

Maintainer: Grub Maintainers <pkg-grub-devel@lists.alioth.debian.org>

Architecture: i386

Version: 0.95+cvs20040624-17

Depends: libc6 (>= 2.3.2.ds1-4), libncurses5 (>= 5.4-1)

Suggests: grub-doc, grubconf

Size: 358684

Description: GRand Unified Bootloader

 GRUB is a GPLed bootloader intended to unify bootloading across x86

 operating systems.  In addition to loading the Linux kernel,

 it implements the Multiboot standard, which allows for flexible loading

 of multiple boot images (needed for modular kernels such as the GNU Hurd).

O dpkg -p mostrou vários detalhes sobre o pacote, como por exemplo quem mantém o pacote, que seção ele pertence, qual arquiteura, do que ele depende, qual o tamanho, versão e um sumário e descrição sobre o que é o pacote. Quem quer conhecer mais sobre os programas dentro da distribuição pode utilizar o dpkg -l e ir verificando os detalhes de cada pacote com dpkg -p. Haja paciência!

Para verificar o status de um pacote (como mostrado na lista com o dpkg -l, utilize o parâmetro -s:

$ dpkg -s pacote

Para listar o conteúdo de um pacote:

$ dpkg -L grub

/.

/sbin

/sbin/update-grub

/sbin/grub-install

/usr

/usr/share

...corte...

Para procurar por um arquivo dentro do banco de dados do dpkg afim de descobrir a qual pacote ele pertence, utilizamos a opção -S:

$ dpkg -S arquivo

Exemplo:

$ dpkg -S /usr/bin/file

file: /usr/bin/file

RPM – RPM Package Manager

Como lidar com os pacotes de programas que encontramos por aí na Internet, ou nos CDs das distribuições Linux? Quais os processos para instalar, remover e atualizar programas que estão no formato RPM? (Não, RPM neste caso não significa Rotação Por Minuto e nem a bandinha brasileira!)

O RPM Package Manager é uma poderosa ferramenta de gerenciamento de pacotes que pode ser utilizada para construir, instalar, consultar, verificar, atualizar, ou apagar pacotes de programas. Um pacote RPM nada mais é que um arquivo cpio com um cabeçalho adicional. Dentro do pacote podemos encontrar os arquivos do programa e os meta-dados do pacote que contém scripts de ajuda, definições sobre os atributos dos arquivos, informações descritivas, entre outros.

Os pacotes podem ser de dois tipos: binários e fontes. Os pacotes binários são chamados de RPMs e vêm na forma pacote-versão.arquitetura.rpm. Os pacotes de fontes são chamados de Source RPMS (SRPMS) e vêm na forma pacote-versão.src.rpm. É possível extrair o conteúdo de um pacote RPM para um diretório sem precisar instalá-lo, utilizando o rpm2cpio:

$ mkdir -p ~/pacote-tmp

$ cd ~/pacote-tmp

$ rpm2cpio ~/download/exemplo-1.0.i386.rpm | cpio -ivd

O banco de dados do RPM está localizado por padrão no diretório /var/lib/rpm e o formato dos arquivos é Berkeley DB (BDB). Quando não existem dados neste diretório, podemos inicializar um banco de dados RPM com o parâmetro –initdb:

# rpm --initdb

Pode ser também que o banco de dados RPM possa estar corrompido. Geralmente quando isto acontece, o comando rpm fica “parado” infinitamente quando é executado, como se estivesse esperando algo acontecer. Caso isso aconteça, temos que reconstruir uma nova base a partir dos cabeçalhos dos pacotes instalados.

Para reconstruir o banco de dados, primeiro apagamos todos os arquivos que começam com “__db.” e utilizamos o parâmetro –rebuilddb para reconstruir:

# cd /var/lib/rpm

# rm -f __db.*

# rpm --rebuilddb

RPM: Instalação e desinstalação

Para instalar um pacote, usa-se a opção -i:

# rpm -i pacote.rpm

Podemos utilizar as opções -v e -h combinadas com a -i para uma mostragem mais agradável. Caso o sistema já possuir o pacote instalado, mas desejamos atualizar para uma versão mais recente, utilizamos a opção -U ao invés da -i. Exemplo:

# rpm -Uvh pacote-atualizacao.rpm

Isso irá atualizar o pacote. Para retirar o pacote do sistema, utilizamos a opção -e:

# rpm -e nome-do-pacote

Caso o pacote gere dependências com outros pacotes e mesmo assim é desejado querer removê-lo, utilizamos a opção –force, que como o nome diz, força a remoção do pacote:

# rpm -e nome-do-pacote --force

Cuidado! Forçar a remoção de um pacote sem resolver as dependência pode causar problemas! Os programas dependentes do pacote poderão não funcionar corretamente. Use apenas se você souber o que estiver fazendo.

Agora o contrário: se for necessário instalar um pacote que necessita de outros pacotes como dependência (mas infelizmente não temos essas dependências), utilizamos o parâmetro –nodeps:

# rpm -Uvh pacote.rpm --nodeps

Lembre-se que instalar pacotes sem suas dependências também não é uma boa prática. O programa pode não funcionar.

RPM: Consulta

Além da instalação e desinstalação de pacotes, um recurso muito útil no RPM é a consulta aos pacotes já existentes. Para utilizar o modo de consulta do RPM, todos os comandos irão começar com o parâmetro -q (query, consulta em inglês).

Se quisermos ver apenas se um pacote está instalado no sistema sem ter que listar todos e procurar de um em um, basta apenas colocar o nome do pacote depois do parâmetro de consulta. Exemplo:

$ rpm -q kdebase

kdebase-3.4.1-1.2.fc4.kde

Quando quisermos listar todos os pacotes instalados no sistema, utilizamos:

$ rpm -qa

Ou podemos, se preferir, utilizar outros comandos como filtro, organizando melhor a visualização:

$ rpm -qa | sort | less

O comando anterior executou o rpm -qa, ordenou por ordem alfabética e utilizou o comando less para paginar a saída. Podemos também procurar por todos os pacotes que possuam a palavra kde no nome:

$ rpm -qa | grep kde

kdenetwork-3.4.1-1.2.fc4.kde

kdegraphics-3.4.1-1.3.fc4.kde

k3b-0.12.2-1.0.fc4.kde

amarok-1.2.4-6.1.fc4.kde

kdegames-3.4.1-1.2.fc4.kde

...corte...

Para obter informações detalhadas sobre sobre um pacote, utilizamos a opção -qi:

$ rpm -qi wget

Name        : wget                         Relocations: (not relocatable)

Version     : 1.9.1                             Vendor: Red Hat, Inc.

Release     : 22                            Build Date: Wed 02 Mar 2005

Install Date: Thu 23 Jun 2005 12:05:03 PM BRT      Build Host:   porky.build.r

Group       : Applications/Internet         Source RPM: wget-1.9.1-22.src.rpm

Size        : 1141398                          License: GPL

Signature   : DSA/SHA1, Fri 20 May 2005 03:28:44 PM BRT, KeyID b44269d04f2a6fd2

Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>

URL         : http://wget.sunsite.dk/

Summary     : A utility for retrieving files using the HTTP or FTP protocols.

Description :

 

GNU Wget is a file retrieval utility which can use either the HTTP or

FTP protocols. Wget features include the ability to work in the

background while you are logged out, recursive retrieval of

directories, file name wildcard matching, remote file timestamp

storage and comparison, use of Rest with FTP servers and Range with

HTTP servers to retrieve files over slow or unstable connections,

support for Proxy servers, and configurability.

Na saída anterior podemos observar qual o pacote-fonte do wget, qual seu tamanho, quem empacotou, sua licença, versão, quando foi instalado, além de um resumo e descrição do que é o pacote. Quem quer conhecer mais sobre os programas dentro da distribuição pode utilizar o rpm -qa para listar todos os pacotes e utilizar o rpm -qi para ver o que cada pacote faz. Haja paciência!

Lembra-se das dependências? Se quisermos ver quais pacotes dependem de um certo pacote, usamos:

$ rpm -qR pacote

Ou às vezes, nos deparamos com uma dúvida cruel: o que esse arquivo está fazendo aqui? Ele pertence a quem? O que ele faz? Para solucionar estas dúvidas, podemos verificar qual o pacote dono de um arquivo utilizando:

$ rpm -qf /etc/arquivo

Exemplo:

$ rpm -qf /usr/sbin/chroot

coreutils-5.2.1-48

Ou você pode fazer o contrário (o que é muito útil): listar todos os arquivos que pertencem a um pacote:

$ rpm -ql pacote

Exemplo:

$ rpm -ql sox

/usr/bin/play

/usr/bin/rec

/usr/bin/sox

/usr/bin/soxmix

/usr/bin/soxplay

/usr/share/doc/sox-12.17.7

/usr/share/doc/sox-12.17.7/Changelog

/usr/share/doc/sox-12.17.7/README

...corte...

Se quisermos saber unicamente quais são os arquivos de configuração de um pacote:

$ rpm -qc crontabs

/etc/crontab

/etc/sysconfig/crontab

Ou se quisermos saber apenas quais são os arquivos de documentação de um pacote:

$ rpm -qd wget

/usr/share/doc/wget-1.10.2/AUTHORS

/usr/share/doc/wget-1.10.2/COPYING

/usr/share/doc/wget-1.10.2/MAILING-LIST

/usr/share/doc/wget-1.10.2/NEWS

/usr/share/doc/wget-1.10.2/PATCHES

/usr/share/doc/wget-1.10.2/README

...corte...

RPM: Verificação

Uma vez que os pacotes estejam instalados no sistema, além das consultas, é possível fazer também verificações nestes pacotes. Em um consulta, o rpm apenas pega informações sobre um pacote e mostra ao usuário. Em uma verificação, o rpm compara essas informações do banco de dados com o estado atual dos arquivos no sistema. Na verificação, se um arquivo estiver faltando ou tiver sido alterado, o rpm irá avisá-lo sobre isto.

Este tipo de tarefa é muito boa para auditoria e para verificar se todos os pacotes e arquivos do sistema estão instalados e funcionando corretamente.

Para fazer a verificação, utilizamos o parâmetro -V:

# rpm -V pacote

Caso tudo esteja em ordem, o rpm não mostrará nada. Se algum arquivo for modificado de alguma forma, ele mostrará algumas letras de estado antes do arquivo. Exemplo:

# rpm -V httpd

S.5....T c /etc/httpd/conf.d/proxy_ajp.conf

missing   c /etc/httpd/conf.d/welcome.conf

S.5....T c /etc/httpd/conf/httpd.conf

Os primeiros 8 caracteres indicam testes que o rpm fez. Quando um ponto (.) aparecer, o teste foi bem sucedido. Se um sinal de interrogação (?) aparecer, significa que o teste não pode ser completado (geralmente por causa de permissões do arquivo). Cada uma das 8 letras significa:

S

O tamanho do arquivo não é igual ao original (conteúdo foi modificado).

M

As permissões do arquivo foram alteradas.

5

A soma MD5 diferente do original (conteúdo foi modificado).

D

Número Major/Minor do dispositivo não coinscide.

L

Link simbólico inválido.

U

Usuário dono diferente do original.

G

Grupo dono diferente do original.

T

A hora da última modificação diferente do original (conteúdo foi modificado).

Depois destes 8 caracteres, pode ser que haja uma letra antes do nome do arquivo, que indica qual a função do arquivo no pacote. Por exemplo: c para arquivos de configuração, d para arquivos de documentação e nada para arquivos normais.

Para fazer uma verificação completa em todos os pacotes instalados, usamos:

# rpm -Va

Para verificarmos apenas um arquivo, usamos:

# rpm -Vf /usr/bin/file