Kickstart файл в virtualbox не загружается

Чтобы заменить только 0 в 23-й колонке (или в вашем примере 5-й колонке), вам нужно что-то вроде этого:

sed -e "s/^\(\(\S\S*\s\s*\)\{4\}\)0 /\1$i/" file.txt > newfile.txt

Но это замечание просто для улучшения ваших знаний sed. Замена с увеличением переменных не является типичной работой sed. Это возможно, но не практично. Вы можете смешать sed со сценарием оболочки, но, возможно, вам лучше использовать язык сценариев по вашему выбору, такой как python или perl.

1
29.10.2016, 23:57
1 ответ

Оказалось, что это довольно простая (глупая) ошибка. Внутри файла isolinux.cfg , в той же строке, измененной командой sed в createKSISO.sh , есть пара ключ / значение root = live: CDLABEL = SL-72-x86_64-LiveCD . Примерно в половине руководств, которые я нашел в Интернете по созданию ISO-образа с кикстартом, команда mkisofs включала параметры -V «Имя вашего компакт-диска здесь» или что-то подобное, без каких-либо объяснений относительно важность этой опции. Меня не волновало, как будет называться мой компакт-диск, поскольку он был временным, поэтому я проигнорировал это.

Однако, чтобы созданный ISO был загрузочным, метка root и имя компакт-диска должны совпадать. В противном случае при загрузке isolinux не удается найти ОС для загрузки с live CD. Для быстрого решения этой проблемы я просто указал имя, уже содержащееся в isolinux.cfg , для параметра -V в моем сценарии createKSISO . Более подходящим ответом было бы создать собственное имя, а затем использовать sed , чтобы заменить его в isolinux.cfg .

При изменении этого, вновь созданный ISO загружается, и изменения, внесенные где-либо еще в сценариях, видны в файловой системе.

0
28.01.2020, 01:08

Теги

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