Risposte:
Non c'è differenza.
Ubuntu 9.10 e versioni successive hanno installato GRUB2, ma sudo update-grub
ha comunque prevalso come comando standard.
sudo update-grub
e sudo update-grub2
sono equivalenti, quindi non importa quale corri. /usr/sbin/update-grub2
è solo un collegamento simbolico 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
In realtà, in generale a volte un comando può essere un collegamento simbolico di un altro, eppure si comportano diversamente, perché l'eseguibile controlla come è stato invocato (cioè con quale nome) e si comporta di conseguenza.
Cioè non è il caso per update-grub2
e update-grub
però, che sono entrambi forniti da pacchetti come grub-pc
che forniscono GRUB2. Inoltre, in /usr/sbin/update-grub
realtà è solo uno script di shell corta che fa la maggior parte del suo lavoro attraverso l'ennesimo comando, e possiamo vedere il suo codice sorgente a 3 righe completo (in Ubuntu 12.04) per vedere che il nome usato per invocarlo non è controllato:
#!/bin/sh
set -e
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
"$@"
si espande a tutti gli argomenti della riga di comando passati dopo il nome update-grub
o update-grub2
, ma non quello stesso nome. E questo è l'unico posto nello script in cui viene verificata la sintassi della riga di comando.