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?
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.
Lire d'autres questions sur les étiquettes grub2