Ubuntu und Debian Package Management Essentials

Einführung

Paketverwaltung ist einer der grundlegenden Vorteile, die Linux-Systeme bieten. Das Paketformat und die Paketverwaltungstools unterscheiden sich von Verteilung zu Verteilung, es haben sich jedoch zwei allgemeine Familien als die am häufigsten verwendeten herausgestellt.

Für RHEL-basierte Distributionen sind das RPM-Paketierungsformat und Paketierungstools wie "+ rpm " und " yum " üblich. Die andere Hauptfamilie, die von Debian, Ubuntu und verwandten Distributionen verwendet wird, verwendet das Paketformat " .deb " und Werkzeuge wie " apt " und " dpkg +". Diese letztere Gruppe ist die Familie, über die wir in diesem Handbuch sprechen werden.

In dieser Anleitung im Cheat Sheet-Stil werden einige der gebräuchlichsten Paketverwaltungstools vorgestellt, die Systemadministratoren auf Debian- und Ubuntu-Systemen verwenden. Dies kann als Kurzreferenz verwendet werden, wenn Sie wissen müssen, wie eine Paketverwaltungsaufgabe in diesen Systemen ausgeführt werden soll.

Verwendung dieses Handbuchs

Dieses Handbuch behandelt die Paketverwaltungstools auf Benutzerebene, die häufig auf Debian- und Ubuntu-Systemen verwendet werden. Wir werden uns nicht mit den Werkzeugen befassen, die zur Erstellung von Paketen erforderlich sind, da unterschiedliche Ansichten zur Politik zwischen den verschiedenen Distributionen und der Komplexität von nicht trivialen Beispielen bestehen.

In der Übersicht über die Debian-Paketverwaltungstools werden wir jedes gängige Tool einzeln behandeln. Der größte Teil dieses Handbuchs ist jedoch nach Funktionen und nicht nach Tools gegliedert. Diese Organisation ist sinnvoller, da dieses Handbuch als funktionale Referenz konzipiert ist.

Beachten Sie die folgenden Punkte, um dieses Handbuch optimal zu nutzen:

  • Lesen Sie den Abschnitt Übersicht über die Debian-Paketverwaltungstools weiter unten, wenn Sie mit der Debian-Familie von Paketverwaltungstools nicht vertraut sind. Auf diese Weise erhalten Sie einen groben Überblick darüber, wozu die einzelnen Tools dienen und in welcher Beziehung sie zueinander stehen.

  • Verwenden Sie jeden Abschnitt dieser Anleitung, um den gewünschten Effekt zu erzielen. Dies ist nicht prozedural, Sie können also jederzeit zu dem springen, was im Moment für Sie am relevantesten ist.

  • Verwenden Sie das Menü "Inhalt" auf der linken Seite (bei großen Seitenbreiten) oder die Suchfunktion Ihres Browsers, um die gewünschten Abschnitte zu finden.

  • Kopieren Sie die angegebenen Befehlszeilenbeispiele und fügen Sie sie ein. Ersetzen Sie dabei die Werte in ++ durch Ihre eigenen Werte.

Überblick über die Debian-Paketverwaltungstools

Das Debian / Ubuntu-Ökosystem verwendet eine ganze Reihe verschiedener Paketverwaltungstools, um Software auf dem System zu verwalten.

Die meisten dieser Tools sind miteinander verknüpft und arbeiten mit denselben Paketdatenbanken. Einige dieser Tools versuchen, übergeordnete Schnittstellen zum Paketsystem bereitzustellen, während sich andere Dienstprogramme auf die Bereitstellung untergeordneter Funktionen konzentrieren.

Apt-get

Der Befehl "+ apt-get" ist wahrscheinlich das am häufigsten verwendete Mitglied der "+ apt" -Suite von Verpackungswerkzeugen. Der Hauptzweck ist die Anbindung an Remote-Repositorys, die vom Paketteam der Distribution verwaltet werden, und die Durchführung von Aktionen für die verfügbaren Pakete.

Die "+ apt " - Suite im Allgemeinen funktioniert, indem Informationen aus Remote-Repositorys in einen Cache gezogen werden, der auf dem lokalen System verwaltet wird. Mit dem Befehl " apt-get +" wird der lokale Cache aktualisiert. Es wird auch zum Ändern des Paketstatus verwendet, dh zum Installieren oder Entfernen eines Pakets aus dem System.

Im Allgemeinen wird "+ apt-get +" verwendet, um den lokalen Cache zu aktualisieren und Änderungen am Live-System vorzunehmen.

Apt-Cache

Ein weiteres wichtiges Mitglied der "+ apt" -Suite ist "+ apt-cache". Dieses Dienstprogramm verwendet den lokalen Cache, um Informationen zu den verfügbaren Paketen und ihren Eigenschaften abzufragen.

Wenn Sie beispielsweise nach einem bestimmten Paket oder einem Tool suchen möchten, das eine bestimmte Funktion ausführt, ist "+ apt-cache " ein guter Ausgangspunkt. Es kann auch informativ sein, auf welche Paketversion ein Verfahren abzielt. Informationen zu Abhängigkeiten und umgekehrten Abhängigkeiten sind ein weiterer Bereich, in dem " apt-cache" nützlich ist.

Eignung

Der Befehl "+ aptitude +" kombiniert einen Großteil der Funktionen der beiden oben genannten Befehle. Es hat den Vorteil, dass es als Befehlszeilentool fungiert und die Funktionen der beiden oben genannten Tools kombiniert. Außerdem kann es über eine textbasierte Menüoberfläche von ncurses ausgeführt werden.

Bei der Bedienung über die Befehlszeile spiegeln die meisten Befehle die Fähigkeiten von "+ apt-get " und " apt-cache " genau wider. Aufgrund dieser Überschneidung werden wir in diesem Handbuch nicht ausführlich auf " Eignung " eingehen. Sie können häufig " aptitude" anstelle von "+ apt-get" oder "+ apt-cache" verwenden, wenn Sie dieses Tool bevorzugen.

Dpkg

Während sich die vorherigen Tools auf die Verwaltung von Paketen konzentrierten, die in Repositorys verwaltet wurden, kann der Befehl + dpkg + auch verwendet werden, um einzelne + .deb + - Pakete zu bearbeiten. Das + dpkg + - Tool ist tatsächlich für die meisten Arbeiten hinter den Kulissen der obigen Befehle verantwortlich.

Im Gegensatz zu den Befehlen "+ apt - * " kann " dpkg " Abhängigkeiten nicht automatisch auflösen. Das Hauptmerkmal ist die Möglichkeit, auf einfache Weise direkt mit " .deb +" - Paketen zu arbeiten und ein Paket zu zerlegen und mehr über seine Struktur herauszufinden. Es kann zwar einige Informationen zu den auf dem System installierten Paketen sammeln, der Hauptzweck liegt jedoch auf der Ebene der einzelnen Pakete.

Tasksel

Das Programm + tasksel + ist eine andere Art von Tool zum Verwalten von Software. Anstatt einzelne Pakete oder sogar Anwendungen zu verwalten, konzentriert sich "+ tasksel +" darauf, die Software zu gruppieren, die zur Erfüllung bestimmter "Aufgaben" benötigt wird.

Die organisierten Aufgaben können über eine textbasierte Oberfläche ausgewählt oder genau so ausgerichtet werden, wie Sie Pakete in herkömmlichen Pakettools als Ziel ausgewählt haben. Es ist zwar nicht der chirurgischste Ansatz, kann jedoch sehr nützlich sein, um schnell einsatzbereit zu sein.

Andere

Es gibt viele andere Tools zur Paketverwaltung, die unterschiedliche Funktionen bereitstellen oder Informationen auf unterschiedliche Weise präsentieren. Wir werden diese nur bei Bedarf ansprechen, aber sie können in bestimmten Situationen sehr nützlich sein.

Einige der Werkzeuge, die in diese Kategorie fallen, sind "+ apt-file ", " dselect " und " gdebi +".

Aktualisieren des Paketcaches und des Systems

Die Debian- und Ubuntu-Paketverwaltungstools bieten eine hervorragende Möglichkeit, die Liste der verfügbaren Pakete auf Ihrem System auf dem neuesten Stand zu halten. Es bietet auch einfache Methoden zum Aktualisieren von Paketen, die Sie derzeit auf Ihrem Server installiert haben.

Aktualisieren Sie den lokalen Paket-Cache

Die Remote-Repositorys, auf die sich Ihre Pakettools für Paketinformationen stützen, werden ständig aktualisiert. Die meisten Paketverwaltungstools arbeiten jedoch mit einem lokalen Cache dieser Informationen.

In der Regel empfiehlt es sich, den lokalen Paketcache in jeder Sitzung zu aktualisieren, bevor andere Paketbefehle ausgeführt werden. Auf diese Weise stellen Sie sicher, dass Sie die aktuellsten Informationen zur verfügbaren Software verwenden. Noch wichtiger ist, dass einige Installationsbefehle fehlschlagen, wenn Sie mit veralteten Paketinformationen arbeiten.

Um den lokalen Cache zu aktualisieren, verwenden Sie den Befehl + apt-get + mit dem Unterbefehl + update +:

sudo apt-get update

Dadurch wird eine aktualisierte Liste der verfügbaren Pakete in den von Ihnen verfolgten Repositorys abgerufen.

Aktualisieren Sie Pakete ohne Paketentfernung

Die "+ apt +" - Paketsuite macht es einfach, die gesamte auf Ihrem Server installierte Software auf dem neuesten Stand zu halten.

Der Befehl + apt + unterscheidet zwischen zwei verschiedenen Aktualisierungsprozeduren. Mit dem ersten Aktualisierungsverfahren (in diesem Abschnitt beschrieben) können alle Komponenten aktualisiert werden, bei denen keine Komponenten entfernt werden müssen. Informationen zum Aktualisieren und Ermöglichen des Entfernens und Austauschs von Komponenten durch "+ apt +" finden Sie im folgenden Abschnitt.

Dies kann sehr wichtig sein, wenn Sie unter keinen Umständen eines der installierten Pakete entfernen möchten. Einige Updates beinhalten jedoch das Ersetzen von Systemkomponenten oder das Entfernen von in Konflikt stehenden Dateien. Bei diesem Verfahren werden alle Updates ignoriert, bei denen das Paket entfernt werden muss:

sudo apt-get upgrade

Nach dem Ausführen dieser Aktion wird jedes Update angewendet, bei dem keine Komponenten entfernt werden.

Aktualisieren Sie die Pakete und entfernen Sie sie nach Bedarf

Die "+ apt +" - Paketsuite macht es einfach, die gesamte auf Ihrem Server installierte Software auf dem neuesten Stand zu halten.

Der Befehl + apt + unterscheidet zwischen zwei verschiedenen Aktualisierungsprozeduren. Bei der ersten Aktualisierung werden alle Aktualisierungen ignoriert, bei denen das Paket entfernt werden muss. Dies wird im obigen Abschnitt behandelt.

Das zweite Verfahren (in diesem Abschnitt behandelt) aktualisiert alle Pakete, auch diejenigen, die das Entfernen von Paketen erfordern. Dies ist häufig erforderlich, da sich Abhängigkeiten für Pakete ändern.

Normalerweise werden die zu entfernenden Pakete während des Upgrade-Vorgangs durch funktionale Entsprechungen ersetzt. Dies ist also im Allgemeinen sicher. Es ist jedoch empfehlenswert, die zu entfernenden Verpackungen im Auge zu behalten, nur für den Fall, dass einige wichtige Komponenten zum Entfernen markiert sind. Geben Sie zum Ausführen dieser Aktion Folgendes ein:

sudo apt-get dist-upgrade

Dadurch werden alle Pakete auf Ihrem System aktualisiert. Es ist ein vollständigeres Upgrade-Verfahren als das letzte Upgrade.

Pakete herunterladen und installieren

Eine der Hauptfunktionen von Paketverwaltungstools besteht darin, das Herunterladen und Installieren von Paketen auf dem System zu erleichtern.

Nach Paketen suchen

Der erste Schritt beim Herunterladen und Installieren von Paketen besteht häufig darin, die Repositorys Ihrer Distribution nach den Paketen zu durchsuchen, nach denen Sie suchen.

Die meisten "+ apt +" - Befehle werden hauptsächlich für den Cache der Paketinformationen ausgeführt, die auf dem lokalen Computer verwaltet werden. Dies ermöglicht eine schnellere Ausführung und weniger Netzwerkverkehr.

Das Suchen nach Paketen ist eine Operation, die auf den Paket-Cache abzielt, um Informationen zu erhalten. Der Unterbefehl + apt-cache search + ist das Tool, das für die Suche nach verfügbaren Paketen benötigt wird. Denken Sie daran, dass Sie sicherstellen sollten, dass Ihr lokaler Cache mit "+ sudo apt-get update +" auf dem neuesten Stand ist, bevor Sie nach Paketen suchen:

apt-cache search

Da bei dieser Prozedur nur Informationen abgefragt werden, sind keine "+ sudo +" - Berechtigungen erforderlich. Bei jeder Suche werden die Paketnamen sowie die vollständigen Beschreibungen der Pakete angezeigt.

Wenn Sie beispielsweise nach "+ htop +" suchen, sehen Sie folgende Ergebnisse:

apt-cache search htop
aha - ANSI color to HTML converter
htop - interactive processes viewer
libauthen-oath-perl - Perl module for OATH One Time Passwords

Wie Sie sehen, haben wir ein Paket mit dem Namen "+ htop ", aber wir sehen auch zwei andere Programme, von denen jedes " htop +" im vollständigen Beschreibungsfeld des Pakets erwähnt (die Beschreibung neben der Ausgabe ist nur eine kurze Beschreibung) Zusammenfassung).

Installieren Sie ein Paket von den Repos

Um ein Paket aus den Repositorys sowie alle notwendigen Abhängigkeiten zu installieren, können wir den Befehl + apt-get + mit dem Unterbefehl + install + verwenden.

Die Argumente für diesen Befehl sollten der Paketname oder die Paketnamen sein, wie sie im Repository beschriftet sind:

sudo apt-get install

Sie können mehrere Pakete gleichzeitig installieren, die durch ein Leerzeichen getrennt sind:

sudo apt-get install

Wenn für Ihr angefordertes Paket zusätzliche Abhängigkeiten erforderlich sind, werden diese standardmäßig ausgedruckt und Sie werden aufgefordert, den Vorgang zu bestätigen. Es wird ungefähr so ​​aussehen:

sudo apt-get install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
 apache2-data
Suggested packages:
 apache2-doc apache2-suexec-pristine apache2-suexec-custom
 apache2-utils
The following NEW packages will be installed:
 apache2 apache2-data
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 236 kB of archives.
After this operation, 1,163 kB of additional disk space will be used.
Do you want to continue [Y/n]?

Wie Sie sehen, wird das Paket "+ apache2-data " als Abhängigkeit benötigt, obwohl unser Installationsziel das Paket " apache2 +" war. In diesem Fall können Sie mit ENTER oder „y“ fortfahren oder den Vorgang durch Eingabe von „n“ abbrechen.

Installieren Sie eine bestimmte Paketversion von den Repos

Wenn Sie eine bestimmte Version eines Pakets installieren müssen, können Sie die gewünschte Version mit einem Gleichheitszeichen versehen:

sudo apt-get install =

Die Version muss in diesem Fall mit einer der im Repository verfügbaren Paketversionsnummern übereinstimmen. Dies bedeutet, dass Sie das von Ihrer Distribution verwendete Versionsschema verwenden. Sie finden die verfügbaren Versionen, indem Sie "+ apt-cache policy +" eingeben.

Pakete neu konfigurieren

Viele Pakete enthalten Konfigurationsskripts nach der Installation, die nach Abschluss der Installation ausgeführt werden. Dazu gehören häufig Aufforderungen an den Administrator, Konfigurationsoptionen festzulegen.

Wenn Sie diese (und weitere) Konfigurationsschritte zu einem späteren Zeitpunkt ausführen müssen, können Sie den Befehl + dpkg-reconfigure + verwenden. Dieser Befehl überprüft das übergebene Paket und führt alle Befehle nach der Konfiguration aus, die in der Paketspezifikation enthalten sind:

sudo dpkg-reconfigure

Auf diese Weise können Sie auf dieselben (und häufig auch mehr) Eingabeaufforderungen zugreifen, die Sie bei der Installation ausgeführt haben.

Führen Sie einen Probelauf von Paketaktionen durch

Oft möchten Sie die Nebenwirkungen einer Prozedur sehen, ohne sich tatsächlich auf die Ausführung des Befehls festzulegen. Glücklicherweise können Sie mit "+ apt " das Flag " -s +" hinzufügen, um eine Prozedur zu "simulieren".

Um beispielsweise zu sehen, was getan wird, wenn Sie ein Paket installieren, können Sie Folgendes eingeben:

apt-get install -s

Auf diese Weise sehen Sie alle Abhängigkeiten und Änderungen an Ihrem System, die auftreten, wenn Sie das Flag "+ -s " entfernen. Ein Vorteil davon ist, dass Sie die Ergebnisse eines Prozesses sehen können, für den normalerweise Root-Rechte erforderlich wären, ohne ` sudo +` zu verwenden.

Wenn wir beispielsweise auswerten möchten, was mit dem Paket "+ apache2 +" installiert werden würde, können wir Folgendes eingeben:

apt-get install -s apache2
NOTE: This is only a simulation!
     apt-get needs root privileges for real execution.
     Keep also in mind that locking is deactivated,
     so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
 apache2-data
Suggested packages:
 apache2-doc apache2-suexec-pristine apache2-suexec-custom
 apache2-utils
The following NEW packages will be installed:
 apache2 apache2-data
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Inst apache2-data (2.4.6-2ubuntu2.2 Ubuntu:13.10/saucy-updates [all])
Inst apache2 (2.4.6-2ubuntu2.2 Ubuntu:13.10/saucy-updates [amd64])
Conf apache2-data (2.4.6-2ubuntu2.2 Ubuntu:13.10/saucy-updates [all])
Conf apache2 (2.4.6-2ubuntu2.2 Ubuntu:13.10/saucy-updates [amd64])

