Организация локального репозитория

Допустим, есть машина (назовём ее сервер), которая содержит DVD-привод, есть один или несколько DVD-дисков, на которых комплект ПСПО, или дистрибутив Мастер или Терминал, или школьный branch так называемый, или ветка 4.0, вобщем, какой-то набор пакетов, адекватных данному дистрибутиву (если они не адекватны ему, то вряд ли стоит организовывать из них репозиторий). На этот сервер мы переписали содержимое всех привезённых DVD-дисков, и дальше хотим пользоваться всем этим как хранилищем.

Итак, попробуем переписанные на жесткий диск пакеты предоставить всем местным компьютерам как хранилище. Кстати, можно смонтировать даже не устройство, а файл с образом. Например, нет DVD-привода, а есть переносной USB-винчестер с образом интересующего нас DVD-диска. Кстати, каталог /media предназначен для автоматического размещения точек монтирования, а /mnt — для ручного их размещения. Смонтируем:

$mount -o loop disk_image.iso /mnt/iso

Эффект тот же, если бы мы смонтировали этот диск из DVD-привода. Команда mount сама определила тип файловой системы (iso9660), а можно было указать ключик -t iso9660, получилось бы точно также.

Что есть на диске?..

$ls -lh /mnt/iso
 total 132M
-r--r--r--  1 root root  56M 2008-06-28 18:29 altinst
dr-xr-xr-x  5 root root 2,0K 2008-06-28 18:31 ALTLinux
dr-xr-xr-x 14 root root 4,0K 2008-06-28 18:31 Documentation
dr-xr-xr-x  3 root root 6,0K 2008-06-28 18:31 isolinux
-r--r--r--  1 root root 8,3K 2008-06-18 15:24 license.ru.txt
-r--r--r--  1 root root 3,7K 2008-06-18 15:24 license.txt
dr-xr-xr-x  2 root root 2,0K 2008-06-28 18:31 Metadata
-r--r--r--  1 root root  25M 2008-06-28 18:28 netinst
-r--r--r--  1 root root  52M 2008-06-28 18:27 rescue
-r--r--r--  1 root root 205K 2008-06-18 15:24 RPM-GPG-KEY

Там не так уж много. Каталог ALTLinux/ — хранилище пакетов, каталог с документацией — текстовые файлы с лицензией, на тот случае, если диск вставлен в компьютер с Windows, кое-что можно почитать. isolinux/ содержит загружаемые файлы, чтобы организовать загрузку с CD/DVD, это часть пакета syslinux, который умеет загружаться со всего, что шевелится. Самый большой файл — это altinst. Он тоже является файловой системой, его тоже можно подмонтировать, внутри него находится файловая система с установщиком. Зачем так сделано?.. Во-первых, она упакована и занимает меньше места, во-вторых, файловая система iso9660 обладает рядом ограничений на имена файлов, которых в linux нет (кстати, в именах файлов в linux могут быть любые символы, кроме /, который является разделителем каталогов, и символа с кодом 0), не сохраняет в нужной мере права доступа к файлам (в том числе setuid и т.п.)

Придумаем, каким способом будем раздавать этот диск? По ftp.

В системе есть условно два места --- sources.list.d, где лежат уже готовые файлы, а другое --- sources.list, который является блее правильным местм для вписывания чего угодно. Туда пишем:

rpm ftp://10.30.5.1/pub ALTLinux disk base

Почему disk и base? Это дже устанвщик, у нег есть две стадия --- базовая система (base) и всякие дополнительные пакеты (disk).

Мы сейчас по-тупому скопирвали реп. с диска, а, вобще говоря. мы могли нарушить его структуру. Давайте его пересодерём. Для этого надо установить пакет apt-utils, и сказать genbasedir --topdir=/var/ftp/pub/ ALTLinux base disk --progress

После этой небыстрой операции поробуем ещё раз: failed to open file. Это было из-за того, что мы делали хардлинки, и genbasedir ругался на то, чт количеств хардлинков больше одного.

В итоге, можно свалить кучу пакетв, genbasedir генерирует ктаалог base, и всё рабтает.

Названия репозитриев --- прсто имена каталогов, а названия разделов в неск. местах используются: ... . В больш. случаев репоз. на сервере устроен так, что там тлько одна ветка.

Между прчим, тема закрыта.

Для орг. зеркала сизифа надо развернуть все те файлы, явл. сост. частями репозитория на фтп. Если забыть пр сизифус миррор, т можно взять дистрибутив на дивидюках, и виложить их в опр. виде, вид этот дост. призвльный, главное, чтобы оно лежало в каталогах, а потом натравим спец. команду для генерации всего.

В ПСПО при запущенной граф. оболочке все монтируется автоматом. При всовывании сдюка в дисковод оно открылсь. На самом деле оно там pmount, кидает вверх по дбусу сообщение об этом, если ктл-то его ловит, то он может, например, откр. файловый броузер.

Теперь надо из под рута скопировать содержимое исх. носителя в /var/ftp

После этого необх скахать genbase dir. Тут три параметра: месторасп. хранилища, название и его разделы. Зачем так (в идеале) --- если речь идёт о дистр. на неск. архитектур в одном и том е зранилище будут потребны неск. разделов, но не все сразу. В noarch содержатся пакеты, не завис. от арзитектуры. Именно поэтому есть такое двойное эшелонирвание.

Теперь на клиентских машинах надо настрить, чтобы испльзовалось новосозданное локальное хранилище: /etc/apt/sources.list, после чего apt-get update.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

8

1

1

1

1

PavelSutyrin, DmitryChistikov, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex