Awk сделает это:
awk '
BEGIN {
priority["ok"] = 10
priority["critical"] = 20
}
/^$/ {next}
/^checking/ {var = $NF}
{
if (priority[status[var]] < priority[$NF])
status[var] = $NF
if ($NF == "critical")
crit[var ":" $4] = 1
}
END {
for (var in status)
print var, status[var]
for (c in crit) {
split(c, ary, /:/)
printf("critical at %s for %s\n", ary[2], ary[1])
}
}
'
выводы
$var ok
$var2 ok
$var3 critical
critical at results3 for $var3
Я попробовал тот же подход как Вы (но liveos является Fedora 17 для меня), я перестал работать также, мы не можем использовать изофайл для root=live:
опция. root=live:LABEL=multipass01:$isofile
не может быть распознан (возможно, это может быть распознано в будущей фиксации, но я не могу ждать).
Таким образом, я использовал другой подход:
#step 1 create a blank partition that can hold the liveos.(/dev/sdb5)
#step 2 copy the liveos to the partition
dd if=/my-path-to-f17-live-iso of=/dev/sdb5
#step 3 change the grub.cfg,
#note1: don't need to use loopback, just use (hdX,Y).
#note2: "root=" becomes "root=live:/dev/sdb5"
menuentry 'F17 install' --class fedora --class gnu-linux --class gnu --class os {
insmod part_msdos
linux (hd1,5)/isolinux/vmlinuz0 linux root=live:/dev/sdb5 rootfstype=auto ro liveimg rd.luks=0 rd.md=0 rd.dm=0
initrd (hd1,5)/isolinux/initrd0.img
}
Можно попробовать этот подход также, /dev/sdb5
действуйте как CD/DVD-rom в этом подходе.
Другой подход изменяет сценарий Python dracut
чтобы заставить его распознать такие опции, но я не думаю, что это стоит.
Не смог найти жизнеспособный ответ также. Но это, кажется, реализовано к настоящему времени.
Это сообщение упоминает фиксацию, которая реализует, сказал, что функциональность в dracut (это - то, что Вы хотите).
Помните, что корень = опция является параметром командной строки ядра:
root= [KNL] Root filesystem
See name_to_dev_t comment in init/do_mounts.c.
Для этих видов установок для работы необходимо посмотреть в initramfs инфраструктуре и видеть, поддерживается ли это. (т.е. ядро, монтирующее .iso's для использования в качестве корня, является, по-видимому, не задачей ядра?)
Если Вы смотрите на комментарий 38, и позже Вы будете видеть своего рода пошаговую инструкцию. Я собираюсь протестировать это сам теперь.
Править: Это не собирается лететь для Centos 6.4:/, который имеет древнюю версию dracut.
Вот так
menuentry "CentOS-7.0-1406-x86_64-DVD" {
set root='hd1,msdos1'
set isofile='/CentOS-7.0-1406-x86_64-DVD.iso'
loopback loop $isofile
linux (loop)/isolinux/vmlinuz noeject inst.stage2=hd:/dev/vdb1:$isofile
initrd (loop)/isolinux/initrd.img
}