Paketverwaltung

**This is an old revision of the document!**

Paketverwaltung

  • Linux-Software wird über Pakete installiert
  • Paket enthält: Programmdateien, Konfiguration, Abhängigkeiten
  • Paketverwaltung = zentrales Werkzeug zur Installation, Aktualisierung und Entfernung von Software

Paketverwaltung in Debian/Ubuntu

  • Debian/Ubuntu nutzen APT (Advanced Package Tool)
  • Arbeitet mit .deb-Paketen
  • Bezieht Pakete aus Repositories (Online-Softwarelager)
  • Repository-Adressen:
    • /etc/apt/sources.list und
    • /etc/apt/sources.list.d/

Aufbau eines APT-Repository-Eintrags im Deb822-Format

Das Deb822-Format ist ein strukturiertes Format für APT-Paketquellen in Ubuntu (ab Version 24.04) und Debian, das die alten sources.list-Zeilen ablöst.

Stattdessen werden die Einträge nun im Ordner sources.list.d in eingenen .sources-Dateien angelegt.

Vergleich: klassische sources.list vs. Deb822 (.sources-Dateien)

1. Altes Format

  • Datei:/etc/apt/sources.list

  deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
  

* **Format:** eine Zeile pro Quelle, z. B.:
* **Aufbau:**
  * ''%%deb%%'' → Binärpakete (''%%deb-src%%'' für Quellpakete)
  * URL → Mirrorserver
  * Codename → Ubuntu-Version (''%%jammy%%'')
  * Komponenten → ''%%main%%'', ''%%restricted%%'', ''%%universe%%'', ''%%multiverse%%''
  

2. Neues Format

– Deb822 im Verzeichnis: /etc/apt/sources.list.d/

  • Datei: beliebiger Name, Endung .sources, z. B. ubuntu-official.sources
  • Format: strukturierte Schlüssel-Wert-Blöcke (Deb822)
  • Beispiel:

  Types: deb
  URIs: http://archive.ubuntu.com/ubuntu/
  Suites: noble noble-updates noble-backports
  Components: main restricted universe multiverse
  Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
  

  • Felder:
    • Types: → Art der Pakete (deb / deb-src)
    • URIs: → Server-URL
    • Suites: → Release-Zweige (noble, noble-updates, noble-security …)
    • Components: → Lizenz- und Support-Gruppen (main, restricted, universe, multiverse)
    • Signed-By: → GPG-Schlüssel für Authentizität
  • Merkmale:
    • Strukturierter, übersichtlicher
    • Mehrere Blöcke in einer Datei möglich
    • Jede Quelle kann eigenen Signaturschlüssel haben
    • Flexibler für mehrere URIs, PPAs und Backports

3. Zusammenfassung der Unterschiede

Merkmal sources.list Deb822 / .sources
Ort /etc/apt/sources.list /etc/apt/sources.list.d/*.sources
Format Eine Zeile pro Quelle Schlüssel-Wert-Blöcke
Flexibilität Gering Hoch, mehrere Blöcke pro Datei möglich
Signaturen Global oder Standard Pro Block (Signed-By)
Verwaltung Weniger übersichtlich bei vielen Quellen Klar strukturierte Dateien, leicht zu deaktivieren

4. Wichtige Zusatzinfos

  • APT liest alle Quellen:
    • Alle .sources-Dateien + sources.list werden zusammengeführt.
  • Konflikte bei Paketen:
    • Reihenfolge der Einträge ist nicht entscheidend
    • APT wählt höchste Paketversion oder Priorität über Pinning
  • Dateien können mehrere Quellen enthalten – es muss nicht pro Quelle eine Datei existieren.

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports noble-proposed
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

  • Types:
    • Gibt den Typ des Repositories an.
    • deb = Binärpakete (installierbare Programme).
    • deb-src = Quellpakete (für Entwickler oder eigenes Kompilieren).

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports noble-proposed
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

  • URIs:
    • Eine oder mehrere Internetadressen (Server), von denen die Paketdaten heruntergeladen werden.
    • Beispiel: http://archive.ubuntu.com/ubuntu/ ist der Hauptserver von Ubuntu.

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports noble-proposed
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

  • Suites:
    • Bestimmt, welche Release-Zweige des Repositories verwendet werden.
    • Typische Werte:
      • noble → Hauptveröffentlichung (Ubuntu 24.04 LTS)
      • noble-updates → reguläre Updates
      • noble-backports → neuere Programmversionen aus späteren Releases
      • noble-proposed → vorgeschlagene, noch nicht vollständig getestete Updates
      • noble-security → Sicherheitsupdates

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports noble-proposed
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

  • Components:
    • Unterteilung des Repositories nach Lizenz und Supportstatus.
    • main → offiziell unterstützte, freie Software
    • restricted → proprietäre, eingeschränkt unterstützte Software
    • universe → freie Community-Software
    • multiverse → nicht-freie Software

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports noble-proposed
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

  • Signed-By:
    • Gibt den Pfad zum GPG-Schlüssel an, mit dem die Repository-Signatur überprüft wird.
    • Stellt sicher, dass heruntergeladene Pakete authentisch und unverändert sind.
    • Standard: /usr/share/keyrings/ubuntu-archive-keyring.gpg
  • Beispiel: deb http://archive.ubuntu.com/ubuntu noble main universe restricted multiverse
  • deb: Pakettyp
  • Steht für ein Repository mit Binärpaketen (installierbar mit apt install)
  • Für Quellpakete wird stattdessen deb-src verwendet
  • http://archive.ubuntu.com/ubuntu: URL des Ubuntu-Mirrorservers, von dem die Pakete geladen werden
  • jammy: Codename der Ubuntu-Version (Ubuntu 22.04 LTS)
  • main restricted universe multiverse: Komponenten des Repositories
  • Bestimmen, welche Paketgruppen verfügbar sind

Komponenten

Definition:

  • Unterbereiche eines Software-Archivs, die Pakete nach Lizenzart, Herkunft oder Unterstützungsgrad gliedern
  • bestimmen, welche Softwarequellen (z. B. nur freie oder auch proprietäre Programme) vom Paketmanager apt verwendet werden dürfen
  • Beispielhafte Komponenten unter Ubuntu sind:
    • main
    • restricted
    • universe
    • multiverse

Komponenten in APT-Repositories

  • main
    • Offiziell unterstützte, vollständig freie Software
    • Wird direkt von Ubuntu/Debian gepflegt
    • Lizenz: Frei (Open Source)
    • Unterstützung: Voller Support
  • restricted
    • Proprietäre Software, meist für Hardware-Unterstützung (z. B. Grafiktreiber)
    • Nicht vollständig frei
    • Unterstützung: Eingeschränkter Support
  • universe
    • Freie Software, die von der Community gepflegt wird
    • Nicht offiziell unterstützt
    • Lizenz: Frei
    • Unterstützung: Community-Support
  • multiverse
    • Nicht-freie Software (z. B. wegen Lizenzen oder Patenten eingeschränkt)
    • Keine offizielle Unterstützung
    • Lizenz: Nicht frei
    • Unterstützung: Kein offizieller Support

Wichtige APT-Befehle

  • sudo apt update → Paketlisten aktualisieren
  • sudo apt upgrade → Updates installieren
  • sudo apt install paketname → Paket installieren
  • sudo apt remove paketname → Paket entfernen
  • sudo apt purge paketname → Paket + Konfiguration entfernen
  • apt search paketname → Paket suchen
  • apt show paketname → Paketinformationen anzeigen

Sicherheit & Vorteile

  • Pakete stammen aus signierten Quellen → Schutz vor Manipulation
  • Regelmäßige Updates halten System sicher und stabil
  • Automatische Auflösung von Abhängigkeiten
  • Zugriff auf tausende geprüfte Pakete
  • Einfache Bedienung über CLI oder grafische Oberflächen

Fazit

  • Paketverwaltung = große Stärke von Linux
  • APT ermöglicht sichere, zentrale und komfortable Softwareverwaltung
  • Repository-Bereiche (main, universe, restricted, multiverse) geben volle Kontrolle über Quellen
  • System bleibt stabil, aktuell und sicher