Локальный репозиторий — это очень просто и удобно!
После получения пакета СПО и его апробации на экспериментальной машине возникает естественное желание установить дистрибутив на все компьютеры в учреждении, на которых это возможно. Дальнейшее желание — это установить дополнительное программное обеспечение, которое не всегда может находиться на полученном диске., но находиться в репозитории, расположенном на одном из серверов в Интернете (например ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/4.1/branch/). Либо обновить систему до более новой версии.
К концу 2008 года практически все школы России были подключены к сети Интернет. Не знаю как со скоростью подключения обстоят дела в других регионах, но в нашей школе скорость подключения составляет 128 Кб/c, зато безлимит. Теперь представим ситуацию, когда в учебном учреждении более 50 рабочих станций, и порядка 20 постоянно используют предоставленный канал для работы. Естественно устанавливать ПО в рабочее время с репозитория в сети Интернет на один компьютер более чем проблематично, тем более на 20 одновременно. А если нужно срочно?
«Погуглив» на просторах интернета и посоветовавшись с более опытными линуксоидами я пришёл к выводу, что необходимо создать собственный репозиторий в локальной сети, который бы ежедневно обновлялся и все машины в сети получали ПО с этого репозитория. Для решения данной задачи мне понадобился ftp-сервер с анонимным доступом в локальной сети, на котором я решил размещать хранилище пакетов (можно также использовать и http-протокол для доступа к репозиторию).
Итак теперь нужно создать сам репозиторий. Для его создания существует множество способов.
Первый из них, которым я воспользовался — это рецепт Дмитрия Кругликова (http://freesource.info/wiki/DmitriyKruglikov/Repository?v=f2g&). Но такое решение проблемы меня, вскоре, не устроило по уже выше указанным причинам — установка производиться в рабочее время и канал будет занят, хотя очень удобен в том случае, если вы хотите иметь маленький и компактный репозиторий, в котором только всё необходимое для работы ваших машин.
Второй способ предлагают разработчики ALTLinux — воспользоваться утилитой alterator-mirror. Установив которую командой apt-get install alterator-mirror, вы получите доступ к управлению зеркалирования локальных репозиториев через веб-интерфейс alterator:
Такой способ больше подходит для системных администраторов, которые только начинают свой переход на ОС Linux. Но так, как сохранение зеркала будет произведено в каталог /var/lib/alterator/mirror, поэтому необходимо следить за тем, чтобы корневой каталог не был переполнен, иначе это может вызвать сбои в работе операционной системы. Тем же пользователям, которых не останавливают трудности работы в командной строке я покажу ещё один способ, который сам использую: Использование связки ftp-сервер+rsync+crontab.
#!/bin/sh rsync -avlpztc —exclude ‘SRPMS’ —exclude ‘x86_64’ —stats —delete-after —verbose rsync.altlinux.org::ALTLinux/4.1/branch/ /home/www/ftp/altlinux/4.1/branch Где /home/www/ftp/altlinux/4.1/branch — та директория, куда помещается репозиторий rsync — (англ. Remote Synchronization) это программа для UNIX-подобных систем, которая выполняет синхронизацию файлов и каталогов в двух местах с минимизированием трафика, используя кодировку данных при необходимости. Важным отличием rsync от многих других программ/протоколов является то, что зеркалирование осуществляется одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). rsync может копировать или отображать содержимое каталога и копировать файлы, опционально используя сжатие и рекурсию. (http://ru.wikipedia.org/wiki/Rsync)
Вот так, используя инструменты ОС Linux можно разгрузить Интернет-канал в дневное время суток, обновлять и устанавливать ПО на машины в сети когда вам это заблагорассудиться с репозитория, размеренного в вашей локальной сети. Дополнительный материал: |