# apt — Pakete unter Debian und Ubuntu verwalten

> Praxis-Guide zu apt: Pakete unter Debian/Ubuntu installieren, aktualisieren und entfernen mit dem nutzerfreundlichen High-Level-Frontend.

Source: https://www.jpkc.com/db/cheatsheets/package-managers/apt/

<!-- PROSE:intro -->
apt ist das nutzerfreundliche High-Level-Frontend für die Paketverwaltung auf Debian und Ubuntu – es vereint die wichtigsten Funktionen von `apt-get` und `apt-cache` unter einem aufgeräumten, gut lesbaren Kommando. Statt dir verschiedene Werkzeuge zu merken, erledigst du Installieren, Aktualisieren, Suchen und Entfernen mit einem einzigen Befehl samt automatischer Abhängigkeitsauflösung und farbigem Fortschrittsbalken. Dieser Guide zeigt dir die Befehle, die du im Alltag wirklich brauchst – vom Aktualisieren des Paketindex bis zum Aufräumen verwaister Abhängigkeiten.
<!-- PROSE:intro:end -->

## Aktualisieren & Upgrade

`apt update` — Aktualisiert den Paketindex (lädt die neuesten Paketlisten).

```bash
sudo apt update
```

`apt upgrade` — Aktualisiert alle installierten Pakete auf ihre neuesten Versionen.

```bash
sudo apt upgrade
```

`apt full-upgrade` — Aktualisiert Pakete und fügt bei Bedarf Abhängigkeiten hinzu oder entfernt sie.

```bash
sudo apt full-upgrade
```

`apt update && apt upgrade -y` — Aktualisiert den Index und führt ein Upgrade aller Pakete durch (nicht-interaktiv).

```bash
sudo apt update && sudo apt upgrade -y
```

## Installieren & Entfernen

`apt install <package>` — Installiert ein Paket.

```bash
sudo apt install nginx
```

`apt install <pkg1> <pkg2>` — Installiert mehrere Pakete.

```bash
sudo apt install curl wget git
```

`apt install <package>=<version>` — Installiert eine bestimmte Version.

```bash
sudo apt install nginx=1.24.0-1
```

`apt install -y <package>` — Installiert ohne Bestätigungsabfrage.

```bash
sudo apt install -y docker-ce
```

`apt reinstall <package>` — Installiert ein Paket neu.

```bash
sudo apt reinstall openssh-server
```

`apt remove <package>` — Entfernt ein Paket (behält die Konfigurationsdateien).

```bash
sudo apt remove nginx
```

`apt purge <package>` — Entfernt ein Paket inklusive Konfigurationsdateien.

```bash
sudo apt purge nginx
```

`apt autoremove` — Entfernt nicht mehr benötigte Abhängigkeiten (verwaiste Pakete).

```bash
sudo apt autoremove
```

## Suchen & Informationen

`apt search <query>` — Sucht Pakete anhand von Name oder Beschreibung.

```bash
apt search nodejs
```

`apt show <package>` — Zeigt ausführliche Informationen zu einem Paket.

```bash
apt show nginx
```

`apt list --installed` — Listet alle installierten Pakete auf.

```bash
apt list --installed
```

`apt list --upgradable` — Listet Pakete mit verfügbaren Upgrades auf.

```bash
apt list --upgradable
```

`apt depends <package>` — Zeigt die Abhängigkeiten eines Pakets.

```bash
apt depends nginx
```

`apt rdepends <package>` — Zeigt Pakete, die von einem Paket abhängen (umgekehrte Abhängigkeiten).

```bash
apt rdepends libssl3
```

## Halten & Pinnen

`apt-mark hold <package>` — Hält ein Paket auf seiner aktuellen Version (verhindert Upgrades).

```bash
sudo apt-mark hold linux-image-generic
```

`apt-mark unhold <package>` — Hebt ein Hold auf (erlaubt wieder Upgrades).

```bash
sudo apt-mark unhold linux-image-generic
```

`apt-mark showhold` — Listet alle gehaltenen Pakete auf.

```bash
apt-mark showhold
```

`apt-mark auto <package>` — Markiert ein Paket als automatisch installiert (Abhängigkeit).

```bash
sudo apt-mark auto libfoo
```

`apt-mark manual <package>` — Markiert ein Paket als manuell installiert.

```bash
sudo apt-mark manual nginx
```

## Aufräumen & Cache

`apt clean` — Löscht alle zwischengespeicherten .deb-Pakete.

```bash
sudo apt clean
```

`apt autoclean` — Löscht zwischengespeicherte .deb-Pakete, die nicht mehr heruntergeladen werden können.

```bash
sudo apt autoclean
```

`apt autoremove --purge` — Entfernt nicht mehr benötigte Abhängigkeiten samt ihren Konfigurationsdateien.

```bash
sudo apt autoremove --purge
```

## Paketquellen

`add-apt-repository <ppa>` — Fügt ein PPA-Repository hinzu.

```bash
sudo add-apt-repository ppa:ondrej/php
```

`add-apt-repository --remove <ppa>` — Entfernt ein PPA-Repository.

```bash
sudo add-apt-repository --remove ppa:ondrej/php
```

`apt edit-sources` — Bearbeitet die sources.list-Datei.

```bash
sudo apt edit-sources
```

<!-- PROSE:outro -->
## Fazit

apt nimmt dir die Paketverwaltung unter Debian und Ubuntu spürbar ab: Ein Kommando, eine konsistente Syntax und automatische Abhängigkeitsauflösung – für den Alltag brauchst du kaum mehr als `update`, `upgrade`, `install` und `search`. Sei dir aber bewusst, dass Schreiboperationen `sudo` erfordern und in dein System eingreifen: `remove`, `purge` und besonders `autoremove` löschen Pakete und teils auch Konfigurationsdateien, wobei `autoremove` mitunter mehr mitnimmt als erwartet – prüfe die Vorschau, bevor du bestätigst. Auch `full-upgrade` kann Pakete entfernen, um Konflikte aufzulösen. Füge nur Paketquellen und Schlüssel hinzu, denen du vertraust (`sources.list`, PPAs), denn sie dürfen beliebige Software auf deinem Rechner installieren.

## Weiterführende Links

- [Debian-Wiki: Apt](https://wiki.debian.org/de/Apt) – deutschsprachige Einführung in die Paketverwaltung mit apt
- [ubuntuusers-Wiki: apt](https://wiki.ubuntuusers.de/apt/) – ausführliche deutschsprachige Ubuntu-Dokumentation zu apt
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [apk](https://www.jpkc.com/db/cheatsheets/package-managers/apk/) – Paketmanager von Alpine Linux
- [apt-get](https://www.jpkc.com/db/cheatsheets/package-managers/apt-get/) – das klassische Low-Level-Frontend der Paketverwaltung
- [brew](https://www.jpkc.com/db/cheatsheets/package-managers/brew/) – Paketmanager Homebrew für macOS und Linux

