(10 Antworten)
Vor 3 Jahren geschlossen.
Ich habe Repository files
durchgesehen und in der Datei /etc/apt/sources.list
, sah diese Zeilen :
deb http://ppa.launchpad.net/elementary-os/stable/ubuntu xenial main
deb-src http://ppa.launchpad.net/elementary-os/stable/ubuntu xenial main
Wobei ich das verstehe
http://ppa.launchpad.net/elementary-os/stable/ubuntu
ist, wo apt-get Dateien abrufen würde, aber ich konnte nicht verstehen, was die restlichen Wörter darin bedeuten. Diese Wörter sind deb
, deb-src
, xenial main
, stable main
, trusty main
.
Bearbeiten: Außerdem habe ich diese Zeilen beim Besuch dieser Website gefunden und [arch=amd64]
bemerkt dazwischen deb
und die URL.
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/chrome.list
Also, die Frage hier ist:
-
Was bedeuten diese Wörter in
sources.list
Datei bedeuten?deb deb-src xenial main stable main trusty main
-
Auch Was bedeutet
[arch=amd64]
meinst du?
Akzeptierte Antwort:
Ihre Frage dreht sich um die Syntax oder das Format der Quelllistendatei, die anderen Programmen beschreibt, was, wie und woher die Quellen stammen. Also, los geht's:
Apt ( A
erweitertes p
ackage t
ool )
Wird verwendet, um das Repository auf Debian- und Debian-basierten (Ubuntu) Systemen zu verwalten. Es verwendet eine Datei, die die Repository Sources
auflistet wo Pakete bezogen werden sollen und können. Außerdem listet die Datei auf, wie die Pakete bezogen werden sollten und aus welchen Unterpaketen (oder Suiten).
Alles liegt in der /etc/apt/sources.list
Das Format, in dem Entitäten geschrieben werden, sagt apt alles. Es gibt jedoch zwei Varianten des Formats.
-
Einzeiliges Format
- Sie haben die Erweiterungen
.list
- Traditionelles Format, unterstützt von
all version of apt
. - Ein einzeiliger Eintrag beschreibt die Quelle.
-
Beispiel:
deb http://security.debian.org stretch/updates main contrib non-free
- Sie haben die Erweiterungen
-
Format im Stil von deb822
- Sie haben die Erweiterung
.sources
- Unterstützt von apt selbst
since version 1.1
- Einzelne Einträge werden durch eine Leerzeile getrennt, wobei jeder Eintrag Informationen in Form von
fieldname : value
enthält . -
Beispiel:
Types: deb URIs: http://deb.debian.org/debian Suites: stretch Components: main contrib non-free
- Sie haben die Erweiterung
Wie Sie sich eine Vorstellung vom deb822-style format
machen können Was sind das für Wörter, die Sie gefragt haben? Lassen Sie uns näher auf das Format eingehen
1. Archivtyp
- Es gibt an, auf welche Quelle zugegriffen wird.
- Das erste Wort in jeder Zeile möglicherweise
deb
oderdeb-src
, gibt den Archivtyp an. deb
gibt an, dass das Archiv Binärpakete (deb) enthält, die vorkompilierten Pakete, die wir normalerweise verwenden.deb-src
gibt Quellpakete an, die die ursprünglichen Programmquellen plus dieDebian control files (.dsc)
sind und die diff.gz, die die Änderungen enthält, die zum Packen des Programms benötigt werden.- Format, Syntax und Namen der Optionen variieren zwischen den Formaten im einzeiligen Stil und im deb822-Stil, wie oben beschrieben, aber beide haben die gleichen verfügbaren Optionen.
2. Repository-URL oder URI-Spezifikation
Es ist einfach eine URL/URI zum Quell-Repository, von dem Sie die Pakete erhalten möchten. Sie können den Typ für die URL/den URI angeben, der jeder der derzeit erkannten URIs sein kann, die :
sindhttp | https | file | cdrom | ftp | copy | rsh,ssh
Sie können weitere erkennbare URI-Typen hinzufügen, wenn Sie möchten.
Verwandte:Kann nicht von offiziellen Repositories aktualisieren?3. Suite
Eine Suite bezieht sich auf die Kombination von zwei Verteilungsattributen, die sind:
-
Name des Freigabecodes
Ein Alias, der jeder Version des Betriebssystems gegeben wird. Jedes Betriebssystem hat einen Codenamen und Sie wissen bereits, wie Sie den vollständigen Codenamen der Distribution erhalten?
-
Release-Klasse
Definiert die Entwicklungsphase eines Pakets, die eines oder eine Kombination der folgenden sein kann:
stable testing unstable
4. Komponenten
Komponenten sagen, ob das Paket :
ist- Frei (wie im Zusammenhang mit freier Software definiert) oder unfrei,
- Independent (wie in
main
) oder woanders Abhängigkeiten haben (wie incontrib
). - ob sie DFSG-konform sind oder nicht.
- Teilen Sie auch den Repository-Abschnitten mit, die
main
sein können oderrestricted
oderuniverse
odermultiverse
.
5. Optionen
Der EDIT part
in Ihrer Frage bezieht sich auf das, was als Optionen bezeichnet wird. Und wie der Name schon sagt, sind sie optional, aber wenn sie verwendet werden, ändern sie den Quelleintrag, um eine bestimmte Art von Paketen abzurufen. Sie können Folgendes definieren:
-
Architektur, für die Pakete abgerufen werden sollen. Wie in den Optionen im Quelleintrag zitieren Sie im Bearbeitungsteil :
"[arch=amd64]"
-
bestimmte Sprache
- Vertrauensstufe der Quellen
- Pdiff-Werte
- und viele andere.
Die Syntax (überarbeitet):
-
Einzeiliges Format
[archive-type] [ option1=value1,option2=value2 ] URI suite [component1] [component2] [...]
-
Format im Stil von deb822
Types: deb deb-src URIs: uri Suites: suite Components: [component1] [component2] [...] option1: value1 option2: value2
Einige nützliche Links.
-
Beispielzeilen in der Datei sources.list
-
Wie entferne ich eine fehlerhafte Zeile in meiner sources.list
Fühlen Sie sich frei, weitere Details hinzuzufügen.