Je fais quelques changements sur mon fichier Grub sous /etc/default/grub
. Dans certains tutoriels, j'ai vu sudo update-grub
et autres sudo update-grub2
. Quelle est la différence ?
Réponse
Trop de publicités?Il n'y a pas de différence.
Ubuntu 9.10 et les versions ultérieures ont GRUB2 installé, mais sudo update-grub
a toujours prévalu comme commandement standard.
sudo update-grub
y sudo update-grub2
sont équivalents, donc peu importe lequel vous exécutez. /usr/sbin/update-grub2
est juste un lien symbolique a /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 parfois une commande peut être un lien symbolique d'une autre, et pourtant elles se comportent différemment, parce que l'exécutable vérifie comment il a été invoqué (c'est-à-dire, par quel nom) et se comporte en conséquence.
C'est-à-dire pas le cas pour
update-grub2
yupdate-grub
cependant, qui sont toutes deux fournies par des paquets commegrub-pc
qui fournissent GRUB2. De plus,/usr/sbin/update-grub
est en fait juste un court Shell Shell qui fait la plupart de son travail à travers une autre commande, et nous pouvons regarder son code source complet de 3 lignes (dans Ubuntu 12.04) pour voir que le nom utilisé pour l'invoquer n'est pas vérifié :#!/bin/sh set -e exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
"$@"
s'étend à tous les arguments de la ligne de commande passés après le nomupdate-grub
oupdate-grub2
mais pas le nom lui-même. Et c'est le seul endroit dans le script où la syntaxe de la ligne de commande est vérifiée.