Вход:  Пароль:  
FreeSource: DmitriyKruglikov/Repository ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Создание собственного репозитория пакетов

Да, это очень удобно в локальной сети, когда созданный вами репозиторий доступен для всех рабочих станций, и нет необходимости долго и нудно качать эти же пакеты по медленному каналу.
Да, это очень удобно, когда вы имеете возможность записать собственный репозиторий на CD (DVD) и отнести долгожданные обновления домой и к друзьям.
Да, это так же позволяет иметь возможность получить некоторую сумму наличных денег в качестве компенсации за потраченное время и труд по отбору и тестированию пакетов. Я надеюсь, у вашего порога уже выстроилась очередь... У меня пока ни кого :)


Создадим репозиторий для личного использования, в таком случае :)
Лучшим описанием, которое мне попалось на глаза, был материал Алексея Любимова .
На основе его и написана данная статья.

Создание своего репозитария состоит из трех пунктов


  1. создаем стандартную структуру каталогов и линков
  2. записывваем *.rpm в папку RPMS, а *.src.rpm в SRPMS
  3. запускаем genbasedir

После этого остается только залить получившийса репозитарий на сдром или на ftp
или просто положить его на постоянное место и либо добавить этот сдром командой
apt-cdrom add или отредактировать /stc/apt/sources.list
и сделать apt-get update и пользоваться в свое удовольствие.


1. Стандартная (упрощеная) структура репозитария


Обратите внимание, что символические ссылки на каталоги RPMS SRPMS должны быть
относительными, а не абсолютными, иначе вы будете неприятно удивлены.


./disc/info – файл с именем вашего репозитария. Будет отображаться в списке.
Если этого каталога (и файла) не существует, имя репозитария будет запрошено командой
apt-cdrom add 
Так же, имя репозитория может быть задано из командной строки, или в скрипте, при вызове genbasedir


myrep в листинге – ваше слово – название репозитария.


2. Заливаем РПМки
Просто копируем *.rpm в ./i586/RPMS, а *.src.rpm в ./SRPMS.
Нет нужды следить за соответствием пакетов src.rpm и их бинврных версий.
Не обязательно заливать сразу и бинарники и исходники – можно что то одно.
Просто папка ./i586/RPMS или ./SRPMS. останется пустой.
АПТ работает со всей базой репозитариев в целом и его не будет заботить то,
что в конкретном репозитарии чего то не хватает по отношению к самому себе.
Главное, чтобы хоть в каком то репозитарии нашлось подходящее.


3. genbasedir обрабатываем репозитарий.
Когда репозитарий заполнен, надо создать служебные файлы-индексы для работы АПТа.


Замечание:
Чтобы команда genbasedir присутствовала в вашей системе — установите пакет apt-utils.


Эти файлы лежат в папке ./i586/base и создаются утилитой genbasedir.


#genbasedir --topdir=/home/avl/rep i586 myrep


Другой вариатн этой команды
#genbasedir --origin=ORIGIN --label=LABEL --topdir=/home/Repositary/ i586 myrep


Добавит дополнительную информацию о вашем репозитарии


--topdir=/home/avl/rep – опция указывающая абсолютный путь к вершине нашего репозитария.


i586 – архитектура под которую строить индексы
(если вам нужна другая архитектура – не забудте изменить структуру репозитария).


myrep – название репозитария (аналогично, при изменении см. в структуру репозитария)


Результат:



все готово.


Замечание 1?.
если вы не заливали бинарники или исходники – все равно индекс для них будет создан (нулевой индекс) .
это не ошибка и прекрасно будет работать, но совсем чисто будет, если вы удалите из папки ./i586/base
srclist.myrep и srclist.myrep.bz2 (если нет *.src.rpm ) или pkglist.myrep и pkglist.myrep.bz2
(если отсутствуют *.rpm).


Замечание 2?.
строчки для /etc/apt/sources.list будут такими:


#для ftp

или
#если прямо из директории


#для сдром
apt-cdrom add сам все пропишет, как надо :)


Маленькая хитрость: Я создал вышеописанную структуру в дереве своего FTP сервера, а в каталоге /var/cache/apt создал символическую ссылку
archives -> /var/ftp/pub/Repository/i586/RPMS
Таким образом, все пакеты, которые я загружаю для себя, автоматически попадают туда, откуда я раздаю потом репозиторий.


И создал малюсенький скрипт для перестроения репозитория:


На рабочих станциях добавлено в /etc/apt/sources.list


И всё.... Этот же репозитроий записываю на DVD и ношу домой... Если лень нести ноутбук.
А ноутбук, подключенный в любой локалке, становится переносным репозиторием по FTP.


Ссылок на эту страницу нет


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]