Ich nehme einige Änderungen an meiner Grub-Datei unter /etc/default/grub vor . In einigen Tutorials habe ich sudo update-grub gesehen und andere sudo update-grub2 . Was ist der Unterschied?
Beste Antwort
Es gibt keinen Unterschied.
Ubuntu 9.10 und höher haben GRUB2 installiert, aber sudo update-grub hat sich nach wie vor als Standardbefehl durchgesetzt.
sudo update-grub und sudo update-grub2 sind gleichwertig, also spielt es keine Rolle, welche Sie ausführen. /usr/sbin/update-grub2 ist nur ein symbolischer Link zu /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
-
Eigentlich allgemein manchmal kann ein Befehl ein symbolischer Link zu einem anderen sein, und doch verhalten sie sich unterschiedlich, weil die ausführbare Datei wie prüft es wurde aufgerufen (d. h. mit welchem Namen) und verhält sich entsprechend.
Das ist nicht der Fall für
update-grub2undupdate-grubdie beide von Paketen wiegrub-pcbereitgestellt werden die GRUB2 bereitstellen. Außerdem/usr/sbin/update-grubist eigentlich nur ein kurzes Shell-Skript, das den größten Teil seiner Arbeit durch einen weiteren Befehl erledigt, und wir können uns seinen vollständigen dreizeiligen Quellcode (in Ubuntu 12.04) ansehen, um zu sehen, dass der Name, der zum Aufrufen verwendet wird, nicht überprüft wird:#!/bin/sh set -e exec grub-mkconfig -o /boot/grub/grub.cfg "[email protected]""[email protected]"erweitert sich auf alle Befehlszeilenargumente, die nach dem Namenupdate-grubübergeben werden oderupdate-grub2, aber nicht diesen Namen selbst. Und dies ist die einzige Stelle im Skript, an der die Befehlszeilensyntax überhaupt überprüft wird.