GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwalten Sie Pakete mit den Befehlen apt-get, apt-cache, apt-file und dpkg (mit 13 praktischen Beispielen)

Debian-basierte Systeme (einschließlich Ubuntu) verwenden apt-*-Befehle zum Verwalten von Paketen über die Befehlszeile.

Lassen Sie uns in diesem Artikel am Beispiel der Apache 2-Installation untersuchen, wie Sie apt-*-Befehle verwenden, um Pakete anzuzeigen, zu installieren, zu entfernen oder zu aktualisieren.

1. apt-cache search:Durchsuchen des Repositorys unter Verwendung des Paketnamens

Wenn Sie Apache 2 installieren, vermuten Sie möglicherweise, dass der Paketname apache2 lautet. Um zu überprüfen, ob es sich um einen gültigen Paketnamen handelt, können Sie das Repository nach diesem bestimmten Paketnamen durchsuchen, wie unten gezeigt.

Das folgende Beispiel zeigt, wie das Repository nach einem bestimmten Paketnamen durchsucht wird.

$ apt-cache search ^apache2$
apache2 - Apache HTTP Server metapackage

2. apt-cache search:Durchsuchen Sie das Repository mithilfe der Paketbeschreibung

Wenn Sie den genauen Namen des Pakets nicht kennen, können Sie trotzdem anhand der Paketbeschreibung suchen, wie unten gezeigt.

$ apt-cache search "Apache HTTP Server"
apache2 - Apache HTTP Server metapackage
apache2-doc - Apache HTTP Server documentation
apache2-mpm-event - Apache HTTP Server - event driven model
apache2-mpm-prefork - Apache HTTP Server - traditional non-threaded model
apache2-mpm-worker - Apache HTTP Server - high speed threaded model
apache2.2-common - Apache HTTP Server common files

3. apt-file search:Durchsuchen Sie das Repository unter Verwendung eines Dateinamens aus dem Paket

Manchmal kennen Sie vielleicht den Namen der Konfigurationsdatei (oder) den Namen der ausführbaren Datei aus dem Paket, das Sie installieren möchten.

Das folgende Beispiel zeigt, dass die Datei apache2.conf Teil des Pakets apache2.2-common ist. Durchsuchen Sie das Repository mit einem Konfigurationsdateinamen mit dem Befehl apt-file, wie unten gezeigt.

$ apt-file search apache2.conf
apache2.2-common: /etc/apache2/apache2.conf
apache2.2-common: /usr/share/doc/apache2.2-common/examples/apache2/apache2.conf.gz

4. apt-cache show:Grundlegende Informationen über ein Paket

Das folgende Beispiel zeigt grundlegende Informationen über das Apache2-Paket.

$ apt-cache show apache2
Package: apache2
Priority: optional
Maintainer: Ubuntu Core Developers
Original-Maintainer: Debian Apache Maintainers
Version: 2.2.11-2ubuntu2.3
Depends: apache2-mpm-worker (>= 2.2.11-2ubuntu2.3)
 | apache2-mpm-prefork (>= 2.2.11-2ubuntu2.3)
 | apache2-mpm-event (>= 2.2.11-2ubuntu2.3)
Filename: pool/main/a/apache2/apache2_2.2.11-2ubuntu2.3_all.deb
Size: 46350
Description: Apache HTTP Server metapackage
 The Apache Software Foundation's goal is to build a secure, efficient and
 extensible HTTP server as standards-compliant open source software.
Homepage: http://httpd.apache.org/

5. apt-cache showpkg:Detaillierte Informationen über ein Paket

„apt-cache show“ zeigt grundlegende Informationen über ein Paket an. Verwenden Sie „apt-cache showpkg“, um detaillierte Informationen über ein Paket anzuzeigen, wie unten gezeigt.

$ apt-cache showpkg apache2
Package: apache2
Versions:
2.2.11-2ubuntu2.3 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_jaunty-updates_main_binary-i386_Packages) (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_jaunty-security_main_binary-i386_Packages)
 Description Language:
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_jaunty-updates_main_binary-i386_Packages
                  MD5: d24f049cd70ccfc178dd8974e4b1ed01
Reverse Depends:
  squirrelmail,apache2
  squid3-cgi,apache2
  phpmyadmin,apache2
  mahara-apache2,apache2
  ipplan,apache2
Dependencies:
  2.2.11-2ubuntu2.3 - apache2-mpm-worker (18 2.2.11-2ubuntu2.3) apache2-mpm-prefork (18 2.2.11-2ubuntu2.3) apache2-mpm-event (2 2.2.11-2ubuntu2.3)
  2.2.11-2ubuntu2 - apache2-mpm-worker (18 2.2.11-2ubuntu2) apache2-mpm-prefork (18 2.2.11-2ubuntu2) apache2-mpm-event (2 2.2.11-2ubuntu2)
Provides:
  2.2.11-2ubuntu2.3 -
  2.2.11-2ubuntu2 -
Reverse Provides:
  apache2-mpm-itk 2.2.6-02-1build4.3
  apache2-mpm-worker 2.2.11-2ubuntu2.3
  apache2-mpm-prefork 2.2.11-2ubuntu2.3
  apache2-mpm-prefork 2.2.11-2ubuntu2
  apache2-mpm-event 2.2.11-2ubuntu2

