До появления прямого соединения с интернетом (провайдером был открыт только http), было довольно проблематично поддерживать локальный репозитарий пакетов в актуальном состоянии. Для выхода из подобной ситуации был написан следующий скрипт, который в некотором приближении заменяет rsync. #!/bin/sh cd /opt/rpm-update #mirror_base_url=http://ftp.belnet.be/packages/centos/4.3/os/i386/CentOS/RPMS/ #mirror_update_url=http://ftp.belnet.be/packages/centos/4.3/updates/i386/RPMS/ mirror_base_url=$1 local_rpm_directory=$2 #local_rpm_directory=/var/ftp/pub/centos-4.3/ file_html=./index.html file_rpms=./files.log rm -f $file_html rm -f $file_rpms echo "---------------------------------------------------------" echo "obtaining file list from $mirror_base_url ..." wget -q --no-cache $mirror_base_url echo "ok." cut -d"=" $file_html -f4 | cut -d"\"" -f2 | grep rpm | sort > $file_rpms a=`cat $file_rpms` for cur_rpm in $a do cur_rpm_file=$local_rpm_directory$cur_rpm if [ -e $cur_rpm_file ] then echo "$cur_rpm exist." > /dev/null else echo "downloading $cur_rpm ..." wget -q --no-cache $mirror_base_url$cur_rpm echo "ok." mv ./$cur_rpm $local_rpm_directory fi done rm -f $file_html rm -f $file_rpms и вызов этого скрипта #!/bin/sh echo "***** run4 START ***** " >> /var/log/rpm_update4 /opt/rpm-update/lsus.sh http://ftp.belnet.be/packages/centos/4.3/updates/i386/RPMS/ /var/ftp/pub/centos-4.3/ >> /var/log/rpm_update4 /opt/rpm-update/lsus.sh http://ftp.belnet.be/packages/centos/4.3/os/i386/CentOS/RPMS/ /var/ftp/pub/centos-4.3/ >> /var/log/rpm_update4 /opt/rpm-update/lsus.sh http://ftp.belnet.be/packages/centos/4.3/extras/i386/RPMS/ /var/ftp/pub/centos-4.3/ >> /var/log/rpm_update4 echo "generating headers..." >> /var/log/rpm_update4 yum-arch -q /var/ftp/pub/centos-4.3/ echo "ok." >> /var/log/rpm_update4 echo "generating repo..." >> /var/log/rpm_update4 createrepo -q /var/ftp/pub/centos-4.3/ echo "ok." >> /var/log/rpm_update4 echo "***** run4 STOP ***** " >> /var/log/rpm_update4 вызывается по крону, если на сервере появились свежие пакеты, быстренько заливает их в локальный репозитарий.
yum check-update
все работает