Ist das Bearbeiten von sources.list eine gute Idee?


10

Dieser Zweifel trifft mich seit 2-3 Tagen, also habe ich beschlossen, ihn selbst zu testen. Was ich getan habe ist , ich Ubuntu 16.04.4 in VMWare installiert und bearbeitet /etc/apt/sources.listund ersetzt xenialmit bionicein:

sudo sed -i 's/xenial/bionic/g' /etc/apt/sources.list

Dann rannte ich

sudo apt-get update && sudo apt-get upgrade 

Ich konnte auf 18.04 upgraden, was durch Verwendung bestätigt wurde lsb_release -a. Ich stieß jedoch auf einige Probleme wie:

  • apt hat keine stabile CLI-Schnittstelle. In Skripten mit Vorsicht verwenden.

  • nicht erfüllte Abhängigkeit von python3-aptdaemon.pkcompat

  • Release 'bionic-backports' für 'appstream' nicht gefunden

  • Gebrochene Einheit

Ich habe alle Fehler behoben und installiert gnomeund gdm3.

Ich möchte nur wissen, ob es eine gute Idee ist, sie zu bearbeiten sources.list. Ich weiß, dass mein System möglicherweise kaputt ist, aber gibt es einen anderen Grund, dies nicht zu verwenden?

Hinweis : Ich habe dies unter Ubuntu 16.04 in VMWare getestet, um nur meine Zweifel auszuräumen.


1
Sie sollten ausführen sudo apt-get dist-upgrade(oder besser sudo aptitude dist-upgrade), um neue Abhängigkeiten in den Aktualisierungsprozess einzubeziehen. Die Warnmeldung zu apt in Skripten ist normal und existiert sowohl in 16.04 als auch in 18.04.
N0rbert

@ N0rbert Ich weiß, das dist-upgradewäre eine bessere Option, aber werden wieder sudo apt-get install -fAbhängigkeiten installiert?
Kulfy

Normalerweise ja. Aber auf jeden Fall empfehle ich, beide Befehle zu verwenden.
N0rbert

Wenn ich Abhängigkeiten betrachte, macht es dann einen Unterschied?
Kulfy

3
Solange Sie wissen, was Sie tun und das richtige Format in der Datei verwenden, ist das vollkommen in Ordnung
Sergiy Kolodyazhnyy

Antworten:


11

Die Bearbeitung /etc/sources.listist ein Schritt zur Migration auf eine nachfolgende Version in Debian ... aber nicht in Ubuntu. Sie können es weiterhin verwenden, es wird jedoch nicht empfohlen, da die meisten Benutzer sich nicht genau mit den aufgetretenen Problemen befassen müssen.

Stattdessen bietet Ubuntu ein Tool (den do-release-upgradeBefehl), mit dem die Quellen ordnungsgemäß geändert, das Upgrade heruntergeladen und installiert sowie Waisenkinder auf vorhersehbare und reproduzierbare Weise entfernt werden können, um Probleme mit Eckfällen zu vermeiden. Dieses Tool ist die empfohlene Methode, um auf eine neuere Version von Ubuntu zu aktualisieren.


2
Aber manchmal do-release-upgradefunktioniert es nicht. Sollte es in diesem Szenario als Option betrachtet werden, wenn der Benutzer nur seine Programme testen möchte?
Kulfy

2
Es ist normalerweise besser zu lernen, warum do-release-upgradees nicht funktioniert hat. Viele der gleichen Gründe werden auch dist-upgradezum Scheitern führen.
user535733

1
Wenn das Do-Release-Upgrade nicht funktioniert, ist ein Upgrade auf Debian-Weise völlig akzeptabel. Der Ubuntu-Update-Manager führt anschließend einige Vorbereitungen und Bereinigungen durch, von denen der typische Ubuntu-Benutzer nichts wissen würde. Aber am Ende ist der Hauptschritt immer noch "apt-get upgrade && apt-get dist-upgrade". Fühlen Sie sich frei zu verwenden apt, es wird nur in Skripten nicht empfohlen.
Allo

1
@Kulfy Sprichst du davon, gerade do-release-upgradenicht zu arbeiten? In diesem Fall hat Canonical das Upgrade noch nicht veröffentlicht. In den Versionshinweisen heißt es, dass es innerhalb weniger Tage nach der Veröffentlichung vom 18.04.1 Ende Juli verfügbar sein wird. Überprüfe einfach weiter.
Terrance

@ user535733 vereinbart.
Kulfy

3

Ich werde Begriff verwenden „Source - Version“ für die Version , dass Sie vor dem Upgrade verwendet haben und die „Ziel Version“ für die Version , dass Sie nach dem Upgrade verwendet haben.

Möglichkeiten zum Aktualisieren von Ubuntu-Versionen:

Erster Weg: Quellen.liste bearbeiten

Wird allgemein als Debian-Methode zum Aktualisieren oder manchmal als Brute-Force-Methode bezeichnet .

Diesen Weg:

  • Stellt Ihr System mit Paketen der Zielversion bereit.
  • Einige Repositorys von Drittanbietern verfügen möglicherweise nicht über den Kanal für die Zielversion, sodass gelegentlich Probleme mit nicht erfüllten Abhängigkeiten auftreten und Sie die Pakete in allen Fällen nicht auf eine neuere Version aktualisieren können. (Zum Beispiel hat das wine-hqRepository erst kürzlich Unterstützung für Bionic hinzugefügt.)
    • Sie können die Aktualisierung Ihres Repositorys nicht abschließen, ohne Repositorys von Drittanbietern zu entfernen, da 404 Not foundFehler auftreten.

Einige Hinweise: Deaktivieren Sie das Repository eines Drittanbieters.

Funktioniert: Es funktioniert entweder oder nicht.

Empfehlungsstufe: zu niedrig.

Zweiter Weg: Do-Release-Upgrade durchführen:

Allgemein als Ubuntu-Upgrade-Methode bezeichnet:

Diesen Weg:

  • Für Repositories:
    • Wechselt zu sources.listneuen Repository-Einträgen
    • Entfernt veraltete Einträge automatisch
  • Für Pakete:
    • Entfernt mögliche defekte Pakete
    • Aktualisiert den Paketindex (entspricht sudo apt full-upgrade)
    • Aktualisiert das System (entspricht sudo apt full-upgrade)
    • Entfernt alte Pakete:
      • Alte Kerne
      • Pakete waren in der Quellversion von Ubuntu vorhanden, in der Zielversion jedoch nicht.
    • Angebote mit Nvidia-Treibern.
  • Bestimmte Jobs freigeben:
    • Spielt mit einigen Konfigurationen
    • Führt Release-spezifische Skripte aus:
      • Ersetzt beispielsweise Unity Desktop durch Gnome Desktop.

Doch viele Menschen sind Probleme mit do-release-upgrade:

Funktioniert: Es funktioniert ... mit Fehlern.

Empfehlungsstufe: zwischen niedrig und mittel.

Dritter Weg: Clean Install

Dies ist die am meisten empfohlene Methode zum Aktualisieren Ihres Systems .

Hinweis 1: Vergessen Sie nicht, zu sichern.

Hinweis 2: Sie werden höchstwahrscheinlich die gleiche Zeit damit verbringen, Fehler zu beheben, die von den oben genannten Methoden aufgerufen werden. Wenn ja, warum zögern Sie, eine Neuinstallation durchzuführen?

Funktioniert: Funktioniert immer.

Empfehlungsniveau: sehr hoch.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.