Je fais des changements sur mon fichier grub sous /etc/default/grub
. Dans certains tutoriels que j'ai vus sudo update-grub
et d'autres sudo update-grub2
. Quelle est la différence?
Il n'y a pas de différence.
GRUB2 a été installé dans Ubuntu 9.10 et versions ultérieures, mais il sudo update-grub
a toujours prévalu comme commande standard.
sudo update-grub
et sudo update-grub2
sont équivalents, donc peu importe celui que vous exécutez. /usr/sbin/update-grub2
est 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-grub2
et update-grub
bien, qui sont tous deux fournis par des paquets comme grub-pc
ceux-ci fournissent GRUB2. En outre, /usr/sbin/update-grub
n’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-grub
ou 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.