Wir erhalten alle Informationen zu den Paketen und Versionen, die installiert werden würden, ohne den eigentlichen Prozess abschließen zu müssen.

Dies funktioniert auch mit anderen Verfahren, z. B. Systemaktualisierungen:

apt-get -s dist-upgrade

Bei Paketaktionen nicht zur Genehmigung auffordern

Standardmäßig fordert "+ apt +" den Benutzer bei vielen Prozessen zur Bestätigung auf. Dies umfasst Installationen, für die zusätzliche Abhängigkeiten erforderlich sind, und Paketaktualisierungen.

Um diese Upgrades zu umgehen und standardmäßig eine dieser Eingabeaufforderungen zu akzeptieren, können Sie bei diesen Vorgängen das Flag "+ -y +" übergeben:

sudo apt-get install -y

Dadurch werden das Paket und alle Abhängigkeiten installiert, ohne dass der Benutzer dazu aufgefordert wird. Dies kann auch für Upgrade-Vorgänge verwendet werden:

sudo apt-get dist-upgrade -y

Korrigieren Sie fehlerhafte Abhängigkeiten und Pakete

Es kann vorkommen, dass eine Installation aufgrund von Abhängigkeiten oder anderen Problemen nicht erfolgreich abgeschlossen werden kann. Ein häufiges Szenario, in dem dies passieren kann, ist die Installation eines "+ .deb " - Pakets mit " dpkg +", das Abhängigkeiten nicht auflöst.

Der Befehl "+ apt-get " kann versuchen, diese Situation zu lösen, indem er den Befehl " -f +" übergibt.

sudo apt-get install -f

Dadurch werden alle Abhängigkeiten gesucht, die nicht erfüllt sind, und es wird versucht, sie zu installieren, um den Abhängigkeitsbaum zu reparieren. Wenn sich Ihre Installation über ein Abhängigkeitsproblem beschwert hat, sollte dies der erste Schritt sein, um es zu beheben.

Paket von den Repos herunterladen

In einigen Fällen kann es hilfreich sein, ein Paket aus den Repositorys herunterzuladen, ohne es tatsächlich zu installieren. Sie können dies mit dem Unterbefehl "+ download" von "+ apt-get" tun.

Da hierbei nur eine Datei heruntergeladen wird und das eigentliche System nicht betroffen ist, sind keine "+ sudo +" - Berechtigungen erforderlich:

apt-get download

Dadurch werden die angegebenen Pakete in das aktuelle Verzeichnis heruntergeladen.

Laden Sie die Paketquelle aus dem Repository herunter

Obwohl sich "+ apt " hauptsächlich mit " .deb " - Paketen befasst, können Sie auch die Quelldateien für Pakete abrufen, sofern Ihre " apt +" - Quelllisten mit diesen Informationen konfiguriert sind.

Um die Quelle eines Pakets herunterzuladen, müssen Sie in Ihrer Datei + source.list + für + apt + eine entsprechende + deb-src + -Zeile haben. Informationen dazu finden Sie im Abschnitt zum Hinzufügen von Apt-Repositorys.

Sobald Sie Quellrepositorys konfiguriert haben, können Sie die Quelle eines Pakets herunterladen, indem Sie Folgendes eingeben:

sudo apt-get source

Dadurch werden die Paketdateien in das aktuelle Verzeichnis heruntergeladen. In der Regel besteht dies aus einem Paketverzeichnis, einer + dsc + - Beschreibungsdatei und dem geteerten und komprimierten Paket:

ls -F
sublime-text-2.0.2/                 sublime-text_2.0.2-1~webupd8~3.tar.gz
sublime-text_2.0.2-1~webupd8~3.dsc

Dies kann verwendet werden, wenn Sie das Paket einer Distribution als Basis für weitere Änderungen verwenden möchten.

Installieren Sie ein .deb-Paket

Obwohl die meisten Distributionen die Installation von Software aus ihren verwalteten Repositorys empfehlen, stellen einige Anbieter Raw-Dateien (+ .deb +) zur Verfügung, die Sie auf Ihrem System installieren können.

Dazu verwenden wir ein Tool namens "+ dpkg ". Das ` dpkg ` Tool wird hauptsächlich verwendet, um mit einzelnen Paketen zu arbeiten. Es wird nicht versucht, Installationen aus dem Repository durchzuführen, sondern es wird nach ` .deb +` - Paketen im aktuellen Verzeichnis oder im angegebenen Pfad gesucht:

sudo dpkg --install .deb

Es ist wichtig zu beachten, dass das Tool + dpkg + keine Abhängigkeitsbehandlung implementiert. Dies bedeutet, dass die Installation fehlschlägt, wenn nicht erfüllte Abhängigkeiten vorliegen. Glücklicherweise werden die benötigten Abhängigkeiten markiert. Wenn also alle Abhängigkeiten in den Repositorys verfügbar sind, können Sie sie einfach erfüllen, indem Sie Folgendes eingeben:

sudo apt-get install -f

Dadurch werden alle nicht erfüllten Abhängigkeiten installiert, einschließlich der mit + dpkg + gekennzeichneten.

Installieren Sie die Software "Tasks" mit Tasksel

Es ist möglich, große Mengen verwandter Software mithilfe von "Tasks" zu installieren. Aufgaben sind einfach Gruppen von Paketen, die bei gemeinsamer Installation eine bestimmte Umgebung einrichten. Beispiele für Aufgaben sind LAMP-Server, Desktop-Umgebungen und Anwendungsserver.

Auf einigen Systemen ist das Paket + tasksel + möglicherweise nicht standardmäßig installiert. Um es zu bekommen, können Sie Folgendes eingeben:

sudo apt-get update
sudo apt-get install tasksel

Sie können die verschiedenen Aufgabenpaketgruppen interaktiv auswählen, indem Sie Folgendes eingeben:

sudo tasksel

Daraufhin wird eine Oberfläche angezeigt, über die Sie verschiedene Paketgruppen auswählen und die Änderungen übernehmen können.

