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

51

Je fais des changements sur mon fichier grub sous /etc/default/grub. Dans certains tutoriels que j'ai vus sudo update-grubet d'autres sudo update-grub2. Quelle est la différence?

Gerep
la source

Réponses:

66

Il n'y a pas de différence.

GRUB2 a été installé dans Ubuntu 9.10 et versions ultérieures, mais il sudo update-gruba toujours prévalu comme commande standard.

sudo update-grubet sudo update-grub2sont équivalents, donc peu importe celui que vous exécutez. /usr/sbin/update-grub2est juste un lien symbolique vers /usr/sbin/update-grub.

ek@Del:~$ 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’une autre, et pourtant leur comportement est différent, car l’exécutable vérifie comment il a été appelé (c’est-à-dire par quel nom) et se comporte en conséquence.

    Ce n'est pas le cas pour update-grub2et update-grubbien, qui sont tous deux fournis par des paquets comme grub-pcceux-ci fournissent GRUB2. En outre, /usr/sbin/update-grubn’est en fait qu’un court script shell qui effectue la plupart de son travail à travers une autre commande. Nous pouvons examiner son code source complet de 3 lignes (dans Ubuntu 12.04) pour voir que le nom utilisé pour l’appeler n’est pas vérifié:

    #!/bin/sh
    set -e
    exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
    

    "$@"étend à tous les arguments de ligne de commande passés après le nom update-grubou update-grub2, mais pas ce nom lui-même. Et c’est le seul endroit du script où la syntaxe de ligne de commande est vérifiée.

Eliah Kagan
la source