Manter seus aplicativos e sistema de sua distribuição
up-to-date
com o vendor da mesma é uma excelente medida de segurança...
Para quem não encara CVS e quer uma maneira prática de manter sua distribuição atualizada "oficialmente", pode utilizar-se do aplicativo autorpm para tal.
O autorpm antes de fazer o download ou instalação
de qualquer
arquivo compara o mesmo com o database rpm que você
já possui, só baixando o mesmo caso seja mais
novo que o já instalado, economizando assim sua bandwidth.
O sistema em questão é um Red
Hat 6.1 e a configuração do autorpm é
uma configuração BÁSICA para manter o
mesmo atualizado com a ERRATA da Red Hat. Existem várias
e mais complexas configuracões, para maiores informações,
leia a documentação incluida no pacote :)
1) Download:
Baixe o RPM do autorpm:
ftp://ftp.kaybee.org/pub/redhat/RPMS/noarch/
autorpm-1.9.8.4-2.noarch.rpm
Baixe o RPM do Perl Libnet
(necessario para instalacao do autorpm):
ftp://ftp.kaybee.org/pub/redhat/RPMS/noarch/
perl-libnet-1.0605-2.noarch.rpm
2) Instalando:
2.1) Perl Libnet
# rpm -ivh perl-libnet-1.0605-2.noarch.rpm
2.2) Autorpm
# rpm -ivh autorpm-1.9.8.4-2.noarch.rpm
3) Configuracao:
"Zere" seu /etc/autorpm.d/autorpm.conf (em um passo a passo):
# :> /etc/autorpm.d/autorpm.conf
Edite seu /etc/autorpm.d/autorpm.conf (zerado):
# Os números entre parenteses a seguir
serão usados para
futura explanação linha a linha e não
# devem ser adicionados a seu arquivo de configuração
:
(1) Report_Queues_To ("root");
(2) FTP_Retries ("10");
(3) FTP_Retry_Delay("20,500");
(4) ftp ("metalab.unc.edu:/pub/Linux/distributions
/redhat/updates/6.1/i386") {
(5) Report_To ("root");
(6) Report_All (Yes);
(7) Regex_Ignore ("^kernel-");
(8) Regex_Ignore ("^XFree86-");
(9) Regex_Ignore ("^netscape-");
(10) action (updated) ;
(11) Install (Auto);
(12) Report (Yes);
(13) Store ("/Updates/"); }
(14) action (new) {
(15) Install (Auto);
(16) Report (yes);
(17) Store ("/Updates/"); }
}
(18) ftp ("ftp.kaybee.org:/pub/redhat/RPMS/noarch")
{
(19) Regex_Accept ("^autorpm");
(20) Report_To ("root");
(21) action (updated) {
(22) Install (Interactive);
(23) Report (Yes);} }
(1) - Indica o email para o qual o autorpm
deve reportar RPMS que
estejam em "espera", ou seja, RPMS que não
puderam ser instalados
automaticamente (nesse caso). Para interagir com os mesmos
você devera usar:
# /usr/sbin/autorpm --apply
(2) - Indica o número de vezes que o autorpm deve tentar uma conexão com o servidor ftp para updates antes de desistir em caso de eventuais falhas no mesmo...
(3) - Os 2 números representam um intervalo do qual o RPM escolherá um número qualquer como tempo em segundos de espera para uma nova tentativa de conexão ao servidor FTP em caso de alguma falha (repetira essa acao o número de vezes definido em (2))...
(4) - Indica o servidor FTP a ser utilizado para download dos RPMS assim como o caminho completo do diretório onde se encontram esses RPM...
(5) - Email para o qual o autorpm irá enviar todos os relatórios gerados durante sua execução
(7,8,9) - Indica os arquivos que o autorpm deve ignorar, no caso acima ele irá ignorar todos os arquivos iniciados por kernel (7), XFree86 (8) e netscape (9), você poderá adicionar quantos achar necessário de acordo com o tipo de configuração de sua máquina...
(10) - Indica início de um bloco de ação...
(11) - Indica que os RPMS devem ser instalados automaticamente sem necessidade de intervenção (de forma não-interativa)...
(12) - As acões do bloco devem ser reportadas
para o email
em Report_To...
(13) - Indica o diretório onde deveram ser baixados os arquivos RPM...
(14) - Início de um novo bloco...
(15) - idem (11)
(16) - idem (12)
(17) - idem (13)
(18) - Aqui indicaremos um novo ftp, para upgrade automático do próprio autorpm...
(19) - Indica que apenas arquivos iniciados
por autorpm devam
ser baixados, ou seja, o próprio autorpm...
(20) - idem (1)
(21) - idem (10)
(22) - Indica que a instalação do autorpm não será automática, ou seja, necessitará da sua intervenção (/sbin/autorpm --apply)
(23) - idem (12)
4) Execução
O autorpm terá um script em /etc/cron.daily chamado autorpm.cron contendo como linha principal:
/usr/sbin/autorpm --delay=7200
O que indica que diariamente através do cron o script será rodado, tendo um delay de 7200 segundos (para não interferir em outras tarefas executadas diariamente)...
Abraço para todos.