Sie können die Liste der verfügbaren Aufgaben und ihren Installationsstatus auch ausdrucken, indem Sie Folgendes eingeben:

tasksel --list-task

Anschließend können Sie festlegen, dass Tasks über die Befehlszeile installiert werden sollen, indem Sie Folgendes eingeben:

sudo tasksel install

Pakete entfernen und Dateien löschen

Die umgekehrten Vorgänge zum Installieren und Herunterladen von Paketen sind auch mit Paketmanagern möglich. In diesem Abschnitt wird erläutert, wie Sie Pakete deinstallieren und die Dateien bereinigen, die durch Paketvorgänge möglicherweise zurückbleiben.

Paket deinstallieren

Um ein installiertes Paket zu entfernen, kann der Unterbefehl + remove + an + apt-get + übergeben werden. Dies entfernt die meisten Dateien, die das Paket auf dem System installiert hat, mit einer bemerkenswerten Ausnahme.

Dieser Befehl belässt die Konfigurationsdateien an Ort und Stelle, sodass Ihre Konfiguration verfügbar ist, wenn Sie die Anwendung zu einem späteren Zeitpunkt erneut installieren müssen. Dies ist hilfreich, da die von Ihnen angepassten Konfigurationsdateien nicht entfernt werden, wenn Sie versehentlich ein Paket entfernen.

Um diesen Vorgang abzuschließen, müssen Sie lediglich den Namen des Pakets angeben, das Sie deinstallieren möchten:

sudo apt-get remove

Das Paket wird mit Ausnahme Ihrer Konfigurationsdateien deinstalliert.

Deinstallieren Sie ein Paket und alle dazugehörigen Konfigurationsdateien

Wenn Sie ein Paket und alle zugehörigen Dateien, einschließlich Konfigurationsdateien, von Ihrem System entfernen möchten, können Sie den Unterbefehl + purge + von + apt-get + verwenden.

Im Gegensatz zum oben erwähnten Befehl "+ remove " entfernt der Befehl " purge +" alles. Dies ist nützlich, wenn Sie die Konfigurationsdateien nicht speichern möchten oder wenn Sie Probleme haben und von einer leeren Tafel ausgehen möchten.

Beachten Sie, dass Sie Ihre Konfigurationsdateien nach dem Entfernen nicht mehr zurückerhalten können:

sudo apt-get purge

Wenn Sie dieses Paket jemals neu installieren müssen, wird die Standardkonfiguration verwendet.

Entfernen Sie alle automatischen Abhängigkeiten, die nicht mehr benötigt werden

Wenn Sie Pakete mit "+ apt-get remove " oder " apt-get purge +" aus Ihrem System entfernen, wird das Paketziel entfernt. Abhängigkeiten, die automatisch installiert wurden, um die Installationsanforderungen zu erfüllen, bleiben jedoch zurück.

Um automatisch alle Pakete zu entfernen, die als Abhängigkeiten installiert wurden und von keinem Paket mehr benötigt werden, können Sie den Befehl + autoremove + verwenden:

sudo apt-get autoremove

Wenn Sie alle zugehörigen Konfigurationsdateien aus den zu entfernenden Abhängigkeiten entfernen möchten, müssen Sie die Option "+ - purge " zum Befehl " autoremove " hinzufügen. Dadurch werden auch Konfigurationsdateien bereinigt, genau wie der Befehl ` purge +` für ein gezieltes Entfernen:

sudo apt-get --purge autoremove

Veraltete heruntergeladene Paketdateien bereinigen

Wenn Pakete von den Paketverwaltern einer Distribution hinzugefügt und aus den Repositorys entfernt werden, sind einige Pakete veraltet.

Das Tool "+ apt-get " kann alle Paketdateien auf dem lokalen System entfernen, die Paketen zugeordnet sind, die nicht mehr aus den Repositorys verfügbar sind, indem der Befehl " autoclean +" verwendet wird.

Auf diese Weise wird Speicherplatz auf Ihrem Server freigegeben und der Cache auf Ihrem lokalen System wird auf dem neuesten Stand gehalten, ohne dass unnötige Informationen verloren gehen.

sudo apt-get autoclean

Informationen zu Paketen abrufen

Jedes Paket enthält eine große Menge von Metadaten, auf die mit den Paketverwaltungstools zugegriffen werden kann. In diesem Abschnitt werden einige gängige Methoden zum Abrufen von Informationen zu verfügbaren und installierten Paketen beschrieben.

Informationen zu einem Paket anzeigen

Um detaillierte Informationen zu einem Paket in den Repositorys Ihrer Distribution anzuzeigen, können Sie den Unterbefehl "+ show " von " apt-cache +" verwenden. Das Ziel dieses Befehls ist ein Paketname im Repository:

apt-cache show

Dies informiert über alle Installationskandidaten für das betreffende Paket. Jeder Kandidat verfügt unter anderem über Informationen zu Abhängigkeiten, Version, Architektur, Konflikten, dem tatsächlichen Paketdateinamen, der Größe des Pakets und der Installation sowie über eine detaillierte Beschreibung.

Verwenden Sie stattdessen den Befehl + showpkg +, um zusätzliche Informationen zu den einzelnen Kandidaten anzuzeigen, einschließlich einer vollständigen Liste der umgekehrten Abhängigkeiten (eine Liste der Pakete, die vom abgefragten Paket abhängen). Dies wird viele Informationen über die Beziehung dieses Pakets zu anderen Paketen enthalten:

apt-cache showpkg

Informationen zu einem .deb-Paket anzeigen

Um Details zu einer + .deb + -Datei anzuzeigen, können Sie das Flag + - info + mit dem Befehl + dpkg + verwenden. Das Ziel dieses Befehls sollte der Pfad zu einer + .deb + Datei sein:

dpkg --info .deb

Dadurch werden Ihnen einige Metadaten zu dem betreffenden Paket angezeigt. Dazu gehören der Name und die Version des Pakets, die Architektur, für die es erstellt wurde, die Größe und die erforderlichen Abhängigkeiten, eine Beschreibung und Konflikte.

Abhängigkeiten anzeigen und Abhängigkeiten umkehren

