Pregunta

RPM coloca automáticamente un nuevo núcleo instalado como la primera opción. Sin embargo, quiero moverlo como el último, para finalizar el archivo.

El archivo de configuración de grub se ve así:

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.29.6-217.2.7.fc11.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.29.6-217.2.7.fc11.x86_64 ro root=/dev/mapper/main-root rhgb quiet
    initrd /initrd-2.6.29.6-217.2.7.fc11.x86_64.img
title Fedora (2.6.29.6-217.2.3.fc11.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.29.6-217.2.3.fc11.x86_64 ro root=/dev/mapper/main-root rhgb quiet
    initrd /initrd-2.6.29.6-217.2.3.fc11.x86_64.img
title Fedora (2.6.29.6-213.fc11.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.29.6-213.fc11.x86_64 ro root=/dev/mapper/main-root rhgb quiet
    initrd /initrd-2.6.29.6-213.fc11.x86_64.img

Mi objetivo es mover la primera opción (217.2.3) para terminar. Ahora creo cómo eliminarlo:

sed -e '/(2.6.29.6-217.2.7.fc11.x86_64)/,+3d' /boot/grub/menu.lst

El comando P solo imprime la línea actual (no como en vim, donde significa pegar).

¿Tiene alguna idea sobre cómo mover automáticamente esta parte del archivo al final?

¿Fue útil?

Solución

Tengo que responderme a mí mismo. :-)

sed '/\(2.6.18-157.el5\)/,+4 { H; d; }; $ { p; x; }' /boot/grub/menu.lst

Si no tiene fluidez con SED (yo tampoco), hay una versión más detallada

sed '
 /\(2.6.18-157.el5\)/,+3 { #Find line which contains version of our kernel in parentheses and took also 3 following lines
  H # Append this line into buffer
  d # Delete line
 }

 $ { # On the last line
 p # Print current line
 x # Change current line with buffer and vice versa
 # Afterwards sed print current line => in our case deleted line
 }' /boot/grub/menu.lst

Otros consejos

Una tarea muy similar se cubrió ampliamente aquí

Sí, hay cierta satisfacción en un comando SED bien elaborado, pero creo que tendería a usar un editor, por lo que pude ver las líneas que iba a mover y no tener que preocuparme por hacer que los números de línea estén mal en un dominio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top