Website-Suche

Wie man dpkg, apt, aptitude, synaptic und tasksel verwendet


Debian bietet mehrere Werkzeuge zur Verwaltung von Softwarepaketen, die jeweils einem bestimmten Zweck im Paketverwaltungssystem dienen, und zu verstehen, wann und wie man jedes Werkzeug einsetzt, hilft Ihnen, Ihr System effektiv zu verwalten.

Verstehen der Paketverwaltungshierarchie

In Debian funktioniert die Paketverwaltung in Schichten, und jedes Werkzeug spielt eine andere Rolle:

  • dpkg ist das Kernwerkzeug, das verwendet wird, um .deb-Paketdateien direkt zu installieren, zu entfernen und zu prüfen, aber es übernimmt nicht das Herunterladen von Paketen oder das Ermitteln von Abhängigkeiten.
  • apt und aptitude arbeiten auf Basis von dpkg und sie rufen Pakete aus Online-Repositories ab und übernehmen automatisch die Abhängigkeiten, wodurch die Installation wesentlich einfacher wird.
  • Synaptic ist einfach eine grafische Benutzeroberfläche (ein visuelles „App-Store-ähnliches“ Werkzeug), die es Ihnen ermöglicht, apt-Funktionen zu nutzen, ohne die Kommandozeile zu verwenden.
  • tasksel installiert Gruppen zusammenhängender Software (genannt Tasks), wie „Webserver“ oder „Desktop-Umgebung“, und erspart Ihnen so die Mühe, jedes Paket einzeln zu installieren.

Da diese Werkzeuge auf unterschiedlichen Ebenen arbeiten, ergänzen sie einander eher, anstatt sich zu ersetzen, und Sie werden Situationen finden, in denen ein Werkzeug sich als geeigneter erweist als ein anderes.

Arbeiten mit dpkg

dpkg ist das Low-Level-Paketwerkzeug, das direkt mit .deb-Dateien arbeitet, die Sie bereits auf Ihrem System haben. Es lädt keine Pakete aus dem Internet herunter und installiert benötigte Abhängigkeiten nicht automatisch.

Wenn also ein Paket andere Software benötigt, um zu funktionieren, müssen Sie diese Abhängigkeiten selbst installieren oder zu apt wechseln, um diese Abhängigkeiten automatisch zu installieren.

Um eine Paketdatei zu installieren, die Sie bereits heruntergeladen haben, zum Beispiel, wenn Sie die Datei google-chrome-stable_current_amd64.deb haben, können Sie sie mit dem Befehl installieren

dpkg -i package-name.deb

Wenn alle erforderlichen Abhängigkeiten bereits vorhanden sind, wird die Installation erfolgreich abgeschlossen. Wenn jedoch einige Pakete fehlen, können Sie eine Fehlermeldung wie folgt sehen:

dependency problems - leaving unconfigured

In diesem Fall können Sie die fehlenden Abhängigkeiten beheben, indem Sie den folgenden Befehl ausführen, der apt anweist, automatisch alle für die Installation erforderlichen Abhängigkeiten herunterzuladen und zu installieren.

sudo apt -f install

Um ein installiertes Paket zu entfernen:

dpkg -r package-name

Um alle auf Ihrem System installierten Pakete aufzulisten:

dpkg -l

Um zu überprüfen, ob ein bestimmtes Paket installiert ist:

dpkg -l package-name

Da dpkg Abhängigkeiten nicht automatisch verwaltet, können Fehler über fehlende Pakete auftreten. In solchen Fällen werden höhere Werkzeuge wie apt notwendig.

Verwendung von apt für die alltägliche Paketverwaltung

Während dpkg direkt mit .deb-Dateien arbeitet, ist apt das Werkzeug, das Sie die meiste Zeit verwenden werden, da es Pakete automatisch aus den Online-Repositories von Debian herunterlädt und alle benötigten Abhängigkeiten installiert, was apt zum bevorzugten Werkzeug für alltägliche Softwareinstallationen, -entfernungen und -aktualisierungen macht.

Das apt-Werkzeug erfordert für Installations- und Entfernungsoperationen Superuser-Rechte, daher müssen Sie sudo verwenden oder diese Befehle als root ausführen.

Bevor Sie eine Software installieren, ist es eine gute Idee, Ihre Paketliste zu aktualisieren, damit Ihr System über die neuesten verfügbaren Versionen Bescheid weiß:

sudo apt update

Um ein Paket und alle erforderlichen Abhängigkeiten zu installieren, verwenden Sie:

sudo apt install package-name

Um ein Paket zu entfernen und dabei seine Konfigurationsdateien zu belassen:

sudo apt remove package-name

Wenn Sie auch die Konfigurationsdateien entfernen möchten (eine sauberere Deinstallation), verwenden Sie:

sudo apt purge package-name

Um alle installierten Pakete auf ihre neuesten Versionen zu aktualisieren:

sudo apt upgrade

Wenn Sie sich nicht sicher über den genauen Paketnamen sind, können Sie nach Schlüsselwörtern suchen, was eine Liste passender Pakete zusammen mit kurzen Beschreibungen anzeigt.

apt search keyword

Der apt speichert heruntergeladene Paketdateien auf Ihrem System, falls sie erneut benötigt werden. Mit der Zeit kann dieser Cache groß werden und um Speicherplatz freizugeben, führen Sie aus:

sudo apt clean

Verwaltung von Paketen mit dem Werkzeug aptitude

Während apt normalerweise für die meisten täglichen Paketverwaltungsaufgaben ausreicht, bietet aptitude einige zusätzliche Funktionen und kann oft komplexere Abhängigkeitsprobleme bewältigen. In einigen Fällen, in denen apt Schwierigkeiten hat, Paketkonflikte oder Updates aufzulösen, kann aptitude bessere Lösungen vorschlagen.

Sie können aptitude von der Kommandozeile ähnlich wie apt verwenden:

sudo aptitude update
sudo aptitude install package-name
sudo aptitude remove package-name
aptitude search keyword

Einer der Hauptvorteile von aptitude ist jedoch, dass es auch eine interaktive textbasierte Benutzeroberfläche enthält, die Sie mit folgendem Befehl öffnen können:

sudo aptitude

Diese Schnittstelle ermöglicht es Ihnen, Pakete zu durchsuchen, Beschreibungen zu lesen, Versionen anzusehen und Pakete zur Installation oder Entfernung zu markieren, alles bevor die Änderungen angewendet werden. Pakete sind übersichtlich nach Kategorien organisiert, was das Erkunden des Systems einfacher machen kann als sich an Kommandozeilen-Befehle oder Suchbegriffe zu erinnern.

Ein weiterer Vorteil ist, dass Aptitude verfolgt, welche Pakete manuell und welche automatisch als Abhängigkeiten installiert wurden. Aus diesem Grund ist es oft besser darin zu entscheiden, welche Pakete beim Deinstallieren von Software sicher entfernt werden können, und hilft Ihnen, versehentliches Entfernen wichtiger Komponenten zu vermeiden.

Verwendung von Synaptic für die graphische Paketverwaltung

Wenn Sie es vorziehen, mit einer grafischen Oberfläche anstelle der Befehlszeile zu arbeiten, bietet Synaptic einen voll ausgestatteten Paketmanager, der auf apt basiert. Er zeigt Pakete in einer organisierten und durchsuchbaren Liste sowie detaillierte Beschreibungen und Informationen über Abhängigkeiten, Versionen und Installationsstatus.

Um Synaptic zu installieren, führen Sie aus:

sudo apt install synaptic

Nach der Installation können Sie es über Ihr Anwendungsmenü starten oder indem Sie Folgendes ausführen:

sudo synaptic-pkexec

Wenn Synaptic geöffnet wird, sehen Sie auf der linken Seite Paketkategorien und auf der rechten Seite eine Liste von Paketen. Wenn Sie ein Paket auswählen, werden im unteren Bereich Details angezeigt, einschließlich dessen, was das Paket macht, welche Version verfügbar ist und von welchen anderen Paketen es abhängt.

Um ein Paket zu installieren, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Zur Installation markieren“, wodurch automatisch alle erforderlichen Abhängigkeiten ausgewählt werden. Nachdem Sie alle Pakete markiert haben, die Sie installieren möchten, klicken Sie auf „Anwenden“, um die Installation zu starten.

Da Synaptic visuelles Feedback über Paketkonflikte und Abhängigkeitsänderungen gibt, bevor irgendetwas installiert wird, ermöglicht es den Benutzern, die Auswirkungen ihrer Handlungen klar zu sehen.

Installieren von Paketgruppen mit tasksel

Im Gegensatz zu Werkzeugen, die sich auf einzelne Pakete konzentrieren, installiert tasksel ganze Sätze verwandter Software auf einmal, die Tasks genannt werden, und jeder Task enthält alle Pakete, die benötigt werden, um eine bestimmte Funktion auf Ihrem System auszuführen, wie z. B. einen Webserver, eine Desktop-Umgebung oder einen Mailserver.

Um das interaktive Aufgaben-Auswahlmenü zu starten, führen Sie aus:

sudo tasksel

Dies öffnet ein Menü, in dem Sie verfügbare Aufgaben durchsuchen und die Pfeiltasten verwenden können, um sich zu bewegen, sowie die Leertaste, um eine Aufgabe auszuwählen oder abzuwählen.

Wenn Sie die verfügbaren Aufgaben ansehen möchten, ohne das Menü zu öffnen, verwenden Sie:

tasksel --list-tasks

Um eine bestimmte Aufgabe direkt über die Befehlszeile zu installieren, führen Sie aus:

sudo tasksel install task-name

Während tasksel im normalen täglichen Paketmanagement seltener verwendet wird, ist es sehr nützlich während der Systemeinrichtung oder wenn Sie eine vollständige Softwareumgebung in einem Schritt installieren möchten.

Die richtige Werkzeugwahl

Jedes Paketverwaltungstool in Debian ist für einen bestimmten Zweck konzipiert, und die Wahl des richtigen Werkzeugs hängt davon ab, was Sie tun möchten. Verwenden Sie dpkg, wenn Sie mit einer einzelnen .deb-Datei arbeiten, die Sie manuell heruntergeladen haben, insbesondere von außerhalb der offiziellen Repositories. Greifen Sie im Alltag zu apt, zum Beispiel beim Installieren, Entfernen und Aktualisieren von Software über die Kommandozeile, es wird die Abhängigkeiten automatisch für Sie verwalten.

Berücksichtigen Sie aptitude, wenn Sie mit komplexeren Abhängigkeitsproblemen zu tun haben oder wenn Sie die interaktive, textbasierte Oberfläche nutzen möchten, um Pakete zu durchsuchen und zu verwalten. Wählen Sie Synaptic, wenn Sie eine grafische Oberfläche bevorzugen oder verfügbare Software vor der Installation visuell erkunden möchten.

Verwenden Sie schließlich tasksel, wenn Sie ein vollständiges Set zusammenhängender Softwarepakete installieren müssen, zum Beispiel um ein System als Webserver, Desktop-Umgebung oder Entwicklungsarbeitsplatz zu konfigurieren.

Alle diese Werkzeuge arbeiten mit derselben zugrunde liegenden Paketdatenbank, sodass sie sich nicht gegenseitig behindern. Sie können je nach Ihren Bedürfnissen zwischen ihnen wechseln. Entscheidend ist, das Werkzeug auszuwählen, das am besten zur Aufgabe passt, anstatt sich auf eine Methode für alles zu verlassen.