APT/Repositories: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(36 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''topic''' - Beschreibung
== Beschreibung ==
== Installation ==
== Aufruf ==
=== Optionen ===
=== Parameter ===
=== Umgebung ===
=== Rückgabewert ===
== Anwendungen ==
=== Problembehebung ===
== Konfiguration ==
=== Dateien ===
== Sicherheit ==
== Siehe auch ==
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
=== Dokumentation ===
==== RFC ====
==== Man-Page ====
==== Info-Pages ====
=== Links ===
==== Projekt ====
==== Weblinks ====
= TMP =
* Ein Repository enthält die URL's und Informationen zu aktuellen Programmen, welche von Debian unterstützt, getestet und für vertrauenswürdig befunden wurden.  
* Ein Repository enthält die URL's und Informationen zu aktuellen Programmen, welche von Debian unterstützt, getestet und für vertrauenswürdig befunden wurden.  
* Das Hauptrepository befindet sich in der Datei sources.list im Ordnet /etc/apt/ .
* Das Hauptrepository befindet sich in der Datei sources.list im Ordnet /etc/apt/ .
Zeile 4: Zeile 30:
== Unterteilungen von Repositories ==
== Unterteilungen von Repositories ==
* Es ist möglich im Ordnet sources.list.d Dateien anzulegen mit jeweiligen URL's zu entsprechenden Repositories.  
* Es ist möglich im Ordnet sources.list.d Dateien anzulegen mit jeweiligen URL's zu entsprechenden Repositories.  
* Das ist hilfreich um die Übersicht zu behalten.  
* Das ist hilfreich, um die Übersicht zu behalten.  


== Backport Repository ==
== Backport Repository ==
Zeile 16: Zeile 42:
  [CTRL+D]
  [CTRL+D]


== Vertrauenswürdigkeit von Repositories ==
== Vertrauenswürdigkeit ==
Normalerweise benötigt man zum Einbinden eines Repositories einen GPG-Key. Dieser stellt die Vertrauenswürdigkeit des Repositories sicher. Bei den Backport-Repositories ist dies jedoch nicht nötig.
* Normalerweise benötigt man zum Einbinden eines Repositories einen GnuPG-Key.  
* Dieser stellt die Vertrauenswürdigkeit des Repositories sicher.  
* Bei den Backport-Repositories ist dies jedoch nicht nötig.


== GPG-Key bei Fremdquellen ==
=== GnuPG-Key bei Fremdquellen ===
Deb-Pakete in Paketquellen werden mit GnuPG-Schlüsseln digital signiert. Passt die Signatur zu keinem der Paketverwaltung bekannten Schlüssel, so wird der Benutzer bei der Installation eines Paketes aus solch einer Quelle gewarnt (in neueren Ubuntu-Version sogar verweigert). Drittanbieter stellen daher oft ihren GPG-Key zur Verfügung, den man dann in seinen Keyring importieren muss.
* Deb-Pakete in Paketquellen werden mit GnuPG-Schlüsseln digital signiert.  
* Passt die Signatur zu keinem der Paketverwaltung bekannten Schlüssel, so wird der Benutzer bei der Installation eines Paketes aus solch einer Quelle gewarnt (in neueren Ubuntu-Version sogar verweigert).  
* Drittanbieter stellen daher oft ihren GnuPG-Key zur Verfügung, den man dann in seinen Keyring importieren muss.


Um einen Schlüssel hinzuzufügen, ist die einsteigerfreundlichste (weil grafische) Methode, den Schlüssel als Textdatei abzuspeichern und dann über System -> Systemverwaltung -> Synaptic Paketverwaltung -> Einstellungen -> Paketquellen -> Authentifizierung zu importieren.
==== Schlüssel hinzuzufügen ====
'''Synaptic'''
# Schlüssel als Textdatei abspeichern
# System -> Systemverwaltung -> Synaptic Paketverwaltung -> Einstellungen -> Paketquellen -> Authentifizierung importieren


In einem Terminal kann durch die Eingabe folgenden Befehls dasselbe erreicht werden:
'''Terminal'''
  # apt-key adv --recv-keys --keyserver keyserver.ubuntu.com FINGERPRINT_DES_SCHLÜSSELS  
  # apt-key adv --recv-keys --keyserver keyserver.ubuntu.com FINGERPRINT_DES_SCHLÜSSELS  


'''Beispiel''
'''Beispiel'''
 
  # wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
  # wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
  # apt-key add apt.gpg
  # apt-key add apt.gpg
Zeile 35: Zeile 67:
* wget lädt den gpg Key herunter (in diesem Beispiel sind es zwei Schlüssel)
* wget lädt den gpg Key herunter (in diesem Beispiel sind es zwei Schlüssel)
* apt-key add fügt den Schlüssel zum Keyring hinzu
* apt-key add fügt den Schlüssel zum Keyring hinzu
 
== sources.list Generator ==
== Debian Sources List Generator ==
* https://debgen.simplylinux.ch/ ist ein Tool, welches eine sources List Datei erstellt
[[File:debianSourcesListGenerator.png|thumb|right]]
* [https://debgen.simplylinux.ch/Debian Sources List Generator] ist ein Tool zur Erstellung einer ''sources.list''
* Dabei kann zwischen den verschiedenen Versionen von Debian gewählt werden (Stable, Testing, Unstable).
* Dabei kann zwischen den verschiedenen Versionen von Debian gewählt werden (Stable, Testing, Unstable).
* Es können auch Repositories von Dritten eingebunden werden (diese werden unterhalb angezeigt und können via Checkbox ausgewählt werden).
* Es können auch Repositorys von Dritten eingebunden werden
** In diesem Fall muss man den GPG-Key manuell hinzufügen. Die Adresse des GPG-Keys wird auf der folgenden Seite angezeigt.
** In diesem Fall muss man den GnuPG-Key manuell hinzufügen. Die Adresse des GnuPG-Keys wird angezeigt.


= Was ist ein Repository =
= Was ist ein Repository =
* Ein Debian - Repository ist ein Spezieller Verzeichniss Baum.
* Ein Debian - Repository ist ein spezieller Verzeichnissbaum, der mithilfe von APT angesprochen werden kann, um manuelle Updates ziehen zu können.
* Der mit Hilfe von APT angesprochen werden kann um manuelle Updates ziehen zu können.
* Debian-Paketarchive werden hauptsächlich zum automatischen Speichern und Abrufen von Paketen verwendet.
* Debian-Paketarchive werden hauptsächlich zum automatischen Speichern und Abrufen von Paketen verwendet.
* Die meisten Paketmanager,verwenden libapt zum Abrufen von Paketen von externen Medien und aus dem Internet.
* Die meisten Paketmanager verwenden libapt zum Abrufen von Paketen von externen Medien und aus dem Internet.


== Aufbau eines Repository ==
== Aufbau eines Repository ==
Zeile 71: Zeile 103:
* non-free
* non-free
* contrib
* contrib
angegeben und geben die Lizensierung der Software an
angegeben und geben die Lizenzierung der Software an


== Der Release ==
== Der Release ==
Der Release enthält Packete die für verschiedene Architekturen wie ... '''amd64, i386, mips, powerpc, s390x''' sowie Quellen und Architekturen abhängiger Pakete.
Der Release enthält Pakete, die für verschiedene Architekturen wie ... '''amd64, i386, mips, powerpc, s390x''' sowie Quellen und Architekturen abhängiger Pakete.


== Das Wurzelverzeichnis eines Repositorys ==
== Das Wurzelverzeichnis eines Repositorys ==
Zeile 135: Zeile 167:
== Dateien ==
== Dateien ==


== Man-Pages ==
== Man-Page ==


== Intern ==
== Intern ==
Zeile 144: Zeile 176:
# https://wiki.debian.org/SourcesList
# https://wiki.debian.org/SourcesList
# https://debiananwenderhandbuch.de/debianrepositories.html
# https://debiananwenderhandbuch.de/debianrepositories.html
# https://debgen.simplylinux.ch/


= Kontrollfragen =
= Kontrollfragen =
Zeile 166: Zeile 199:
<div class="mw-collapsible-content">'''Antwort5'''</div>
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>
</div>
[[Kategorie:APT]]
= TMP =
== Unstable-Repository ==
=== Repository hinzufügen ===
# vi /etc/apt/sources.list
deb http://deb.debian.org/debian/ unstable main contrib non-free
=== Pin-Priorität festlegen ===
Es sollen nur Unstable-Pakete installiert werden, wenn die ausdrücklich angefordert wird. /etc/apt/preferences.d/99pin-unstable
Fügen Sie Folgendes in diese Datei ein:
Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin release a=unstable
Pin-Priority: 10
=== Unstable-Pakete wieder herunterstufen ===
Obwohl nur Pakete aus dem Unstable-Repository wurde, sind auch deren Abhängigkeiten installiert worden. Falls sich das als Problem herausstellt, kann dies rückgängig gemacht werden.
# vi /etc/apt/preferences.d/99pin-unstable
Ändern von <tt>stable</tt>Pin-Priorität zu <tt>1001</tt>, und <tt>unstable</tt>Pin-Priorität zu <tt>-1</tt>
Package: *
Pin: release a=stable
Pin-Priority: 1001
Package: *
Pin release a=unstable
Pin-Priority: -1
Danach die Repositories aktualisieren und mit <tt>apt full-upgrade</tt> die Pakete auf die Stable-Version downgraden und solche entfernen, die nur im Unstable-Repository verfügbar sind.
sudo apt update
sudo apt full-upgrade
Danach können Sie die entfernen <tt>/etc/apt/preferences.d/99pin-unstable </tt>Datei und das Debian Unstable apt-Repository von <tt>/etc/apt/sources.list</tt>.
[[Kategorie:APT]]
= TMP =
== Advanced Package Tool (APT) ==
===  Zugriff auf ältere Debian Releases ===
Manchmal kann es notwendig oder sinnvoll sein, ältere Debian Releases einzusetzen, beispielsweise um Debian auf älterer Hardware zu installieren.
* Eine Übersicht der verfügbaren Debian Releases ist unter [http://www.debian.org/distrib/archive http://www.debian.org/distrib/archive] zu finden.
===  Zugriff auf tägliche Versionen von Paketen ===
Die jeweils aktuell in der Entwicklung befindliche Debian Version („testing“ oder „unstable“) unterliegt einem häufigen Wechsel der Paketversionen.
* Manchmal ist ein Paket nur für einen oder wenige Tage verfügbar.
* Da nun neuere Versionen nicht immer eine Verbesserung mit sich bringen, wollen Sie vielleicht auf ein älteres Paket ausweichen.
Leider sind auf den Debian Servern ältere Pakete nicht mehr verfügbar.
* Unter [http://snapshot.debian.net/ http://snapshot.debian.net] sind alle Pakete, auch in älteren Versionen, weiterhin zugänglich.
Der Zugriff auf dieses Archiv erfolgt mit einigen besonderen Einträgen in der Datei <tt>/etc/sources.list</tt>.
* Hierbei kann zwischen dem Zugriff über ein absolutes oder ein relatives Datum gewählt werden.
deb http://snapshot.debian.net/archive/YYYY/MM/DD/debian unstable main contrib non-free
deb http://snapshot.debian.net/archive/YYYY/MM/DD/debian-non-US unstable/non-US main contrib non-free
deb-src http://snapshot.debian.net/archive/YYYY/MM/DD/debian unstable main contrib non-free
deb-src http://snapshot.debian.net/archive/YYYY/MM/DD/debian-non-US unstable/non-US main contrib non-free
Im vorhergehenden Beispiel kann gezielt auf den tagesaktuellen Stand zugegriffen werden.
* Die Buchstabenkombination <tt>YYYY/MM/DD</tt> ist dabei durch das gewünschte Datum zu ersetzen.
deb http://snapshot.debian.net/archive/date/datestr/debian unstable main contrib non-free
deb http://snapshot.debian.net/archive/date/datestr/debian-non-US unstable/non-US main contrib non-free
deb-src http://snapshot.debian.net/archive/date/datestr/debian unstable main contrib non-free
deb-src http://snapshot.debian.net/archive/date/datestr/debian-non-US unstable/non-US main contrib non-free


[[Category:Linux:Softwareverwaltung]]
In diesem Beispiel muss <tt>datestr</tt> durch einen String ersetzt werden, der dem Kommando <tt>date</tt> als Datum bekannt ist.
* Dies kann beispielsweise <tt>yesterday</tt>, <tt>2-days-ago</tt> oder <tt>last-week</tt> sein.

Aktuelle Version vom 12. November 2024, 18:46 Uhr

topic - Beschreibung

Beschreibung

Installation

Aufruf

Optionen

Parameter

Umgebung

Rückgabewert

Anwendungen

Problembehebung

Konfiguration

Dateien

Sicherheit

Siehe auch

Dokumentation

RFC

Man-Page

Info-Pages

Links

Projekt

Weblinks

TMP

  • Ein Repository enthält die URL's und Informationen zu aktuellen Programmen, welche von Debian unterstützt, getestet und für vertrauenswürdig befunden wurden.
  • Das Hauptrepository befindet sich in der Datei sources.list im Ordnet /etc/apt/ .

Unterteilungen von Repositories

  • Es ist möglich im Ordnet sources.list.d Dateien anzulegen mit jeweiligen URL's zu entsprechenden Repositories.
  • Das ist hilfreich, um die Übersicht zu behalten.

Backport Repository

  • Um ein Backport Repository anzulegen muss man zunächst in den Ordner /etc/apt/sources.list.d/ wechseln.
  • Anschließend die Datei backport.list anlegen
touch backport.list

Nun muss die Datei mit Inhalt befüllt werden

cat > backport.list  [Enter drücken]
deb http://deb.debian.org/debian buster-backports main [Enter drücken]
[CTRL+D]

Vertrauenswürdigkeit

  • Normalerweise benötigt man zum Einbinden eines Repositories einen GnuPG-Key.
  • Dieser stellt die Vertrauenswürdigkeit des Repositories sicher.
  • Bei den Backport-Repositories ist dies jedoch nicht nötig.

GnuPG-Key bei Fremdquellen

  • Deb-Pakete in Paketquellen werden mit GnuPG-Schlüsseln digital signiert.
  • Passt die Signatur zu keinem der Paketverwaltung bekannten Schlüssel, so wird der Benutzer bei der Installation eines Paketes aus solch einer Quelle gewarnt (in neueren Ubuntu-Version sogar verweigert).
  • Drittanbieter stellen daher oft ihren GnuPG-Key zur Verfügung, den man dann in seinen Keyring importieren muss.

Schlüssel hinzuzufügen

Synaptic

  1. Schlüssel als Textdatei abspeichern
  2. System -> Systemverwaltung -> Synaptic Paketverwaltung -> Einstellungen -> Paketquellen -> Authentifizierung importieren

Terminal

# apt-key adv --recv-keys --keyserver keyserver.ubuntu.com FINGERPRINT_DES_SCHLÜSSELS 

Beispiel

# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# apt-key add apt.gpg
# apt-key add php.gpg
  • wget lädt den gpg Key herunter (in diesem Beispiel sind es zwei Schlüssel)
  • apt-key add fügt den Schlüssel zum Keyring hinzu

Debian Sources List Generator

  • Sources List Generator ist ein Tool zur Erstellung einer sources.list
  • Dabei kann zwischen den verschiedenen Versionen von Debian gewählt werden (Stable, Testing, Unstable).
  • Es können auch Repositorys von Dritten eingebunden werden
    • In diesem Fall muss man den GnuPG-Key manuell hinzufügen. Die Adresse des GnuPG-Keys wird angezeigt.

Was ist ein Repository

  • Ein Debian - Repository ist ein spezieller Verzeichnissbaum, der mithilfe von APT angesprochen werden kann, um manuelle Updates ziehen zu können.
  • Debian-Paketarchive werden hauptsächlich zum automatischen Speichern und Abrufen von Paketen verwendet.
  • Die meisten Paketmanager verwenden libapt zum Abrufen von Paketen von externen Medien und aus dem Internet.

Aufbau eines Repository

Das Debian Repository enthällt mehrere Versionen die nach Toy Story Figuren benannt sind wie zum Beispiel

  • Wheezy (Der Pinguin),
  • Jessie (Cowgirl),
  • Stretch,(Der Lila Oktopus) ...

Jede version hat auch noch verschiedene Aliase wie

Version Status
stable Stabil versionen
unstable instablile version (sie wurde noch nicht in die test fase aufgenommen)
testet Die version ist in einer test fase

Des Weiteren wird jede Version in mehrere Komponenten unterteilt.

In Debian werden die in

  • main
  • non-free
  • contrib

angegeben und geben die Lizenzierung der Software an

Der Release

Der Release enthält Pakete, die für verschiedene Architekturen wie ... amd64, i386, mips, powerpc, s390x sowie Quellen und Architekturen abhängiger Pakete.

Das Wurzelverzeichnis eines Repositorys

(Wurzelverzeichnis des Repositories) 
| 
+-dists
  | 
  |-stable
  | |-main
  | | |-binary-alpha 
  | | |-binary-arm
  | | |-binary-...
  | | +-source 
  | |-contrib
  | | |-binary-alpha 
  | | |-binary-arm
  | | |-binary-...
  | | +-source 
  | +-non-free
  |   |-binary-alpha
  |   |-binary-arm
  |   |-binary-...
  |   +-source
  |
  |-testing 
  | |-main
  | | |-binary-alpha 
  | | |-binary-arm
  | | |-binary-...
  | | +-source 
  | |-contrib
  | | |-binary-alpha 
  | | |-binary-arm
  | | |-binary-...
  | | +-source 
  | +-non-free
  |   |-binary-alpha
  |   |-binary-arm
  |   |-binary-...
  |   +-source
  |
  +-unstable 
    |-main
    | |-binary-alpha 
    | |-binary-arm
    | |-binary-...
    | +-source 
    |-contrib
    | |-binary-alpha 
    | |-binary-arm
    | |-binary-...
    | +-source 
    +-non-free
      |-binary-alpha
      |-binary-arm
      |-binary-...
      +-source

Links

Dateien

Man-Page

Intern

Weblinks

  1. https://wiki.debian.org/DebianRepository/Format
  2. https://wiki.debian.org/DebianRepository
  3. https://wiki.debian.org/SourcesList
  4. https://debiananwenderhandbuch.de/debianrepositories.html
  5. https://debgen.simplylinux.ch/

Kontrollfragen

Testfrage 1

Antwort1

Testfrage 2

Antwort2

Testfrage 3

Antwort3

Testfrage 4

Antwort4

Testfrage 5

Antwort5


TMP

Unstable-Repository

Repository hinzufügen

# vi /etc/apt/sources.list
deb http://deb.debian.org/debian/ unstable main contrib non-free

Pin-Priorität festlegen

Es sollen nur Unstable-Pakete installiert werden, wenn die ausdrücklich angefordert wird. /etc/apt/preferences.d/99pin-unstable

Fügen Sie Folgendes in diese Datei ein:

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin release a=unstable
Pin-Priority: 10

Unstable-Pakete wieder herunterstufen

Obwohl nur Pakete aus dem Unstable-Repository wurde, sind auch deren Abhängigkeiten installiert worden. Falls sich das als Problem herausstellt, kann dies rückgängig gemacht werden.

# vi /etc/apt/preferences.d/99pin-unstable

Ändern von stablePin-Priorität zu 1001, und unstablePin-Priorität zu -1

Package: *
Pin: release a=stable
Pin-Priority: 1001

Package: *
Pin release a=unstable
Pin-Priority: -1

Danach die Repositories aktualisieren und mit apt full-upgrade die Pakete auf die Stable-Version downgraden und solche entfernen, die nur im Unstable-Repository verfügbar sind.

sudo apt update
sudo apt full-upgrade

Danach können Sie die entfernen /etc/apt/preferences.d/99pin-unstable Datei und das Debian Unstable apt-Repository von /etc/apt/sources.list.

TMP

Advanced Package Tool (APT)

Zugriff auf ältere Debian Releases

Manchmal kann es notwendig oder sinnvoll sein, ältere Debian Releases einzusetzen, beispielsweise um Debian auf älterer Hardware zu installieren.

Zugriff auf tägliche Versionen von Paketen

Die jeweils aktuell in der Entwicklung befindliche Debian Version („testing“ oder „unstable“) unterliegt einem häufigen Wechsel der Paketversionen.

  • Manchmal ist ein Paket nur für einen oder wenige Tage verfügbar.
  • Da nun neuere Versionen nicht immer eine Verbesserung mit sich bringen, wollen Sie vielleicht auf ein älteres Paket ausweichen.

Leider sind auf den Debian Servern ältere Pakete nicht mehr verfügbar.

Der Zugriff auf dieses Archiv erfolgt mit einigen besonderen Einträgen in der Datei /etc/sources.list.

  • Hierbei kann zwischen dem Zugriff über ein absolutes oder ein relatives Datum gewählt werden.
deb http://snapshot.debian.net/archive/YYYY/MM/DD/debian unstable main contrib non-free
deb http://snapshot.debian.net/archive/YYYY/MM/DD/debian-non-US unstable/non-US main contrib non-free
deb-src http://snapshot.debian.net/archive/YYYY/MM/DD/debian unstable main contrib non-free
deb-src http://snapshot.debian.net/archive/YYYY/MM/DD/debian-non-US unstable/non-US main contrib non-free

Im vorhergehenden Beispiel kann gezielt auf den tagesaktuellen Stand zugegriffen werden.

  • Die Buchstabenkombination YYYY/MM/DD ist dabei durch das gewünschte Datum zu ersetzen.
deb http://snapshot.debian.net/archive/date/datestr/debian unstable main contrib non-free
deb http://snapshot.debian.net/archive/date/datestr/debian-non-US unstable/non-US main contrib non-free
deb-src http://snapshot.debian.net/archive/date/datestr/debian unstable main contrib non-free
deb-src http://snapshot.debian.net/archive/date/datestr/debian-non-US unstable/non-US main contrib non-free

In diesem Beispiel muss datestr durch einen String ersetzt werden, der dem Kommando date als Datum bekannt ist.

  • Dies kann beispielsweise yesterday, 2-days-ago oder last-week sein.