Um die Abhängigkeiten (Pakete, auf die sich dieses Paket stützt) und die umgekehrten Abhängigkeiten (Pakete, die sich auf dieses Paket stützen) speziell aufzulisten, können Sie das Dienstprogramm + apt-cache + verwenden.

Für herkömmliche Abhängigkeitsinformationen können Sie den Unterbefehl + depend + verwenden:

apt-cache depends

Hier werden Informationen zu jedem Paket angezeigt, das als harte Abhängigkeit, Vorschlag, Empfehlung oder Konflikt aufgeführt ist.

Wenn Sie herausfinden möchten, welche Pakete von einem bestimmten Paket abhängen, können Sie dieses Paket an den Unterbefehl + rdepends + übergeben:

apt-cache rdepends

Installierte und verfügbare Paketversionen anzeigen

In den Repositorys befinden sich häufig mehrere Versionen eines Pakets mit einem einzigen Standardpaket. Um die verfügbaren Versionen eines Pakets anzuzeigen, können Sie den Unterbefehl + policy + für + apt-cache + verwenden:

apt-cache policy

Hier sehen Sie, welche Version installiert ist (falls vorhanden), welche Version standardmäßig installiert wird, wenn Sie keine Version mit dem Installationsbefehl angeben, und eine Tabelle mit Paketversionen, die mit dem Gewicht versehen ist, das die Priorität jeder Version angibt.

Hiermit kann bestimmt werden, welche Version installiert wird und welche Alternativen verfügbar sind. Da hier auch die Repositorys aufgelistet werden, in denen sich die einzelnen Versionen befinden, kann hiermit festgestellt werden, ob zusätzliche Repositorys oder PPAs die Pakete aus den Standard-Repositorys ersetzen.

Installierte Pakete mit dpkg -l anzeigen

Um die auf Ihrem System installierten Pakete anzuzeigen, haben Sie je nach Format und Ausführlichkeit der gewünschten Ausgabe verschiedene Optionen.

Bei der ersten Methode wird entweder der Befehl "+ dpkg " oder " dpkg-query " mit dem Befehl " -l +" verwendet. Die Ausgabe dieser beiden Befehle ist identisch. Ohne Argumente wird eine Liste aller installierten oder teilweise installierten Pakete auf dem System angezeigt. Die Ausgabe sieht folgendermaßen aus:

dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                        Version                                 Architecture Description
+++-===========================================-=======================================-============-=====================================================================================================================
ii  account-plugin-generic-oauth                0.10bzr13.03.26-0ubuntu1.1              amd64        GNOME Control Center account plugin for single signon - generic OAuth
ii  accountsservice                             0.6.34-0ubuntu6                         amd64        query and manipulate user account information
ii  acl                                         2.2.52-1                                amd64        Access control list utilities
ii  acpi-support                                0.142                                   amd64        scripts for handling many ACPI events
ii  acpid                                       1:2.0.18-1ubuntu2                       amd64        Advanced Configuration and Power Interface event daemon
. . .

Die Ausgabe wird für jedes Paket im System fortgesetzt. Am oberen Rand der Ausgabe sehen Sie die Bedeutung der ersten drei Zeichen in jeder Zeile. Das erste Zeichen gibt den gewünschten Status des Pakets an. Es kann sein:

  • * u *: Unbekannt

  • *ich installierte

  • * r *: entfernt

  • * p *: Gelöscht

  • * h *: Version gehalten

Das zweite Zeichen gibt den tatsächlichen Status der Verpackung an, der dem Verpackungssystem bekannt ist. Dies können sein:

  • * n *: Nicht installiert

  • *ich installierte

  • * c *: Konfigurationsdateien sind vorhanden, die Anwendung wird jedoch deinstalliert.

  • * u *: Ausgepackt. Die Dateien sind entpackt, aber noch nicht konfiguriert.

  • * f *: Das Paket ist zur Hälfte installiert, was bedeutet, dass während einer Installation, bei der der Vorgang abgebrochen wurde, ein Fehler aufgetreten ist.

  • * w *: Das Paket wartet auf einen Trigger von einem separaten Paket

  • * p *: Das Paket wurde von einem anderen Paket ausgelöst.

Das dritte Zeichen, bei dem es sich bei den meisten Paketen lediglich um ein Leerzeichen handelt, hat nur eine mögliche andere Option:

  • * r *: Dies zeigt an, dass eine Neuinstallation erforderlich ist. Dies bedeutet normalerweise, dass das Paket beschädigt und nicht funktionsfähig ist.

Die restlichen Spalten enthalten den Paketnamen, die Version, die Architektur und eine Beschreibung.

Installationsstatus der gefilterten Pakete anzeigen

Wenn Sie ein Suchmuster nach dem Muster "+ -l " hinzufügen, listet " dpkg +" alle Pakete auf (ob installiert oder nicht), die dieses Muster enthalten. Zum Beispiel können wir hier nach YAML-Verarbeitungsbibliotheken suchen:

dpkg -l libyaml*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name            Version      Architecture Description
+++-===============-============-============-===================================
ii  libyaml-0-2:amd 0.1.4-2ubunt amd64        Fast YAML 1.1 parser and emitter li
ii  libyaml-dev:amd 0.1.4-2ubunt amd64        Fast YAML 1.1 parser and emitter li
un  libyaml-perl    <none>                    (no description available)
un  libyaml-syck-pe <none>                    (no description available)
ii  libyaml-tiny-pe 1.51-2       all          Perl module for reading and writing

Wie Sie in der ersten Spalte sehen können, werden das dritte und vierte Ergebnis nicht installiert. Auf diese Weise erhalten Sie jedes Paket, das dem Muster entspricht, sowie dessen aktuellen und gewünschten Status.

Installierte Pakete mit dpkg -get-Auswahl anzeigen

Eine alternative Möglichkeit, die auf Ihrem System installierten Pakete zu rendern, besteht darin, "+ - get-selections " mit " dpkg +" zu markieren.

Hier finden Sie eine Liste aller installierten oder entfernten, aber nicht gelöschten Pakete:

dpkg --get-selections

Um zwischen diesen beiden Zuständen zu unterscheiden, können Sie mit + awk + nach Zustand filtern. Geben Sie Folgendes ein, um nur installierte Pakete anzuzeigen:

