Локальный репозитарий CentOS через HTTP proxy |
[исправить] |
До появления прямого соединения с интернетом (провайдером был открыт только 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
вызывается по крону, если на сервере появились свежие пакеты, быстренько
заливает их в локальный репозитарий.
|
|
|
21.05.2006
|
Раздел: Корень / Программисту и web-разработчику / Shell / Готовые скрипты |
|
2.3, Андрей (??), 18:53, 24/05/2006 [^] [^^] [^^^] [ответить]
| +/– |
это для одной машинки можно такое сделать, а что делать если их десять или больше.
легче держать у себя все дерево пакетов. | |
|
1.5, redhat (??), 15:37, 03/09/2008 [ответить]
| +/– |
yam теперь переименован в mrepo
кстати, еще есть spacewalk ( aka satellite, aka локальный redhat network)
| |
1.6, Сергей_Светайло (?), 03:44, 22/07/2010 [ответить]
| +/– |
Имеется ЧСАСТНЫЙ СЛУЧАЙ - когда надо восстановить пакеты - утраченные при удалении неудачных попыток - запустить РАДИО МОДЕМ - потеря пакетов обеспечивавших Проводной Интернет в системе.
Как используя Установочный диск DVD - для Росинка LM8 - с ядром - 2.6.31-14 generic - при запуске системы с DVD - ВСЁ РАБОТАЕТ - как сделать откат - без переустановки системы на жестком диске?
Сергей
P.S.
Заранее ВСЕМ признателен,
подскажите НАЧИНАЮЩЕМУ в линуксе.
| |
|