Jaka jest różnica między aktualizacją-grub a aktualizacją-grub2?

51

Wprowadzam zmiany w moim pliku grub pod /etc/default/grub. W niektórych tutorialach, które widziałem sudo update-grubi innych sudo update-grub2. Jaka jest różnica?

Gerep
źródło

Odpowiedzi:

66

Nie ma różnicy.

Ubuntu 9.10 i nowsze mają GRUB2 zainstalowany, ale sudo update-grubnadal dominuje jako standardowe polecenie.

sudo update-grubi sudo update-grub2są równoważne, więc nie ma znaczenia, który z nich uruchomisz. /usr/sbin/update-grub2to tylko symboliczny link do /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
  • W rzeczywistości, ogólnie mówiąc, czasami jedno polecenie może być dowiązaniem symbolicznym drugiego, a jednak zachowują się inaczej, ponieważ plik wykonywalny sprawdza, w jaki sposób zostało wywołane (tj. Pod jaką nazwą) i zachowuje się odpowiednio.

    Oznacza to nie sprawa dla update-grub2i update-grubchociaż, które są dostarczane przez oba pakiety, np grub-pcktóre zapewniają Grub2. Co więcej, w /usr/sbin/update-grubrzeczywistości jest to tylko krótki skrypt powłoki, który wykonuje większość swojej pracy za pomocą innego polecenia, i możemy spojrzeć na jego pełny 3-liniowy kod źródłowy (w Ubuntu 12.04), aby zobaczyć, że nazwa użyta do wywołania go nie jest sprawdzana:

    #!/bin/sh
    set -e
    exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
    

    "$@"rozwija się do wszystkich argumentów wiersza poleceń przekazanych po nazwie update-grublub update-grub2, ale nie samej nazwy. I to jest jedyne miejsce w skrypcie, w którym w ogóle sprawdzana jest składnia wiersza poleceń.

Eliah Kagan
źródło