This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. # 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) ### 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` ### 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 ### 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 | ### 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. ### Aufbau Deb822 ``` 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). * **URIs:** * Eine oder mehrere Internetadressen (Server), von denen die Paketdaten heruntergeladen werden. * Beispiel: `http://archive.ubuntu.com/ubuntu/` ist der Hauptserver von Ubuntu. * **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 * **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 * **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` #### 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 - **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