The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Локальный репозитарий 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 / Готовые скрипты

Обсуждение [ RSS ]
 
  • 1.1, dsl, 10:57, 24/05/2006 [ответить] [смотреть все]
  • +/
    export http_proxy="http://username:password@proxy.local:3128"

    yum check-update

    все работает

     
  • 1.2, dsl, 10:58, 24/05/2006 [ответить] [смотреть все]
  • +/
    если на ftp куда нибудь
    export ftp_proxy="http://username:password@proxy.local:3128"
     
     
  • 2.3, Андрей, 18:53, 24/05/2006 [^] [ответить] [смотреть все]
  • +/
    это для одной машинки можно такое сделать, а что делать если их десять или больше.
    легче держать у себя все дерево пакетов.
     
  • 1.4, Z0termaNN, 16:24, 26/06/2006 [ответить] [смотреть все]
  • +/
    есть yam ( apt.sw.be ),
    который все это делает.
     
  • 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.
    Заранее ВСЕМ признателен,
    подскажите НАЧИНАЮЩЕМУ в линуксе.

     
  • 1.7, Сергей_Светайло, 05:31, 22/07/2010 [ответить] [смотреть все]  
  • +/
    Просмотрев многие сообщения - пришел в восторг - от того - что дорогие моему сер... весь текст скрыт [показать]
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 12.05 Организация шифрованного бэкапа с помощью rdiff-backup, encfs и Dropbox
    - 11.05 Настройка беспроводного соединения в Debian GNU/Linux
    - 07.05 Использование Google Drive в Linux
    - 18.04 Использование нескольких сетевых стеков в Linux
    - 15.04 Восстановление стандартного KDE меню после его удаления (например, wine)
    - 11.04 Настройка gmirror при использовании GPT во FreeBSD 9
    - 09.04 Маршрутизатор на базе FreeBSD с приоритизация трафика средствами PF и ALTQ
    - 02.04 Частичное восстановление данных MySQL из бэкапа, созданного с использованием LVM
    - 21.03 Настройка DNSSEC в BIND 9.9
    - 17.03 Набор номера на Cisco IP Phone 7960/7940 из скрипта
    RSS | Следующие 15 записей >>


    ПОДПИШИСЬ НА ЖУРНАЛ Linux Format 2012!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонусы и подарки- объёмные наклейки на системный блок, диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Оформить подписку на год


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList