J'apporte des modifications à 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 ?
Meilleure réponse
Il n'y a aucune différence.
Ubuntu 9.10 et versions ultérieures ont GRUB2 installé, mais 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
.
[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, de manière générale parfois une commande peut être un lien symbolique vers une autre, et pourtant elles se comportent différemment, 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
etupdate-grub
cependant, qui sont tous deux fournis par des packages commegrub-pc
qui fournissent GRUB2. De plus,/usr/sbin/update-grub
n'est en fait qu'un court script shell qui fait la plupart de son travail via 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 "[email protected]"
"[email protected]"
s'étend à tous les arguments de ligne de commande passés après le nomupdate-grub
ouupdate-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.