The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Как сформировать установочный iso-образ RHEL заданным набором пакетов
Инструкция по подготовке загрузочного 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/rhel52

5. На текущей системе, содержание которой нам необходимо повторить в
создаваемом 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 `
   done

11. Обновляем индексные файлы на 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
 
23.04.2010 , Источник: http://www.linuxquestions.org/quest...
Ключи: redhat, centos, install, iso, packet / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, CAHbKA (?), 12:06, 24/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как-то всё это неоднозначно...
    Ваш "набор пакетов, установленных в текущей системе" я понял, как
    БЕЗ всей мультимеди
    БЕЗ печати
    БЕЗ почты
    БЕЗ блютуз и прочих экзотических сетевых драйверов
    БЕЗ гномов и кде

    это несложно при ручном удалении пакетов и игнорировании зависимостей... но чтобы просто сложить пакеты на диск... Оно по ходу разве не скажет "Ой, старич0к, мне нужен cups..."  ?

    Зависимости вы не правите, т.е. этот "заданный набор пакетов" вся та шляпа, что ставится сама и довески, что наскребли по интернету, так? или ошибаюсь ?

     
     
  • 2.2, antibanner (?), 15:27, 24/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Почему ето БЕЗ?
    Создается список пакетов на реальной системе, а это значит что все зависимости УЖЕ соблюдены. Будь то медиа, печать, почта... да что угодно.
     
     
  • 3.3, CAHbKA (?), 18:27, 24/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    я спрашивал, что и как
    а ваше утверждение оно только ваше умозаключение или пробовали?

    вот когда ставится редхат видно, что работает rpm и в итого ставятся и зависимые пакеты.
    а тут есть пакет на диске, а зависимых нет. При установке запустится rpm... он что, начнет ставить пакеты с --nodeps ?

     

  • 1.5, CAHbKA (?), 17:07, 25/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    что ж, можно подвести итог:
    как я и предположил сразу эта "методичка" ВОЗМОЖНО и работает для случая только добавления дополнительных пакетов на оригинальный диск 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

     
     
  • 2.7, Scin (?), 13:52, 29/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Развел софдепию.
    И ведь не поленился собрать образ, и написать пост.
    Как обычно ищем - кто виноват, вместо - что делать))

    Изменения по пунктам в студию, плз. Материал нужный, человечество тебя не забудет.

     
     
  • 3.8, CAHbKA (?), 22:06, 29/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Как обычно ищем - кто виноват, вместо - что делать))

    Не знаю кого это ценное замечание вдохновит на подвиг строительства "дистрибутива" по образцу уже развернутого... точно не меня (:
    Лично мне было бы проще для такого случая отложить в сторону .bash_history с
    чем-то примерно таким rpm -e 'rpm -qa|egrep -i "cups|bonobo|gnome|music|sound"' --nodeps, чем формировать "установочный iso"

    >Изменения по пунктам в студию, плз.

    Зачем хоть? Мозга и доблести в тех "изменениях" едва на грош.

     
     
  • 4.9, Scin (?), 17:12, 06/05/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Зачем хоть? Мозга и доблести в тех "изменениях" едва на грош.

    Понятие "централизованая поставка" знакомо? С условием - чтобы все, без лишних телодвижений, могли поставить необходимый набор пакетов. )) оправдалка типа))
    Мозга и доблести там нинадо. Надо чтобы работало. А за это и папаху и коня и саблю новую как в том анекдоте, а не пустые камменты поперек форума.
    Анти УГ: Как сделать чтобы в графическом режиме, в окне выбора пакетов, появились добавочные пункты с нужными пакетами.

     
     
  • 5.10, CAHbKA (?), 22:25, 06/05/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Понятие "централизованая поставка" знакомо?

    Какими-то личными достижениями заслужено обращение эдак свысока?

    >С условием

    Понятие "unattended installation" знакомо ? (;

    >Как сделать чтобы в графическом режиме, в окне выбора пакетов

    Наблюдал, что пункты исчезали. Есть причины чтобы они не появлялись?
    И как это совмещается с "без лишних телодвижений"?

    Бтв, даже на венде, где каждый /дурак/ может сделать свою сборку, они, сборки, устаревают в момент формирования намерения /сделать ту сборку/ в мозгу. Не говоря о том, что сомнительный результат оказывается никому, кроме автора, не интересен.
    Так и вопрос - а не пустая ли это забава, делать установочный iso с тем вогном, что уже стоит на диске ?

     
     
  • 6.11, Scin (?), 11:48, 07/05/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Понятие "unattended installation" знакомо ? (;

    Ну хоть одно понятие по делу высказал, за это спасибо. А то только флейм, сопливые эмоции и никакого ответа по теме. Уж начинал думать, что со школотой общаюсь.

     
     
  • 7.12, CAHbKA (?), 02:31, 08/05/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну хоть одно понятие по делу высказал, за это спасибо. А то
    >только флейм, сопливые эмоции и никакого ответа по теме.

    Тут, положим, всё с точностью до наоборот - и флейм до сих пор был не мой и, разумеется, эмоции не мои. Ведь не моя попытка подначить провалилась. (Для проверки на флейм перечитайте только свои ответы)
    Кстати и одобрение - "за это спасибо" - мне не нужно. И даже от равноного было бы не нужно, а уж за повторное упоминание годы известных вещей в особенности.

    Было бы замечательно, если бы этот междусобойчик потерли.
    А если бы спросили меня, то до "полезных советов" статья малость недозрела.

     
     
  • 8.13, Scin (?), 01:30, 10/05/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Не, реально крутой парань этот CAHbKA, грамотно излагает, битард эдакий или все... текст свёрнут, показать
     

  • 1.6, mike_t (?), 08:48, 26/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а смысл? проще с сетки ставить, имхо
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру