Stellen Sie die Standard-Apt-Repositorys in der Datei sources.list über die Befehlszeile wieder her

17

Ich bin auf der Suche nach der besten Methode, um /etc/apt/sources.listdie Standardeinstellungen über die Befehlszeile wiederherzustellen .

Gibt es keine Möglichkeit, auf den Quellcode des Pakets zu verweisen, das diese Datei generiert, oder auf so etwas? Ich möchte eine vertrauenswürdige und versionsunabhängige Methode zum Wiederherstellen dieser Datei.

Lösungen ausgeschlossen

Beachten Sie, dass ich diese Frage bereits überprüft habe, bevor Sie dies als Duplikat markieren . Dies gilt nur, wenn Sie die Ubuntu-Benutzeroberfläche zur Verfügung haben. Diese Frage ist spezifisch für die Befehlszeile.

Ich habe auch diese Frage überprüft , in der die akzeptierte Lösung darin besteht, dass jemand den Inhalt seiner sources.listDatei eingefügt hat . Dies ist keine geeignete Methode zum Wiederherstellen der Datei, da die Absichten der Person, die den Dateiinhalt zur Verfügung stellt, nicht überprüft werden können und die Datei mit neuen Versionen geändert werden kann.

Ich habe den Generator bei simplelinux.ch ausprobiert , aber das ist auch nicht von Ubuntu, deshalb habe ich nicht vor, ihn zu benutzen.

Ryan Burnette
quelle

Antworten:

20

Ich bin mir nicht sicher, was Sie wollen, aber:

  • Das übergeordnete Repository ist immer http://archive.ubuntu.com/ubuntu - alles andere ist ein Spiegel davon. Die anderen primären Spiegel haben alle eine Domäne des Formulars <cctld>.archive.ubuntu.com, wobei der zweistellige Funktionscode die Länderdomain der obersten Ebene ist . Weitere Mirrors mit ihrem Status finden Sie im Launchpad .
  • Der Distributions-Codename ist Teil des Channels (dritter Term). Das können Sie lsb_release -scherausfinden, und es ist das erste Wort des hübschen Release-Namens in Kleinbuchstaben ( trustyzum Beispiel für Trusty Tahr).
  • Es gibt fünf Kanäle: <codename>, <codename>-security, <codename>-updates, <codename>-backportsund <codename>-proposed. Das erste ist notwendig, da es die Basis ist, das zweite wird dringend empfohlen, da es Sicherheitsupdates enthält, das vierte nur, wenn Sie ein Paket benötigen, das von einer neueren Version zurückportiert wurde, und das fünfte nur, wenn ein Entwickler Sie auffordert, es zum Testen einer möglichen Version zu aktivieren Fix.
  • Es gibt vier Repository Sektionen: main, multiverse, universeund restricted( Was ist der Unterschied zwischen Multiversum, Universum, beschränkt und Haupt? )

So können Sie immer einen Safe erstellen, sources.listder nur Folgendes enthält:

deb http://archive.ubuntu.com/ubuntu <codename> main multiverse universe restricted
deb http://archive.ubuntu.com/ubuntu <codename>-security main multiverse universe restricted

Wenn Sie möchten, dass ein Befehl dies ausführt:

printf 'deb http://archive.ubuntu.com/ubuntu %s main multiverse universe restricted\n' $(lsb_release -sc){,-security} > /etc/apt/sources.list

Neben der Launchpad-Liste stammt die vom Software Sources-Programm bereitgestellte Liste /usr/share/python-apt/templates/Ubuntu.mirrorsaus dem python-apt-commonPaket. Dieses Paket ist nur eine indirekte Suggests- Abhängigkeit von apt, sodass es möglicherweise nicht standardmäßig auf einem Server installiert wird.

muru
quelle
Genau das wollte ich klären. Vielen Dank!
Ryan Burnette
Dies beantwortet perfekt für beide Beiträge (der eine verknüpft und dieser)
Brian Thomas
Sie müssten diese Antwort dennoch mit der Dokumentation auf der Ubuntu-Website selbst validieren, da Sie die Absichten der Person, die diese Antwort bereitstellt, nicht überprüfen können?
Herbert Van-Vliet
7

Wenn Sie verstehen, wofür jede Zeile steht /etc/apt/sources.list, können Sie Ihre eigene Liste erstellen. Zum Beispiel ist eine Zeile in meinem sources.list,

deb http://archive.ubuntu.com/ubuntu/ trusty main

Es hat 4 Abschnitte:

  • Abschnitt 1: Der erste Abschnitt ist debhier, was bedeutet, dass er ein Repository aller Binärpakete ist. Nur ein anderer möglicher Wert ist, deb-srcwas bedeutet, dass es sich um ein Repository von Quellcodes handelt.
  • Abschnitt 2: Dieser Abschnitt enthält die URI des Repositorys ( in diesem Fall http://us.archive.ubuntu.com/ubuntu/ ). Die URI kann für Mirrors variieren. Wenn Sie beispielsweise den offiziellen US-Mirror verwenden möchten, lautet die URI http://us.archive.ubuntu.com/ubuntu/ .
  • Abschnitt 3: Es enthält den Codenamen (und den Kanalnamen) der von Ihnen verwendeten Version, in diesem Fall trustyden Codenamen meiner Ubuntu-Version (14.04 LTS). Sie können Ihre von finden lsb_release -sc. Wenn Sie beispielsweise 12.04 verwenden, lautet der Codename "genau". Um nun andere Kanäle zu deklarieren, z. B. um einen Sicherheitskanal zu deklarieren, müssen Sie diesen verwenden trusty-security.

  • Abschnitt 4: Dieser Abschnitt enthält "Abschnittsnamen" des Repositorys. Es gibt in der Regel 4 Abschnittsnamen verwendet: main, restricted, universe, multiverse. Sie können alle Abschnittsnamen in die gleiche Zeile für die Deklaration eines Repositorys setzen oder für jeden der Abschnitte unterschiedliche Zeilen verwenden, aber es darf keinen doppelten Eintrag geben. Wenn Sie das lesen /etc/apt/sources.list, sehen Sie die Beschreibung der Pakete, die jeder dieser Abschnitte enthält.

heemayl
quelle