6. apt-file list:Alle Dateien auflisten, die sich in einem Paket befinden

Verwenden Sie „apt-file list“, um alle Dateien anzuzeigen, die sich im Apache2-Paket befinden, wie unten gezeigt.

$ apt-file list apache2 | more
apache2: /usr/share/bug/apache2/control
apache2: /usr/share/bug/apache2/script
apache2: /usr/share/doc/apache2/NEWS.Debian.gz
apache2: /usr/share/doc/apache2/README.Debian.gz
apache2: /usr/share/doc/apache2/changelog.Debian.gz
...

7. apt-cache-hängt ab:Alle abhängigen Pakete auflisten

Wenn Sie vor der Installation alle abhängigen Pakete anzeigen möchten, verwenden Sie „apt-cache dependents“, wie unten gezeigt.

$ apt-cache depends apache2
apache2
 |Depends: apache2-mpm-worker
 |Depends: apache2-mpm-prefork
  Depends: apache2-mpm-event

8. dpkg -l:Ist das Paket bereits installiert?

Bevor Sie ein Paket installieren, sollten Sie sicherstellen, dass es nicht bereits installiert ist, wie unten gezeigt, indem Sie den Befehl dpkg -l verwenden.

$ dpkg -l | grep -i apache

9. apt-get install:Installiere ein Paket

Installieren Sie schließlich das Paket mit „apt-get install“, wie unten gezeigt.

$ sudo apt-get install apache2
[sudo] password for ramesh: 

The following NEW packages will be installed:
  apache2 apache2-mpm-worker apache2-utils apache2.2-common libapr1
  libaprutil1 libpq5

0 upgraded, 7 newly installed, 0 to remove and 26 not upgraded.

10. dpkg -l :Überprüfe, ob das Paket erfolgreich installiert wurde

Verwenden Sie nach der Installation des Pakets „dpkg -l“, um sicherzustellen, dass es erfolgreich installiert wurde.

$ dpkg -l | grep apache
ii  apache2             2.2.11-2ubuntu2.3  Apache HTTP Server metapackage
ii  apache2-mpm-worker  2.2.11-2ubuntu2.3  Apache HTTP Server - high speed threaded mod
ii  apache2-utils       2.2.11-2ubuntu2.3  utility programs for webservers
ii  apache2.2-common    2.2.11-2ubuntu2.3  Apache HTTP Server common files

11. apt-get remove:Paket löschen

Verwenden Sie „apt-get purge“ oder „apt-get remove“, um ein Paket wie unten gezeigt zu löschen.

$ sudo apt-get purge apache2

(or)

$ sudo apt-get remove apache2

The following packages were automatically installed and are no longer required:
  apache2-utils linux-headers-2.6.28-11 libapr1 apache2.2-common
  linux-headers-2.6.28-11-generic apache2-mpm-worker libpq5 libaprutil1

Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  apache2
0 upgraded, 0 newly installed, 1 to remove and 26 not upgraded.
Removing apache2 ...
  • apt-get entfernen wird nicht die Konfigurationsdateien des Pakets löschen
  • apt-get-Bereinigung löscht die Konfigurationsdateien des Pakets

12. apt-get -u install:Aktualisieren Sie ein bestimmtes Paket

Das folgende Beispiel zeigt, wie ein bestimmtes Paket aktualisiert wird.

$ sudo apt-get -u install apache2
Reading package lists... Done
Building dependency tree
Reading state information... Done
apache2 is already the newest version.
The following packages were automatically installed and are no longer required:
  linux-headers-2.6.28-11 linux-headers-2.6.28-11-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 26 not upgraded.

13. apt-get -u upgrade:Alle Pakete aktualisieren

Um alle Pakete auf die neueste Version zu aktualisieren, verwenden Sie „apt-get -u upgrade“ wie unten gezeigt.

$ sudo apt-get -u upgrade
The following packages will be upgraded:
  libglib2.0-0 libglib2.0-data libicu38 libsmbclient libwbclient0
  openoffice.org-base-core openoffice.org-calc openoffice.org-common
  openoffice.org-core openoffice.org-draw openoffice.org-emailmerge
  openoffice.org-gnome openoffice.org-gtk openoffice.org-impress
  openoffice.org-math openoffice.org-style-human openoffice.org-writer
  python-uno samba-common smbclient ttf-opensymbol tzdata
26 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Linux
  1. Lernprogramm zum Erweitern und Aufheben von Befehlen mit Beispielen

  2. Verwenden von Logrotate unter Linux zum Verwalten von Protokolldateien (mit Beispielen)

  3. So finden Sie große Dateien unter Linux mit den Befehlen find und du

  4. Debian:So installieren oder entfernen Sie DEB-Pakete mit dpkg

  5. So installieren Sie lokale .deb-Pakete mit apt-get

Verwendung von Netcat-Befehlen mit Beispielen

So installieren und verwalten Sie Pakete auf CentOS mit RPM

So verwalten Sie Python-Pakete mit PIP

So zeigen Sie Cheatsheets für Linux-Befehle mit z

Die Alias- und Unalias-Befehle mit Beispielen erklärt

So durchsuchen Sie LDAP mit ldapsearch (mit Beispielen)