Инструкция по подготовке загрузочного ISO собственной комплектации на базе RHEL 5.x или CentOS 5.x. Создаваемый диск будет содержать только набор пакетов, установленных в текущей системе.1. Загружаем iso-образ загрузочного DVD и сохраняем их в /tmp
2. Создаем базовую директорию
mkdir -p /build/rhel52
3. Монтируем ISO
mount -oloop /tmp/rhel-5-server-x86_64-dvd.iso /mnt
4. Копируем файлы с DVD в директорию /build/rhel52
rsync -rv /mnt/* /build/rhel52
cp /mnt/.discinfo /build/rhel52
cp /mnt/.treeinfo /build/rhel525. На текущей системе, содержание которой нам необходимо повторить в создаваемом ISO, генерируем список пакетов:
rpm -qa --queryformat '%{name},%{version}-%{release},%{arch}\n' | sort -n > /tmp/rhel5.2-rpm
6. Добавляем окончание .rpm к элементам сформированного списка:
cat /tmp/rhel5.2-rpm | sed 's/$/.rpm/g' > /build/rhel52/rhel52-list
7. Создаем список RPM, находящихся на примонтированном DVD:
ls -1 /build/rhel52/Server > /build/rhel52/rhel52-all
8. Генерируем список пакетов, которые нам не нужны:
diff -uNr /build/rhel52/rhel52-list /build/rhel52/rhel52-all | grep ^+ > /build/rhel52/remove-list
9. Удаляем первые три строки из файла rhel52-all (удаляем первую строку и файлы TRANS.TBL и repodata):
vi /build/rhel52-all
10. Создаем скрипт для удаления ненужных файлов
#!/bin/ksh
#uncomment the next line for troubleshooting
#set -x
LINES=`cat remove-list | wc -l`
LINE_NO=1
while [ $LINE_NO -le $LINES ]
do
BADFILE=`sed -n "${LINE_NO}p" remove-list`
rm -f /build/rhel52/Server/$BADFILE
LINE_NO=`expr $LINE_NO + 1 `
done11. Обновляем индексные файлы на DVD, учтя удаленные пакеты:
createrepo -g /build/rhel52/Server/repodata/comps-rhel5-server-core.xml /build/rhel52/Server
12. Создаем директорию для дополнительных пакетов, которые нам хочется сохранить на установочном носителе:
mkdir /build/rhel52/addons
15. Копируем дополнительные пакеты:
cp /pathtofiles/addons/* /build/rhel52/addons/
13. Копируем типовой kickstart-файл из текущей системы:
cp kickstart_file /build/rhel52
14. Заменяем если в kickstart-файле "--url http://" на "cdrom"
После секции %post добавляем:
%post --nochroot
mount /tmp/cdrom /mnt/sysimage/mntЗаменяем "/bin/rpm -Uhv http://" на "/bin/rpm -Uhv /mnt/addons/", чтобы ставить файлы не из web, а их локальной директории addons. Также заменяем все упоминания wget на директорию addons.
15. Для удобства установки в /build/rhel52/isolinux/boot.msg добавляем подсказку по вызову kickstart-конфигурации "ks=cdrom:/rhel52.ks.cfg"
16. Создаем загрузочный ISO:
mkisofs -r -T -J -V "RHEL52 DVD" -b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table -o /tmp/rhel52.iso /build/rhel52
URL: http://www.linuxquestions.org/questions/linux-enterprise-47/...
Обсуждается: http://www.opennet.me/tips/info/2350.shtml
как-то всё это неоднозначно...
Ваш "набор пакетов, установленных в текущей системе" я понял, как
БЕЗ всей мультимеди
БЕЗ печати
БЕЗ почты
БЕЗ блютуз и прочих экзотических сетевых драйверов
БЕЗ гномов и кдеэто несложно при ручном удалении пакетов и игнорировании зависимостей... но чтобы просто сложить пакеты на диск... Оно по ходу разве не скажет "Ой, старич0к, мне нужен cups..." ?
Зависимости вы не правите, т.е. этот "заданный набор пакетов" вся та шляпа, что ставится сама и довески, что наскребли по интернету, так? или ошибаюсь ?
Почему ето БЕЗ?
Создается список пакетов на реальной системе, а это значит что все зависимости УЖЕ соблюдены. Будь то медиа, печать, почта... да что угодно.
я спрашивал, что и как
а ваше утверждение оно только ваше умозаключение или пробовали?вот когда ставится редхат видно, что работает rpm и в итого ставятся и зависимые пакеты.
а тут есть пакет на диске, а зависимых нет. При установке запустится rpm... он что, начнет ставить пакеты с --nodeps ?
что ж, можно подвести итог:
как я и предположил сразу эта "методичка" ВОЗМОЖНО и работает для случая только добавления дополнительных пакетов на оригинальный диск RHEL. НО скорее всего она даже для этого случая не работает.Что сразу смущает - подразумеваемый знак равенства между CentOS и RHEL
Этого сроду не было, начиная от структуры каталогов дисков.Т.е. шапка " Инструкция ... на базе RHEL 5.x или CentOS 5.x." -- уже вводит в заблуждение
дальше - больше
п 5. - кривой, впоследствии аукнется
п 7. - "Создаем список RPM, находящихся на примонтированном DVD" конечно не создаёт список всех rpm
п 8 - из-за п5 конечно дифф не сработает
п 11 - конечно неправильный, забыли о yum
п 13 - "Копируем типовой kickstart-файл из текущей системы" - так и просто шедевр.да, и конечно не сказоно, что предварительно нужно поставить createrepo и mkisofs, а скорее всего и что-то еще, что уже из замысла "установленных в текущей системе" делает кашу.
Ну и результат, вполне ожидаемый. Скриншотик тут - http://s41.radikal.ru/i093/1004/83/655f2b88a12d.jpg
Развел софдепию.
И ведь не поленился собрать образ, и написать пост.
Как обычно ищем - кто виноват, вместо - что делать))Изменения по пунктам в студию, плз. Материал нужный, человечество тебя не забудет.
>Как обычно ищем - кто виноват, вместо - что делать))Не знаю кого это ценное замечание вдохновит на подвиг строительства "дистрибутива" по образцу уже развернутого... точно не меня (:
Лично мне было бы проще для такого случая отложить в сторону .bash_history с
чем-то примерно таким rpm -e `rpm -qa|egrep -i "cups|bonobo|gnome|music|sound"` --nodeps, чем формировать "установочный iso">Изменения по пунктам в студию, плз.
Зачем хоть? Мозга и доблести в тех "изменениях" едва на грош.
>Зачем хоть? Мозга и доблести в тех "изменениях" едва на грош.Понятие "централизованая поставка" знакомо? С условием - чтобы все, без лишних телодвижений, могли поставить необходимый набор пакетов. )) оправдалка типа))
Мозга и доблести там нинадо. Надо чтобы работало. А за это и папаху и коня и саблю новую как в том анекдоте, а не пустые камменты поперек форума.
Анти УГ: Как сделать чтобы в графическом режиме, в окне выбора пакетов, появились добавочные пункты с нужными пакетами.
>Понятие "централизованая поставка" знакомо?Какими-то личными достижениями заслужено обращение эдак свысока?
>С условием
Понятие "unattended installation" знакомо ? (;
>Как сделать чтобы в графическом режиме, в окне выбора пакетов
Наблюдал, что пункты исчезали. Есть причины чтобы они не появлялись?
И как это совмещается с "без лишних телодвижений"?Бтв, даже на венде, где каждый /дурак/ может сделать свою сборку, они, сборки, устаревают в момент формирования намерения /сделать ту сборку/ в мозгу. Не говоря о том, что сомнительный результат оказывается никому, кроме автора, не интересен.
Так и вопрос - а не пустая ли это забава, делать установочный iso с тем вогном, что уже стоит на диске ?
>Понятие "unattended installation" знакомо ? (;Ну хоть одно понятие по делу высказал, за это спасибо. А то только флейм, сопливые эмоции и никакого ответа по теме. Уж начинал думать, что со школотой общаюсь.
>Ну хоть одно понятие по делу высказал, за это спасибо. А то
>только флейм, сопливые эмоции и никакого ответа по теме.Тут, положим, всё с точностью до наоборот - и флейм до сих пор был не мой и, разумеется, эмоции не мои. Ведь не моя попытка подначить провалилась. (Для проверки на флейм перечитайте только свои ответы)
Кстати и одобрение - "за это спасибо" - мне не нужно. И даже от равноного было бы не нужно, а уж за повторное упоминание годы известных вещей в особенности.Было бы замечательно, если бы этот междусобойчик потерли.
А если бы спросили меня, то до "полезных советов" статья малость недозрела.
Не, реально крутой парань этот CAHbKA, грамотно излагает, битард эдакий (или все таки нЁрд?? я не разобрался ) (;Вместо того, чтобы ответить на первый вопрос, чем нибудь: "А вы были в гугле по запросам createrepo, repo, create a bootable CD DVD, fedora revisor, LFS - Линукс с нуля"?
Начал поливать удобрениями весь вопрос в общем. Да еще предложил снести пакеты в системе. молодец, разрушитель мифов прям (; Это надо просто куда-то приколотить.
Кстати "unattended installation" не в тему проще kikstart(: Поэтому "за это спасибо" - забираю, тем более тебе оно не нужно (; Нимб видать собственный уже есть (;Вопрос номер два тоже самое. Куча вони и никакого ленивого почесывания с фразой "Курить createrepo". И это с учетом того что это> годы известных вещей. Проще пост напи`сать на 4 строки ))
>если бы этот междусобойчик потерли
Пусть останется. Как яркий образец того, как говорим одно, подразумеваем другое, а поступаем наоборот. Обычный демократический стиль и практика.
Я все сказал. Для себя, по теме все, что хотел, понял и выяснил, писать больше не буду.
ЗЫ: CAHbKA - можеш последний раз оправдаться. Комментировать не буду (;
а смысл? проще с сетки ставить, имхо