Red Hat не находит настраиваемого репозитория на установочном носителе.

я пытаюсь создать ISO-образ Red Hat 7.8 с сокращенным набором rpms, который был обновлен до последней версии. Я понял, как изолировать нужные мне пакеты и загрузить их, но когда я создаю новый ISO, он загружается, запускает установщик, но никогда не находит источник установки на локальном носителе. Я выполнил следующие шаги:

  1. Смонтируйте исходный ISO
  2. Скопируйте всю файловую структуру во временную папку
  3. Отфильтруйте число оборотов в минуту до тех, которые мне нужны
  4. Используйте yumdownloader для загрузки последней версии каждого RPM в newPackages
  5. Удалите исходную папку Packages и переименуйте пакеты newPackages.

Следующим шагом является создание новых реподанных, что я делаю, выполнив следующую команду в Packages:

createrepo -dpo .. .

Он создает новые файлы репо в папке реподанных и заменяет файл repomd.xml

При загрузке однако он не может найти репозиторий на ISO.

Есть ли другой файл, который нужно обновить, чтобы распознать новое репо, или мне нужен какой-то вариант для создания репо, совместимого с ISO? Удалил ли я RPM, необходимый для первоначальной установки?

1
задан 15 April 2021 в 23:22
1 ответ

Я нашел несколько страниц, ссылающихся на comps.xml, и в конце концов выяснил, что comps.xml на исходном ISO имеет гораздо более длинное имя и находится в архиве. В моем случае имя файла было:

c0dee7823d016c47d3d8ad66d65f6cbce5284a00f349dc4d7a72a971c283edd0-comps.xml.gz

Как только я понял это, я извлек файл и поместил его в родительскую папку моего нового дерева ISO. Затем, используя следующую команду, я смог успешно обновить оригинальную репозиторию с уменьшенным списком пакетов из моей папки Packages (запустите эту команду из вашей папки Packages):

createrepo --update -g ../../comps.xml -dpo .. .

Разбирая команду:

  • --update указывает createrepo обновить существующие файлы в папке repodata
  • -g . ./../comps.xml копирует группы пакетов из исходного файла comps.xml
  • -dp флаг -d разбивает файлы базы данных, а -p делает XML файлы красивыми
  • -o указывает местоположение вывода. В данном случае родительская папка, в которой находилась исходная папка repodata

Точка в конце (.) указывает на текущую папку, в которой находятся все пакеты.

0
ответ дан 24 April 2021 в 01:02

Теги

Похожие вопросы