Para você que usa Spacewalk para facilitar sua vida e queria ter as erratas do CentOS cadastradas na sua ferramenta preferida.
Como todos sabem, o CentOS é uma versão da comunidade, assim não é suportada nativamente pelo produto Spacewalk, mas como estamos falando de software livre, segue abaixo passos simples para realizar essa configuração.
Mãos a massa
wget http://www.bioss.ac.uk/staff/davidn/spacewalk-stuff/0.3/centos-errata.py.txt -O centos-errata.py
wget http://www.bioss.ac.uk/staff/davidn/spacewalk-stuff/0.3/centos-errata.cfg
mkdir -p /opt/spacewalk-errata/errata
mv centos-errata.* /opt/spacewalk-errata/
chmod +x /opt/spacewalk-errata/centos-errata.py
vi /opt/spacewalk-errata/centos-errata.cfg
Dentro do arquivo você altera as informações abaixo:
[centos errata]
version=5
release=5
scrape_rhn=False[centos errata]
version=5
release=5
scrape_rhn=False[spacewalk]
server=<IP or Hostname of Spacewalk Server>
login=<Spacewalk Login Username>
password=’<Spacewalk User Password>‘[i386]
package_dir=/var/satellite/redhat/1/
# Enter the name of the channel that the errata will link to.
channel=centos5-updates-i386[x86_64]
package_dir=/var/satellite/redhat/1/
# Enter the name of the channel that the errata will link to.
channel=centos5-updates-x86_64
Agora vamos criar o script!
vi /etc/cron.daily/centos-errata.cron && chmod +x /etc/cron.daily/centos-errata.cron
Adicione o seguinte conteúdo:
#!/bin/sh
# Processes CentOS Errata and imports it into Spacewalk# Obtains the current date and year.
LANG=C DATE=`date +%Y-%B`# Fetches the errata data from centos.org.
wget -P /opt/spacewalk-errata/errata http://lists.centos.org/pipermail/centos-announce/$DATE.txt.gz
gunzip -f /opt/spacewalk-errata/errata/$DATE.txt.gz# Processes and imports the errata.
cd /opt/spacewalk-errata/ && \
/opt/spacewalk-errata/centos-errata.py -f archive /opt/spacewalk-errata/errata/$DATE.txt –password=’<Password>‘ –config=’/opt/spacewalk-errata/centos-errata.cfg’ >> /var/log/centos-errata.log
Caso seus pacotes estejam depositados na pasta /var/satellite/redhat/1/ com várias subpastas em números e letras, crie o script abaixo:
vi /var/satellite/redhat/1/synlinks.sh
Com o seguinte conteúdo:
#!/bin/bash
for i in $(find . -type f -name *.rpm); do
BASENAME=$(basename $i)
if [ ! -L $BASENAME ]; then
echo “Linking $i to $BASENAME…”
ln -s $i $BASENAME
fi
done
Acesse o script /etc/cron.daily/centos-errata.cron e adicione a seguinte linha:
cd /var/satellite/redhat/1/ && ./synlinks.sh
Pronto! Agora espere o reporte do mês sair e veja ele aparecer no seu spacewalk. Por exemplo, o de agosto não saiu ainda
0sem comentários ainda