Отправляет email-рассылки с помощью сервиса Sendsay

KirovLUG: пользователи Linux в Вятке

Полигон для сборки пакетов от fc2 для asp9

Рабочей системой является ASPLinux 9.2, на ней требуется собирать пакеты
из src.rpm от Fedora Core 2 под ASPLinux 9.

1. Инициировать установку ASPLinux 9. На отдельный раздел диска (hda8)
установил почти полный набор пакетов (т.к. пересборка будет касаться
только (или почти) серверных приложений, то некоторый пакеты касающиеся
gui я не устанавливал). Загрузчик никуда не устанавливал.

2. Надо первый раз обязательно загрузиться с этого раздела. Для этого в
рабочей системе в lilo.conf я создал отдельную секцию для загрузки с
этого раздела

# ASPLinux 9 poligon
image=/mnt/hda8/boot/vmlinuz-2.4.20-9asp
label=poligon
root=/dev/hda8
read-only

Перезагружаемся. В "poligon". Логинимся root. Можно отключить ненужные
службы, просмотреть список установленных пакетов - "rpm -qa".
Перегружаемся в рабочую систему.

3. Создаем в /mnt/hda8/mnt каталоги hda9 и hdc5.

В первом сорцы:

# mount --rbind /home/share/fc2_dvd/SRPMS /mnt/hda8/mnt/hda9

Во втором уже собранные пакеты:

# mount --rbind /mnt/hdc5/share/rep /mnt/hda8/mnt/hdc5

Также примонтируем proc

# mount --rbind /proc /mnt/hda8/proc/

4. В отдельной консоли под root:

# /usr/sbin/chroot /mnt/hda8

Все полигон готов!

Чем удобно такое решение? Тем что не надо возиться с настройкой новой
машины. Я могу в привычной среде смотреть фильмы, читать, или как сейчас
писать документацию, когда в соседнем окне терминала происходит
компиляция. Причем компиляция именно под ту платформу: те же версии
glibc и другого программного обеспечения. Пересобранные пакеты потом
просто переношу на сервер и устанавливаю.

Почему нельзя до установить необходимый набор библиотек прямо на
сервере? Во-первых, они никогда там не будут использоваться - так
например все библиотеки связанные с X-ами, или форматирования и
формирования документов. Во-вторых у меня сервер не очень мощная
машинка, а рабочая станция будет помощнее...

Пересобираю src.rpm пакеты следующим образом:

rpmbuild --rebuild --target i686 <пакет.срц.рпм>

Пересобираю пакеты с исправленным spec-файлом:

rpmbuild -bb --target i686 --rmsource --clean <пакет.спек>

Если пакет при установке выдает нарушение зависимостей, то прежде чем
установить его с использованием "--nodeps", я сохраню в файле список
этих нарушенных зависимостей:

rpm -Uhv <пакет.или.список.пакетов.через.пробел> > deps.пакет 2>&1

Ответить   Tue, 02 Nov 2004 22:39:54 +0300 (#255773)