dpkg --get-selections | awk '$2 ~ /^install/'

Um eine Liste der entfernten Pakete zu erhalten, deren Konfigurationsdateien nicht gelöscht wurden, können Sie stattdessen Folgendes eingeben:

dpkg --get-selections | awk '$2 !~ /^install/'

Installierte Pakete durchsuchen

Um Ihre installierte Paketbasis nach einem bestimmten Paket zu durchsuchen, können Sie nach der Option + - get-selections + eine Paketfilterzeichenfolge hinzufügen. Dies kann mit Platzhaltern abgeglichen werden. Auch hier werden alle Pakete angezeigt, die installiert sind oder die noch Konfigurationsdateien auf dem System haben:

dpkg --get-selections libz*

Sie können erneut mit den Ausdrücken "+ awk +" aus dem letzten Abschnitt filtern.

Von einem Paket installierte Dateien auflisten

Um herauszufinden, für welche Dateien ein Paket verantwortlich ist, können Sie das Flag "+ -L " mit dem Befehl " dpkg +" verwenden:

dpkg -L

Dies gibt den absoluten Pfad jeder Datei aus, die vom Paket gesteuert wird. Dies schließt keine Konfigurationsdateien ein, die von Prozessen innerhalb des Pakets generiert werden.

Suchen Sie nach dem Paket, das an einem Speicherort installiert wird

Um herauszufinden, welches Paket für eine bestimmte Datei in Ihrem Dateisystem verantwortlich ist, können Sie den absoluten Pfad zum Befehl + dpkg + mit dem Flag + -S + übergeben.

Dadurch wird das Paket gedruckt, in dem die betreffende Datei installiert wurde:

dpkg -S

Denken Sie daran, dass mit dieser Technik keine Dateien an das Paket gebunden werden können, die von Post-Installationsskripten an ihren Platz verschoben wurden.

Suchen Sie, welches Paket eine Datei bereitstellt, ohne sie zu installieren

Mit + dpkg + ist es einfach herauszufinden, welches Paket eine Datei besitzt, indem Sie die Option + -S + verwenden. Es kann jedoch vorkommen, dass Sie wissen müssen, welches Paket eine Datei oder einen Befehl bereitstellt, auch wenn das zugehörige Paket möglicherweise nicht installiert ist.

Dazu müssen Sie ein Hilfsprogramm namens "+ apt-file" installieren. Auf diese Weise wird eine eigene Datenbank mit Informationen verwaltet, die den Installationspfad jeder Datei enthält, die von einem Paket in der Datenbank gesteuert wird.

Installieren Sie das Dienstprogramm, indem Sie Folgendes eingeben:

sudo apt-get update
sudo apt-get install apt-file

Aktualisieren Sie nun die Datenbank des Tools und suchen Sie nach einer Datei, indem Sie Folgendes eingeben:

sudo apt-file update
sudo apt-file search

Dies funktioniert nur für Dateispeicherorte, die direkt von einem Paket installiert werden. Dateien, die nach der Installation mithilfe von Skripts erstellt wurden, werden nicht gefunden.

Übertragen von Paketlisten zwischen Systemen

Oft möchten Sie möglicherweise die Liste der installierten Pakete auf einem System sichern und verwenden, um einen identischen Satz von Paketen auf einem anderen System zu installieren. Dies ist auch für Sicherungszwecke hilfreich. In diesem Abschnitt erfahren Sie, wie Sie Paketlisten exportieren und importieren.

Paketliste exportieren

Wenn Sie die auf einem System installierten Pakete auf ein anderes System replizieren müssen, müssen Sie zuerst Ihre Paketliste exportieren.

Sie können die Liste der installierten Pakete in eine Datei im gewünschten Format exportieren, indem Sie die Ausgabe von + dpkg --get-selections + weiterleiten:

dpkg --get-selections > ~/packagelist.txt

Diese Liste kann dann auf den zweiten Computer kopiert und importiert werden.

Möglicherweise möchten Sie auch Ihre Quellenlisten und Ihre Liste der vertrauenswürdigen Schlüssel sichern. Sie können Ihre Quellen sichern, indem Sie ein Verzeichnis mit den erforderlichen Dateien erstellen und diese kopieren:

mkdir ~/sources
cp -R /etc/apt/sources.list* ~/sources

Die vertrauenswürdigen Schlüssel können gesichert werden, indem Sie Folgendes eingeben:

apt-key exportall > ~/trusted_keys.txt

Sie können jetzt die Datei "+ packagelist.txt", das "+ source" -Verzeichnis und die "+ trusted keys.txt" -Datei auf einen anderen Computer übertragen, um sie zu importieren.

Paketliste importieren

Wenn Sie eine Paketliste mit + dpkg --get-selections + erstellt haben, wie oben gezeigt, können Sie die Pakete auch mit dem Befehl + dpkg + auf einem anderen Computer importieren.

Zunächst müssen Sie die vertrauenswürdigen Schlüssel hinzufügen und die Quellenlisten implementieren, die Sie vom ersten Computer kopiert haben. Angenommen, alle von Ihnen gesicherten Daten wurden in das Ausgangsverzeichnis des neuen Computers kopiert, können Sie Folgendes eingeben:

sudo apt-key add ~/trusted_keys.txt
sudo cp -R ~sources/* /etc/apt/

Löschen Sie anschließend den Status aller nicht unbedingt erforderlichen Pakete vom neuen Computer. Dadurch wird sichergestellt, dass Sie die Änderungen auf eine saubere Tafel anwenden. Dies muss mit dem Root-Account oder den Privilegien + sudo + erfolgen:

sudo dpkg --clear-selections

Dies markiert alle nicht wesentlichen Pakete für die Deinstallation. Wir sollten die lokale Paketliste aktualisieren, damit unsere Installation Aufzeichnungen für die gesamte Software enthält, die wir installieren möchten. Das eigentliche Installations- und Upgrade-Verfahren wird von einem Tool namens "+ dselect +" durchgeführt.

Wir sollten sicherstellen, dass das + dselect + Tool installiert ist. Dieses Tool unterhält eine eigene Datenbank, daher müssen wir diese auch aktualisieren, bevor wir fortfahren können:

sudo apt-get update
sudo apt-get install dselect
sudo dselect update

Als Nächstes können wir die Paketliste über der aktuellen Liste anwenden, um zu konfigurieren, welche Pakete aufbewahrt oder heruntergeladen werden sollen:

sudo dpkg --set-selections < packagelist.txt

Dadurch werden die gewünschten Paketzustände festgelegt. Um die Änderungen zu übernehmen, führen wir ein "+ select-upgrade of" durch, das ein Unterbefehl "+ apt-get" ist:

sudo apt-get dselect-upgrade

Dadurch werden alle erforderlichen Pakete heruntergeladen und installiert. Es werden auch alle Pakete entfernt, die zur Abwahl markiert sind. Am Ende sollte Ihre Paketliste mit der des vorherigen Computers übereinstimmen, obwohl die Konfigurationsdateien noch kopiert oder geändert werden müssen.

Repositorys und PPAs hinzufügen

Obwohl der von den meisten Distributionen bereitgestellte Standardsatz von Repositorys genügend Pakete für die meisten Benutzer enthält, kann es vorkommen, dass zusätzliche Quellen hilfreich sind. In diesem Abschnitt wird erläutert, wie Sie Ihre Pakettools konfigurieren, um zusätzliche Quellen zu konsultieren.

PPAs hinzufügen

Eine Alternative zu herkömmlichen Repositorys sind PPAs oder persönliche Paketarchive. Zum Zeitpunkt dieses Schreibens sind PPAs nur für Ubuntu-Systeme verfügbar. Normalerweise haben PPAs einen kleineren Umfang als Repositorys und enthalten bestimmte Anwendungssätze, die vom PPA-Eigentümer verwaltet werden.

Durch Hinzufügen von PPAs zu Ihrem System können Sie die darin enthaltenen Pakete mit Ihren üblichen Paketverwaltungstools verwalten. Dies kann verwendet werden, um aktuellere Pakete oder Pakete bereitzustellen, die nicht in den Repositorys der Distribution enthalten sind. Achten Sie darauf, dass Sie nur PPAs hinzufügen, denen Sie vertrauen, da Sie es einem nicht standardmäßigen Betreuer ermöglichen, Pakete für Ihr System zu erstellen.

Um ein PPA hinzuzufügen, können Sie den Befehl + add-apt-repository verwenden. Das Ziel sollte die Bezeichnung "+ ppa: +", gefolgt vom Namen des PPA-Eigentümers auf Launchpad, einen Schrägstrich und den PPA-Namen enthalten:

sudo add-apt-repository ppa:/

Möglicherweise werden Sie aufgefordert, den Schlüssel des Packagers zu akzeptieren. Anschließend wird die PPA zu Ihrem System hinzugefügt, sodass Sie die Pakete mit den normalen Befehlen "+ apt +" installieren können. Stellen Sie vor dem Suchen oder Installieren von Paketen sicher, dass Sie Ihren lokalen Cache mit den Informationen zu Ihrer neuen PPA aktualisieren:

sudo apt-get update

Repositorys hinzufügen

Um Ihrem Ubuntu- oder Debian-System zusätzliche Repositorys hinzuzufügen, können Sie zwei verschiedene Ansätze wählen.

Die erste besteht darin, die Quellenlisten direkt zu bearbeiten. Sie können entweder die Datei "+ / etc / apt / sources.list" bearbeiten oder eine neue Liste im Verzeichnis "+ / etc / apt / sources.list.d" ablegen. Wenn Sie diesen letzteren Weg wählen, muss der von Ihnen erstellte Dateiname mit + .list + enden:

sudo nano /etc/apt/sources.list.d/.list

In der Datei können Sie den Speicherort des neuen Repository im folgenden Format hinzufügen:

Die verschiedenen Teile der Repository-Spezifikation sind:

  • * deb * oder * deb-src *: Identifiziert den Repository-Typ. Herkömmliche Repositorys sind mit "+ deb " gekennzeichnet, während Quell-Repositorys mit " deb-src +" beginnen.

  • * url *: Die Haupt-URL für das Repository. Dies sollte der Ort sein, an dem sich das Repository befindet.

  • * Release-Codename oder -suite *: Dies ist normalerweise der Codename der Veröffentlichung Ihrer Distribution. Es kann sich jedoch auch um einen beliebigen Namen handeln, der zum Identifizieren einer bestimmten Gruppe von Paketen verwendet wird, die für Ihre Version der Distribution erstellt wurden.

  • * Komponentennamen *: Die Etiketten für die Auswahl der Pakete, die verfügbar sein sollen. Dies ist oft eine Unterscheidung, die der Repository-Betreuer vorsieht, um etwas über die Zuverlässigkeit oder Lizenzbeschränkungen der enthaltenen Software auszudrücken.

Sie können diese Zeilen in die Datei einfügen. Die meisten Repositorys enthalten Informationen zum genauen Format, das verwendet werden sollte.

Die zweite Möglichkeit, dies zu erreichen, ist die Verwendung des Befehls "+ add-apt-repository". Dies ist normalerweise standardmäßig in Ubuntu enthalten und kann für Debian mit dem Paket + software-properties-common + installiert werden:

sudo apt-get update
sudo apt-get install software-properties-common

Anschließend können Sie die Zeilen, die Sie hinzufügen möchten, dem Befehl "+ add-apt-repository" hinzufügen. Diese sollten dasselbe Format haben, das Sie für manuelle Ergänzungen verwenden würden:

sudo add-apt-repository 'deb   '

Stellen Sie sicher, dass Sie Ihren lokalen Paketcache aktualisieren, nachdem Sie Repository-Updates angewendet haben, damit Ihr System über die neu verfügbaren Pakete informiert ist:

sudo apt-get update

Fazit

Es gibt viele andere Paketverwaltungsvorgänge, die Sie ausführen können, aber wir haben versucht, die gängigsten Verfahren hier zu behandeln. Wenn Sie andere Favoriten haben, verwenden Sie den Kommentarbereich unten, um uns dies mitzuteilen.