Оглавление
- 1. Загрузите изображение
- 2. Смонтируйте образ
- 3. Установите инструменты для создания дистрибутивов.
- 4. Синхронизируйте файлы компакт-диска с каталогом, в котором создан ISO.
- 5. Скопируйте установленный пакет.
- 6. Найдите несуществующие обороты и пропишите no_exist_rpms
- 7. Загрузите все зависимые пакеты в no_exist_rpms.txt.
- 8. Измените файл isolinux.cfg.
- 9. Измените файл конфигурации автоматической установки.
- 10. Создание и изменение файлов noraml.
- 11. Добавьте индивидуальный идентификатор группы в указанную среду.
- 12. Создайте новые данные реподанных.
- 13. Создайте ISO-образ
- 14. Создайте значение MD5 изображения.
- 15. Когда система запустится, нажмите e, чтобы войти в конфигурацию и изменить конфигурацию запуска.
1. Загрузите изображение
Загрузите релизную версию с официального сайта https://repo.openeuler.org/openEuler-22.03-LTS/ISO/ .
2. Смонтируйте образ
Загрузите образ openEuler-22.03-LTS-SP2-x86_64.iso в каталог /root/ системы openEuler или системы centos и смонтируйте его в каталог /media.
mount /root/openEuler-22.03-LTS-SP2-x86_64.iso /media
3. Установите инструменты для создания дистрибутивов.
yum -y install createrepo genisoimage isomd5sum rsync
4. Синхронизируйте файлы компакт-диска с каталогом, в котором создан ISO.
Синхронизировать файлы по пути /media с /ISO, за исключением папок «Пакеты» и «repodata».
/usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /media/ /ISO/
Создайте новые папки Packages и repodata в папке /ISO/.
mkdir -p /ISO/{
Packages,repodata}
5. Скопируйте установленный пакет.
Создать файл install.log
rpm -qa >> /root/install.log
awk '{print $0}' /root/install.log |xargs -i cp /media/Packages/{
}.rpm /ISO/Packages/
6. Найдите несуществующие обороты и пропишите no_exist_rpms
awk '{print $0}' /root/install.log |xargs -i ls /ISO/Packages/{
}.rpm > no_exist_rpms.txt
7. Загрузите все зависимые пакеты в no_exist_rpms.txt.
#!/bin/sh
for line in `cat /root/no_exist_rpms.txt`
do
echo "download file>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>and it's denpendies:"$line
yum install -y --downloadonly --downloaddir=/ISO/Packages/ $line
done
8. Измените файл isolinux.cfg.
vi /ISO/isolinux/isolinux.cfg
Воля
append initrd=initrd.img inst.stage2=hd:LABEL=openEuler-22.03-LTS-SP2-x86_64 quiet
изменить на:
append initrd=initrd.img inst.stage2=hd:LABEL=openEuler-22.03-LTS-SP2-x86_64 inst.ks=hd:LABEL=openEuler-22.03-LTS-SP2-x86_64:/isolinux/ks.cfg quiet
inst.ks — расположение файла ks.cfg,
inst.stage2 — расположение установочного носителя,
hd:LABEL — метка носителя, openEuler-22.03-LTS-SP2-x86_64. Это связано с параметром -V последующей команды genisoimage для создания файла образа ISO. Лучше всего заменить все значения после hd:LABEL строкой, которая будет использоваться позже, openEuler-22.03-LTS-SP2-x86_64.
9. Измените файл конфигурации автоматической установки.
После завершения первой ручной установки системы все параметры, выбранные в программе установки, сохраняются в файле с именем anaconda-ks.cfg, который находится в каталоге /root/ установленной системы. Затем вы можете скопировать этот файл, изменить его по мере необходимости и использовать полученный файл конфигурации в последующих установках.
cp /root/anaconda-ks.cfg /ISO/isolinux/ks.cfg
Добавьте группу пакетов, требующую выборочной установки, между %packages и %end.
Установите необходимые пакеты программного обеспечения. Добавьте настроенный установочный пакет, чтобы настроить программное обеспечение при установке системы, например: @my-des
%packages
@^web-server-environment
@base
@core
@java-platform
@python-web
@web-server
kexec-tools
@my-des
%end
Groupid пользовательской группы пакетов — это группа, определенная в файле /repodata/normal.xml.
10. Создание и изменение файлов noraml.
Войдите в каталог /ISO, скопируйте файл *normal.xml в путь /ISO/repodata и переименуйте его в нормальный.xml. По этому пути будет только один XML-файл с таким именем.
cp /media/repodata/*-noraml.xml /ISO/repodata/normal.xml
Отредактируйте обычный файл, чтобы добавить индивидуальный пакет rpm.
<group>
<id>my-des</id>
<name>My Dependencies</name>
<default>true</default>
<uservisible>true</uservisible> # 这个值为true,在安装界面才能看到,否则不可见
<packagelist>
<packagereq type="default">python-webob</packagereq>
......
</packagelist>
</group>
Список пакетов для сращивания на основе no_exist_rpms.txt
Примечание. Сначала вам необходимо обработать файл no_exist_rpms.txt и удалить версию и другую информацию после имени каждого пакета RPM,
например: libv4l-1.14.2-6.oe2203sp2.x86_64, после обработки: libv4l
может использовать возвышенные регулярные выражения - [0-9].*Замените следующую информацию о версии
#!/bin/sh
for line in `cat no_exist_rpms.txt`
do
echo " <packagereq type=\"default\">"$line"</packagereq>" >> /root/package.txt
done
11. Добавьте индивидуальный идентификатор группы в указанную среду.
<environment>
<id>web-server-environment</id>
<name>Basic Web Server</name>
<description>Server for serving static and dynamic internet content. </description>
<display_order>30</display_order>
<grouplist>
<groupid>base</groupid>
<groupid>core</groupid>
<groupid>web-server</groupid>
<groupid>my-des</groupid>
</grouplist>
</environment>
Если вы больше не указываете среду для добавления, то есть добавляете вновь определенный идентификатор группы в узел среды, в интерфейсе установки системы появится сообщение об ошибке неопределенной группы.
12. Создайте новые данные реподанных.
Переключитесь на ISO/path и сгенерируйте пакет реподанных из нормального.xml. Обратите внимание: при добавлении нового пакета или обновлении файлаnormal.xml папку repodata необходимо создать заново.
createrepo -g repodata/normal.xml ./
13. Создайте ISO-образ
Обратите внимание, что -V в параметре относится к файлу isolinux.cfg, указанному выше.
cd /ISO
genisoimage -joliet-long -V openEuler-22.03-LTS-SP2-x86_64 -o openEuler-22.03.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /ISO
Параметр -V openEuler-22.03-LTS-SP2-x86_64 — это упомянутый выше inst.stage2=hd:LABEL=openEuler-22.03-LTS-SP2-x86_64. Если он содержит пробелы, добавьте двойные кавычки, например -V "CentOS 7 x86_64"
14. Создайте значение MD5 изображения.
implantisomd5 /ISO/openEuler-22.03-LTS-SP2-x86_64.iso
15. Когда система запустится, нажмите e, чтобы войти в конфигурацию и изменить конфигурацию запуска.
append initrd=initrd.img inst.stage2=hd:LABEL=openEuler-2 ks=hd:LABEL=openEuler-2:/isolinux/ks.cfg quiet
Примечание. openEuler-2 — это буквенная метка USB-накопителя.