Quelle est la différence entre update-grub et update-grub2?

45

Je fais quelques modifications sur mon fichier grub sous /etc/default/grub . Dans certains tutoriels, j'ai vu sudo update-grub et d'autres sudo update-grub2 . Quelle est la différence?

    
posée Gerep 25.07.2012 - 03:51
la source

1 réponse

57

Il n'y a pas de différence.

Ubuntu 9.10 et les versions ultérieures ont installé GRUB2, mais sudo update-grub est toujours utilisé comme commande standard.

sudo update-grub et sudo update-grub2 sont équivalents, peu importe lequel vous exécutez. /usr/sbin/update-grub2 est juste un lien symbolique vers /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
  • En fait, en général , une commande peut parfois être un lien symbolique d'un autre, et pourtant, elles se comportent différemment, car l'exécutable vérifie comment il a été appelé (par exemple, par quel nom) et se comporte en conséquence.

    C'est pas le cas pour update-grub2 et update-grub , tous deux fournis par des packages tels que grub-pc qui fournissent GRUB2. De plus, /usr/sbin/update-grub n'est en fait qu'un court script shell qui effectue la majeure partie de son travail via une autre commande, et nous pouvons examiner son code source complet (dans Ubuntu 12.04) pour voir que le nom utilisé pour l'invoquer est non coché:

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

    "[email protected]" développe tous les arguments de ligne de commande passés après le nom update-grub ou update-grub2 , mais pas ce nom lui-même. Et c'est le seul endroit du script où la syntaxe de la ligne de commande est vérifiée.

réponse donnée Eliah Kagan 25.07.2012 - 04:09
la source

Lire d'autres questions sur les étiquettes