В этом случае третий также является последним. Если вы можете с уверенностью предположить, что вам всегда нужно менять последний .
, вы можете сделать:
$ echo 'version: 1.8.0.110' | sed 's/\.\([^.]*\)$/-\1/'
version: 1.8.0-110
или, если ваш sed
поддерживает -E
(, большинство делает )с:
$ echo 'version: 1.8.0.110' | sed -E 's/\.([^.]*)$/-\1/'
version: 1.8.0-110
Это будет искать .
, а затем 0 или более не-.
символов([^.]
)до конца строки($
). Поскольку [^.]*
находится в круглых скобках (\( \)
), он «захвачен» и может упоминаться как \1
в правой части оператора замены. Таким образом, это заменит символы .
и не -.
после него на -
и эти символы.
Если это должен быть третий, а не последний, @Ned64 уже дал самый простой подход , но в качестве альтернативы вы могли бы:
$ echo 'version: 1.8.0.110' | perl -pe 's/(([^.]+\.){2}[^.]+)\./$1-/'
version: 1.8.0-110
Я еще не тестировал Rocky, поэтому этот ответ основан на RHEL/CentOS, но я ожидаю, что он будет практически таким же.
Для загрузки по сети потребуется образ установщика squashfs :, он должен быть доступен на установочном компакт-диске по адресу images/install.img
.
Если вы не хотите монтировать образ ISO, вам следует извлечь этот образ из ISO и сделать его доступным через HTTP. Пользовательское расположение можно указать с помощью параметра загрузки inst.stage2=
. Вам также может понадобиться скрытый файл .treeinfo
из корневого каталога ISO.
В моей настройке есть такие параметры сетевой загрузки:
ip=dhcp inst.stage2=http://boot.server/rhel8 inst.lang=en_US inst.keymap=us inst.ks=http://boot.server/rhel8/rhel8config.ks
Когда initramfs установщика RHEL 8 задается этот параметр inst.stage=http://boot.server/rhel8
, он сначала проверяет наличие http://boot.server/rhel8/.treeinfo
. Таким образом, он в основном ожидает найти полное содержимое ISO-образа RHEL 8. Если файла .treeinfo
нет, он попытается найти файл squashfs по адресу http://boot.server/rhel8/images/install.img
. Таким образом, он в основном добавит /images/install.img
ко всему, что вы укажете.
В файле .treeinfo
будет указан хэш sha256 для файла install.img
, и установщик может фактически использовать его для проверки целостности, если он доступен, поэтому вы можете также предоставить файл .treeinfo
.
После загрузки образа stage2 у установщика будет достаточно функций для всего, что он собирается делать, поэтому он сможет анализировать файл кикстарта, монтировать общие ресурсы NFS и т. д. Перед загрузкой stage2 он может получить доступ только к HTTP., HTTPS и FTP-серверы. Итак, как только вы убедились, что установщик может загрузить образ stage2, вы можете добавить параметр загрузки inst.repo=nfs:192.168.0.100:/ISOs/Rocky-8.4-x86_64-dvd1.iso
, чтобы он использовал ваш образ ISO.