Qual é a diferença entre update-grub e update-grub2?

45

Estou fazendo algumas alterações no meu arquivo grub em /etc/default/grub . Em alguns tutoriais, vi sudo update-grub e outros sudo update-grub2 . Qual a diferença?

    
por Gerep 25.07.2012 / 03:51

1 resposta

57

Não há diferença.

O Ubuntu 9.10 e posterior têm o GRUB2 instalado, mas sudo update-grub ainda prevaleceu como o comando padrão.

sudo update-grub e sudo update-grub2 são equivalentes, portanto, não importa qual você execute. /usr/sbin/update-grub2 é apenas um link simbólico para /usr/sbin/update-grub .

[email protected]:~$ ls -l 'which update-grub update-grub2'
-rwxr-xr-x 1 root root 64 May 17 03:07 /usr/sbin/update-grub
lrwxrwxrwx 1 root root 11 May 17 03:22 /usr/sbin/update-grub2 -> update-grub
  • Na verdade, geralmente falando algumas vezes um comando pode ser um link simbólico de outro, e ainda assim eles se comportam de maneira diferente, porque o executável verifica como foi invocado (por exemplo qual nome) e se comporta de acordo.

    Isso não é o caso para update-grub2 e update-grub , ambos fornecidos por pacotes como grub-pc que fornecem GRUB2. Além disso, /usr/sbin/update-grub é na verdade apenas um pequeno shell script que faz a maior parte de seu trabalho através de outro comando, e podemos ver seu código fonte completo de 3 linhas (no Ubuntu 12.04) para ver que o nome usado para invocá-lo é não verificado:

    #!/bin/sh
    set -e
    exec grub-mkconfig -o /boot/grub/grub.cfg "[email protected]"
    

    "[email protected]" expande para todos os argumentos de linha de comando transmitidos após o nome update-grub ou update-grub2 , mas não esse nome em si. E este é o único lugar no script em que a sintaxe da linha de comando é verificada.

por Eliah Kagan 25.07.2012 / 04:09

Tags