Ubuntu 18.04 wurde am 26. April 2018 veröffentlicht und ich möchte versuchen, meine Programme zu aktualisieren und meine Daten zu konvertieren, möchte aber keine Festschreibung vornehmen, wenn es Fehler gibt.
Ich habe Windows von 410 GB auf 385 GB verkleinert, Ubuntu 16.04 neu gestartet und gparted
eine neue 25-GB-Partition mit der Bezeichnung "Ubuntu18.04" erstellt. Ich habe rm-kernels
ungefähr 20 Kernel ausgeführt und entfernt, um ungefähr 10 GB unter Ubuntu 16.04 zu eliminieren.
Jetzt möchte ich ein Skript, das die neue Partition mit 16.04 LTS füllt und eine neue Grub-Menüoption dazu erstellt. Es sollten nur relevante Verzeichnisse kopiert werden. Zum Beispiel /sys
, /run
, /proc
und /dev
sind virtuelle Verzeichnisse beim Booten erstellt und soll nicht kopiert werden.
Ich möchte auch /etc/fstab
mit der richtigen UUID gepatcht und cron
Neustartjobs deaktiviert werden, damit tägliche Sicherungen auf geklonten Daten nach dem Booten des Klons nicht ausgeführt werden.
Ich gehe davon aus, dass ich das Skript in den nächsten Wochen / Monaten mehrmals ausführen werde. Daher sollte der Klonprozess mühelos wiederholbar sein.
Das gleiche Skript kann zum Testen von Sicherheitsupdates und neuen Ubuntu Kernel Team-Updates verwendet werden, ohne die Produktionssysteme zu beeinträchtigen.
Antworten:
Bash-Skript zum Klonen der aktiven Ubuntu-Partition zum Klonen der Partition
Das
clone-ubuntu.sh
Bash-Skript repliziert 16.04 LTS nahtlos und sicher in eine Partition, um ein Upgrade auf 18.04 LTS durchzuführen:Wichtige Punkte zu beachten:
ext4
Partition erstellen, die groß genug ist, um einen Ubuntu 16.04-Klon aufzunehmenclone-ubuntu.sh
die Partition nicht bereitgestellt werden. Das Skript aktiviert und deaktiviert die Partition automatisch.rsync
wird verwendet, um Dateien von/
auf die Klonpartition zu kopieren . Das erste Mal, wenn Sie es ausführenclone-ubuntu.sh
, dauert es einige Minuten. Wenn Sie das Skript zum zweiten Mal ausführen, werden nur Dateiänderungen aktualisiert, und es sollte weniger als eine Minute dauern./
Dateien und Verzeichnisse zu spiegeln ./etc/cron.d
Jobs (Neustart) werden in ein neues Unterverzeichnis namens verschoben/etc/cron.d/hold
. Denken Sie nach dem Booten des Klons daran, ausgeführtsudo crontab -e
zu werden, um zu verhindern, dass ausgewählte Cron-Jobs ausgeführt werden./etc/fstab
wird mit der entsprechenden UUID für die Partition geändert, auf der sie sich befindet./boot/grub/grub.cfg
wird mit der entsprechenden UUID für einen erfolgreichen Klonstart geändert. Die geklonten Dateien werden inquiet splash
geändert,nosplash
sodass Sie Bildlauf-Terminal-Nachrichten erhalten. Dies gibt dem visuellen Bewusstsein das Booten eines Klons anstelle einer "echten" Version.update-grub
wird ausgeführt, um Grub mit neuen Menüoptionen zu aktualisieren, die auf die geklonte Partition verweisen./etc/update-manager/release-upgrades
wird auf Änderung geändertPrompt=never
zuPrompt=lts
. Wenn Sie den Klon starten und ausführen,do-release-upgrade -d
kann Ubuntu 16.04 auf 18.04 aktualisiert werden.Bestätigungsbildschirm
Nach Auswahl einer Zielklonpartition wird zunächst der
ext4
Partitionstyp überprüft und ist noch nicht bereitgestellt. Wenn dieser Test bestanden wurde, wird eine Bestätigungsmeldung angezeigt:In diesem Beispiel wurde ein vorheriger Klon zum erneuten Klonen ausgewählt. Der verfügbare Speicherplatz auf dem Klon ist stummgeschaltet, da wir bereits wissen, dass genügend Speicherplatz verfügbar ist.
Wenn Sie mehrere Ubuntu-Installationen haben, überprüfen Sie bitte, ob Sie die richtige Partition ausgewählt haben, um das aktuell gebootete Ubuntu, das als
/
(root) gemountet ist, zu klonen .Dies ist Ihre letzte Chance zum Abbrechen, indem Sie eine beliebige Taste außer
y
oder drückenY
.Ausgabeauflistung
Wenn Sie das Skript ausführen, erhalten Sie diese Ausgabe (mit Ausnahme der oben bereits aufgeführten Ausgabe):
rsync
Statusanzeige für neuen KlonBeim ersten Klonen
rsync
wird eine Aktualisierung von 0 auf 100% aller erstellten Dateien angezeigt. Es werden keine Dateien gelöscht oder geändert, da der Klon leer ist:rsync
Statusanzeige beim erneuten KlonenBeim
rsync
erneuten Klonen wird es nie getroffen,100%
da Dateien, die sich nie geändert haben, nicht kopiert werden. Der Aktualisierungsfortschritt verzögertrsync
sich, wenn nach der nächsten zu kopierenden Datei gesucht wird und neue Dateien gelöscht werden, die im Klon erstellt wurden und im Original nie vorhanden waren:Bash-Skript -
clone-ubuntu.sh
Kopieren Sie den obigen Bash-Code und fügen Sie ihn in eine neue Datei mit dem Namen ein
/usr/local/bin/clone-ubuntu.sh
. Machen Sie dann die neue Datei ausführbar mit:Um das Skript aufzurufen, verwenden Sie:
So aktualisieren Sie den 16.04 LTS-Klon auf Ubuntu 18.04 LTS
Dies ist ein "Bonus" -Bereich, der viele Menschen interessieren kann.
Starten Sie Ihren Computer neu. Das
grub
Menü enthält eine neue Menüoption, die auf die geklonte Partition verweist. Sie können auch eine bestimmte Kernelversion aus dem Menü Erweiterte Optionen des Klons auswählen .Eine Möglichkeit, das geklonte 16.04 LTS in 18.04 LTS zu konvertieren, besteht darin, Folgendes auszuführen:
Beachten Sie, dass die
-d
Flagge vor dem 26. Juli 2018 erforderlich war, aber nicht mehr benötigt wird.Lesen Sie die Upgrade-Bestätigung für 18.04 sorgfältig durch .
Bevor Sie fortfahren, stellen Sie sicher, dass die inaktive Bildschirmsperre deaktiviert ist. Der Aktualisierungsvorgang kann abstürzen, wenn Ihr Computer aufgrund von Inaktivität der Tastatur zum Sperrbildschirm wechselt.
Zusammenfassung des Upgrade-Prozesses vom 18.04
Dieser Abschnitt ist maschinenspezifisch, da verschiedene Apps von verschiedenen Benutzern installiert werden. Hier ist eine kurze Zusammenfassung, die ich basierend auf Notizen und Gedächtnis gemacht habe:
Beachten Sie Schritt 10, den die meisten Menschen niemals sehen werden. Ich habe eine alte nVidia-Treiberinstallation auf meinem Ubuntu 16.04, die ich nie vollständig entfernt habe. Es ist enthalten, weil Sie möglicherweise ähnliche alte Pakete haben, die nie vollständig entfernt wurden.
Grub ändert das Boot-Menü, um es unter UEFI zu klonen
Im Gegensatz zu 18.04-Upgrades stellte ich fest, dass das 18.04.1-Upgrade die Grub-UEFI-Konfiguration dahingehend geändert hat, dass das Grub-Menü des Klons anstelle des ursprünglichen Grub-Menüs gemäß dieser Antwort verwendet wird: Dual Boot und die Dateien /boot/grub/grub.cfg - welches ist benutzt?
Das Ausführen
sudo update-grub
nach dem Booten der ursprünglichen Partition reicht nicht aus, um diegrub.cfg
von grub geladene Partition zu ändern . Sie müssen verwendensudo grub-install
, um grub zu zwingen, die Konfiguration der ursprünglichen Partition zu verwenden.Sowohl die ursprüngliche Partition als auch die Klonpartition können
update-grub
zum Verwalten ihrer eigenen/boot/grub/grub.cfg
Datei verwendet werden, während des Startvorgangs kann jedoch nur eine verwendet werden.Wenn Sie möchten, dass grub das Grub-Menü des Klons verwendet, führen Sie die obigen Schritte auf der Partition des Originals nicht aus.
Verlauf bearbeiten
Bearbeiten 6. Mai 2018 - Informationsanzeige für eine leere Klonpartition (Zielpartition) korrigiert.
Bearbeiten 26. August 2018 - Verwenden Sie die
--inplace
Option fürrsync
so große Dateien wie eine 2-GB-Papierkorbdatei, die beim Kopieren beim Kopieren nicht dupliziert werden. Dies kann zu einem Fehler "Nicht genügend Speicherplatz" führen./etc/cron.d
Überschreibungen auskommentieren , da Benutzer möglicherweise ein anderes Verzeichnis behalten möchten oder möchten. Aktualisieren Sie die Anweisungen zur Verwendungdo-release-upgrade
ohne-d
Flag, da Ubuntu 18.04.1 LTS jetzt veröffentlicht ist.quelle
clone-ubuntu.sh
Aber ich habe dies trotzdem 4 Mal selbst verwendet!Probleme beim Upgrade von früheren Versionen auf 18.04 LTS
Ein Upgrade von früheren Versionen auf 18.04 LTS ist überhaupt nicht einfach. Ich weiß nicht, ob es in der Vergangenheit mehr Probleme als solche Upgrades gibt, aber Leute, die Upgrades veröffentlichen, gehen jetzt ein Risiko für sich ein. Auf der anderen Seite finden sie Fehler, und wenn die Fehler gemeldet werden , hilft dies bei der Entwicklung des Upgrade-Tools sowie beim Debuggen des Ubuntu 18.04 LTS-Systems selbst.
Dies bedeutet, dass Personen, die geduldig genug sind , um zu warten, bis das Upgrade mit der ersten Punktfreigabe (18.04.1 LTS) offiziell freigegeben wird, eine reibungslosere Fahrt erhalten .
Testen vor dem vollständigen Upgrade ...
Die hier beschriebene Methode von @ WinEunuuchs2Unix ermöglicht das Testen mit einer Kopie des realen Systems, wenn ein Upgrade auf 18.04 LTS mit Ihrem aktuellen [mehr oder weniger modifizierten] Betriebssystem mit Ihrer Computerhardware funktioniert.
Dies kann mehrere Katastrophen mit einem beschädigten Betriebssystem verhindern.
Ich habe das Skript von @ WinEunuuchs2Unix noch nicht verwendet, aber ich verstehe, dass es sehr nützlich ist und ich beabsichtige, es zu verwenden. Ich konnte ein Upgrade von 8.04 auf 10.04 auf 12.04 durchführen, das ich lange Zeit verwendet habe. Aber als ich mich aufmachte, ein Upgrade über 14.04 auf 16.04 durchzuführen, schlug ich fehl und konnte die Fehler nicht finden.
... und bei Problemen eine Neuinstallation durchführen
Ich hatte gute Backups , also habe ich eine Neuinstallation von 16.04 gemacht und später kopiert, was ich behalten wollte, und nach Optimierungen, Skripten, Aliasen und installierten Programmen gesucht. Wenn ich die Methode von @ WinEunuuchs2Unix verwendet hätte, hätte ich das Problem früh erkannt, hätte ich direkt eine Neuinstallation durchgeführt.
Aktualisieren eines dauerhaften Live-Systems
Persistente Live-Systeme werden verwendet, um sehr portable Ubuntu-Systeme zu erhalten, die manchmal zum Testen, manchmal aber auch für längere Zeit verwendet werden.
Es ist ein bekanntes Problem, dass Sie ein solches System nicht wie bei einem installierten System aktualisieren und aktualisieren sollten, da es früher oder später beschädigt wird. Darüber hinaus stecken Sie mit den Kernel- und Kerneltreibern fest, die mit der ISO-Datei geliefert werden, da sie vor dem Start des Overlay-Systems gestartet werden.
Normalerweise ist es jedoch möglich, das
/home
Verzeichnis wie möglich beizubehalten, wenn Sie eine Neuinstallation mit einer separaten 'Home'-Partition durchführen. Wenn Sie einehome-rw
Partition erstellen , wird diese von einem dauerhaften Live-System beim Booten automatisch gefunden und verwendet.Ich entwickle und teste ein Shellscript, mk-persistent-live_with_home-rw , das ein persistentes Live-System mit einer
home-rw
Partition erstellen und später aktualisieren kann.Ersetzen Sie die ISO-Datei durch eine neuere. Zumindest sollten Sie ein Upgrade durchführen, wenn eine neue ISO-Datei veröffentlicht wird. Sie können jedoch auch einmal im Monat ein LTS-System aktualisieren und die aktuellen täglichen ISO-Dateien aus dem Test-Tracker verwenden .
Ändern Sie grub für die neue ISO-Datei.
Löschen (Neuformatieren) der
casper-rw
Datei, in der die Änderungen des Betriebssystems gespeichert sind (Sie müssen also die Programmpakete neu installieren, die Sie dem System hinzugefügt haben).Behalten Sie die
home-rw
Partition mit Ihren persönlichen Dateien, Einstellungen und Optimierungen bei.Siehe diesen Link für weitere Details.
Zusätzlicher Link
Allgemeine Tipps für Leute, die die neueste und beste Version von Ubuntu testen möchten, finden Sie unter folgendem Link:
Wie man am Testen und Entwickeln von Ubuntu teilnimmt
quelle