Zum Inhalt springen

AB 06 — Linux-Grundlagen

Mein Fortschritt0/1 (0 %)

Begriffserklärung: Repositories & Dependencies

(Linux – Paketverwaltung und Softwaremanagement mit APT)

Ein Repository (dt. Softwarequelle) ist ein zentraler Server, auf dem Ubuntu seine Pakete (Programme, Bibliotheken, Updates) bereitstellt.

Statt Software manuell aus dem Internet herunterzuladen, werden Programme über diese offiziellen Quellen sicher installiert.

Repositories sind in der Datei /etc/apt/sources.list oder in Unterordnern von /etc/apt/sources.list.d/ eingetragen.

Es gibt unterschiedliche Typen:

mainOffizielle, vollständige unterstützte freie Software
restrictedOffizielle, aber nicht freie Treiber/Firmware (NVIDIA, etc)
universeCommunity-gepflege freie Software
multiverseNicht frei, nicht vollständig unterstütze Software

Beispiel:

Terminal-Fenster
sudo add-apt-repository ppa:<name>

Fügt kein Repository aus den Ubuntu-Standardquellen, sondern ein PPA von Launchpad hinzu.

Ein PPA ist also eine besondere Art von externem Repository, nicht Teil der offiziellen Ubuntu-Repos.

„Dependencies“ sind Abhängigkeiten – also andere Pakete, die ein Programm benötigt, um ausgeführt zu werden. Wenn du z. B. vlc installierst, müssen zusätzliche Bibliotheken oder Tools installiert werden, wie z.b.:

  • libqt5core5q (GUI-Bibliotheken)

  • ffmpeg (Video-/Audioverarbeitung)

Der Paketmanager APT löst diese Abhängigkeiten automatisch auf. Dadurch wird verhindert, dass ein Programm unvollständig oder fehlerhaft installiert wird.

Ubuntu verwendet hauptsächlich APT (Advanced Packaging Tool) und dpkg. APT arbeitet mit .deb-Paketen (Debian-Format).

APT (Advanced Packaging Tool)

  • Höhere Ebene („Frontend“)

  • Verwaltet Downloads, Updates, Auflösung von Abhangigkeiten

  • Arbeitet mit Debian-Paketen (.deb)

dpkg

  • Niedere Ebene („Backend“)

  • Installiert oder entfernt einzelne .deb-Dateien

  • Löst keine Abhängigkeiten automatisch auf

Terminal-Fenster
apt search <paketname>

→ zeigt eine Liste von Paketen mit Kurzbeschreibung.

Beispiele:

Terminal-Fenster
apt search vlc
apt show firefox

Mit apt show erhältst du Details zu Version, Abhängigkeiten, Größe und Repository.

Terminal-Fenster
sudo apt install <paketname>

Beispiele:

Terminal-Fenster
sudo apt install gimp
sudo apt install curl

Tipp: Eine bestimmte Version installieren:

Terminal-Fenster
sudo apt install <paketname>=<version>
z. B.
sudo apt install nginx=1.24.0-2ubuntu2

Tipp: Alle verfügbaren Versionen anzeigen lassen:

Terminal-Fenster
apt list -a <paketname>
apt list -a nginx

Variante 1: Entfernen, Konfigurationsdateien bleiben erhalten

Terminal-Fenster
sudo apt remove <paketname>

Entfernt das Programm, aber Konfigurationsdateien bleiben im System (z. B. in /etc/<paketname>/ oder ~/.config/).

Variante 2: Vollständiges Entfernen inkl. Konfiguration

Terminal-Fenster
sudo apt purge <paketname>

Entfernt Programm und Konfigurationsdateien.

Ideal, wenn du ein Programm komplett löschen willst.

Variante 3: Ungenutzte Abhängigkeiten automatisch entfernen

Terminal-Fenster
sudo apt autoremove

Löscht Pakete, die als Abhängigkeiten installiert wurden, aber nicht mehr benötigt sind. (z. B. Bibliotheken von deinstallierter Software)

Beispielkombination:

Terminal-Fenster
sudo apt purge libreoffice*
sudo apt autoremove

2.4. Pakete manuell herunterladen und installieren

Abschnitt betitelt „2.4. Pakete manuell herunterladen und installieren“

Falls kein Internet oder eine Offline-Installation nötig ist, kann ein .deb-Paket manuell installiert werden:

Paket von einer sicheren Quelle herunterladen (z. B. https://packages.ubuntu.com).

Installation mit:

Terminal-Fenster
sudo dpkg -i paketname.deb

Falls Abhängigkeiten fehlen:

Terminal-Fenster
sudo apt -f install

dpkg ist der Low-Level-Paketmanager.

APT baut darauf auf und löst Abhängigkeiten automatisch.

Paketlisten aktualisieren

Terminal-Fenster
sudo apt update

Lädt die neuesten Informationen über verfügbare Pakete aus den Repositories.

Installierte Software auf neueste Versionen aktualisieren

Terminal-Fenster
sudo apt upgrade

Aktualisiert alle installierten Pakete (ohne System-Upgrades).

Komplettes System auf neue Distribution upgraden

Terminal-Fenster
sudo apt full-upgrade

Aktualisiert auch Kernel und entfernt alte, inkompatible Pakete. (Nützlich für Versionssprünge z. B. von Ubuntu 22.04 auf 24.04.)

Alternativ (älterer Befehl):

Terminal-Fenster
sudo apt-get dist-upgrade

→ synonym zu full-upgrade.

  1. Häufige APT-Befehle
Terminal-Fenster
Zweck
Befehl
Beschreibung
Paket suchen
apt search <name>
Findet Pakete im Repository
Paketinfo
apt show <name>
Zeigt Version, Größe, Abhängigkeiten
Installieren
sudo apt install <name>
Installiert Paket inkl. Abhängigkeiten
Entfernen
sudo apt remove <name>
Löscht Paket, behält Konfiguration
Vollständig löschen
sudo apt purge <name>
Löscht Paket + Konfiguration
Ungenutzte Pakete löschen
sudo apt autoremove
Entfernt alte, ungenutzte Abhängigkeiten
Paketlisten aktualisieren
sudo apt update
Aktualisiert Repository-Informationen
System aktualisieren
sudo apt upgrade
Führt Updates durch
Manuelle Installation
sudo dpkg -i <paket.deb>
Installiert lokales .deb-Paket
Fehlerhafte Abhängigkeiten reparieren
sudo apt -f install
Behebt Abhängigkeitsprobleme

Beispiel-Workflow

Terminal-Fenster
sudo apt update
sudo apt install vlc
sudo apt remove vlc
sudo apt purge vlc
sudo apt autoremove

Zeigt den typischen Lebenszyklus einer Software auf: Installation → Deinstallation → Aufräumen.

Zusammenfassung

Terminal-Fenster
Repositories
Zentrale Softwarequellen, aus denen Ubuntu Programme, Updates und Bibliotheken bezieht.
Dependencies
Paketabhängigkeiten, die ein Programm zum Funktionieren benötigt. APT installiert sie automatisch mit.
APT
Der Paketmanager, der Installation, Updates, Upgrade, Entfernung und Abhängigkeitsverwaltung automatisiert.
remove
Löscht nur das Programm, Konfigurationsdateien bleiben erhalten.
purge
Löscht Programm + Konfigurationsdateien vollständig.
autoremove
Entfernt nicht mehr benötigte Abhängigkeiten, die durch frühere Installationen übriggeblieben sind.
Welche Aussagen zu Linux sind richtig?