Ключевые слова:rpm, repository, packet, linux, altlinux, (найти похожие документы)
From: Алексей Любимов
Date: Wed, 24 Jan 2008 18:21:07 +0000 (UTC)
Subject: Создание простейшего RPM-репозитория
Оригинал: http://faq.altlinux.ru/index.php?action=single&nf=1&qid=541
Как создать свой RPM-репозиторий (например, собрать пакеты со всех дисков
дистрибутива на винчестер и не играть в CD-ченжер)?
Свой репозитарий - это отличный способ собрать все свои рпмки и их исходники в
одно место и сделать процесс их поиска и установки несложным, приятным и удобным
делом для вас и всех, кому вы позволите этим репозитарием воспользоваться.
С репозитарием может работать apt-get, apt-cache и apt-cdrom.
Создание своего репозитария состоит из трех пунктов
1. создаем стандартную структуру каталогов и линков
2. записывваем *.rpm в папку RPMS, а *.src.rpm в SRPMS
3. запускаем genbasedir
После этого остается только залить получившийса репозитарий на сдром или на ftp
или просто положить его на постоянное место и либо добавить этот сдром командой
apt-cdrom add или отредактировать /stc/apt/sources.list и сделать apt-get update
и пользоваться в свое удовольствие.
1. Стандартная (упрощеная) структура репозитария
./SRPMS
./SRPMS.myrep -> SRPMS
./i586/RPMS
./i586/RPMS.myrep -> RPMS
./i586/SRPMS.myrep -> ../SRPMS
./i586/base
myrep в листинге - ваше слово - название репозитария.
эту структуру (для репозитария "sisyphus") я зажал в tar и выложил сюда.
просто положите его в директорию с будущим репозитарием и дайте команду $tar -xf
rep.tar.
2. Заливаем РПМки
Просто копируем *.rpm в ./i586/RPMS, а *.src.rpm в ./SRPMS.
Нет нужды следить за соответствием пакетов src.rpm и их бинврных версий. Не
обязательно заливать сразу и бинарники и исходники - можно что то одно. Просто
папка ./i586/RPMS или ./SRPMS. останется пустой. АПТ работает со всей базой
репозитариев в целом и его не будет заботить то, что в конкретном репозитарии
чего то не хватает по отношению к самому себе. Главное, чтобы хоть в каком то
репозитарии нашлось подходящее.
3 genbasedir обрабатываем репозитарий.
Когда репозитарий заполнен, надо создать служебные файлы-индексы для работы
АПТа. эти файлы лежат в папке ./i586/base и создаются утилитой genbasedir.
$genbasedir --topdir=/home/avl/rep i586 myrep
--topdir=/home/avl/rep - опция указывающая абсолютный путь к вершине нашего
репозитария.
i586 - архитектура под которую строить индексы (если вам нужна другая
архитектура - не забудте изменить структуру репозитария)
myrep - название репозитария (аналогично, при изменении см. в структуру репозитария)
[avl@avl rep]$ genbasedir --topdir=/home/avl/rep i586 myrep
myrep: pkglist done
myrep: srclist done
myrep: hashfile done
All your base are belong to us !!
[avl@avl rep]$ ls -1 ./i586/base
hashfile
pkglist.myrep
pkglist.myrep.bz2
release.myrep
srclist.myrep
srclist.myrep.bz2
все готово.
Замечание1.
если вы не заливали бинарники или исходники - все равно индекс для них будет
создан (нулевой индекс). это не ошибка и прекрасно будет работать, но совсем
чисто будет, если вы удалите из папки ./i586/base srclist.myrep и
srclist.myrep.bz2 (если нет *.src.rpm ) или pkglist.myrep и pkglist.myrep.bz2 (
если отсутствуют *.rpm).
Замечание2.
строчки для /etc/apt/sources.list будут такими:
#для ftp
rpm ftp://ftp.my.ru/pub/myrepdir i586 myrep
rpm-src ftp://ftp.my.ru/pub/myrepdir i586 myrep
или
#если прямо из директории
rpm file:/myrepdir i586 myrep
rpm-src file:/myrepdir i586 myrep
#для сдром
apt-cdrom add сам все пропишет, как надо :-)
From: Nick S. Grechukh
Оригинал: http://lists.altlinux.ru/pipermail/sisyphus/2005-March/054566.html
mkdirhier /mnt/win_d/altlinux/i586/RPMS.master24
cp `find /mnt/cdrom -name *.rpm` /mnt/win_d/altlinux/i586/RPMS.master24
mkdir /mnt/win_d/altlinux/i586/base
genbasedir --progress --topdir=/mnt/win_d/altlinux/ i586 master24
echo rpm file:/mnt/win_d/altlinux/ i586 master24 >> /etc/apt/sources.list