GNU/Linux >> Tutoriels Linux >  >> Linux

Comment gérer les packages à l'aide des commandes apt-get, apt-cache, apt-file et dpkg (avec 13 exemples pratiques)

Les systèmes basés sur Debian (y compris Ubuntu) utilisent les commandes apt-* pour gérer les packages à partir de la ligne de commande.

Dans cet article, en utilisant l'installation d'Apache 2 comme exemple, voyons comment utiliser les commandes apt-* pour afficher, installer, supprimer ou mettre à niveau des packages.

1. apt-cache search :Rechercher dans le référentiel à l'aide du nom du package

Si vous installez Apache 2, vous pouvez deviner que le nom du package est apache2. Pour vérifier s'il s'agit d'un nom de package valide, vous pouvez rechercher le référentiel pour ce nom de package particulier, comme indiqué ci-dessous.

L'exemple suivant montre comment rechercher dans le référentiel un nom de package spécifique.

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

2. apt-cache search :Rechercher dans le référentiel à l'aide de la description du package

Si vous ne connaissez pas le nom exact du package, vous pouvez toujours effectuer une recherche en utilisant la description du package comme indiqué ci-dessous.

$ 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 :Rechercher dans le référentiel à l'aide d'un nom de fichier du package

Parfois, vous connaissez peut-être le nom du fichier de configuration (ou) le nom de l'exécutable du package que vous souhaitez installer.

L'exemple suivant montre que le fichier apache2.conf fait partie du package apache2.2-common. Recherchez le référentiel avec un nom de fichier de configuration à l'aide de la commande apt-file comme indiqué ci-dessous.

$ 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 :informations de base sur un paquet

L'exemple suivant affiche des informations de base sur le package apache2.

$ 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 :informations détaillées sur un paquet

"apt-cache show" affiche des informations de base sur un paquet. Utilisez "apt-cache showpkg" pour afficher des informations détaillées sur un paquet comme indiqué ci-dessous.

$ 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 :répertorie tous les fichiers situés dans un package

Utilisez "apt-file list" pour afficher tous les fichiers situés dans le package apache2, comme indiqué ci-dessous.

$ 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 depend :répertorier tous les packages dépendants

Avant l'installation, si vous souhaitez afficher tous les packages dépendants, utilisez "apt-cache depend" comme indiqué ci-dessous.

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

8. dpkg -l :le package est-il déjà installé ?

Avant d'installer un paquet, vous voudrez peut-être vous assurer qu'il n'est pas déjà installé comme indiqué ci-dessous à l'aide de la commande dpkg -l.

$ dpkg -l | grep -i apache

9. apt-get install :Installer un paquet

Enfin, installez le package en utilisant "apt-get install" comme indiqué ci-dessous.

$ 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 :vérifie si le paquet a été installé avec succès

Après avoir installé le package, utilisez "dpkg -l" pour vous assurer qu'il a été installé avec succès.

$ 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 :supprimer un paquet

Utilisez "apt-get purge" ou "apt-get remove" pour supprimer un paquet comme indiqué ci-dessous.

$ 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 remove ne sera pas supprimer les fichiers de configuration du package
  • apt-get purge supprimera les fichiers de configuration du paquet

12. apt-get -u install :mettre à niveau un package spécifique

L'exemple suivant montre comment mettre à niveau un package spécifique.

$ 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 :mettre à niveau tous les packages

Pour mettre à niveau tous les packages vers la dernière version, utilisez "apt-get -u upgrade" comme indiqué ci-dessous.

$ 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. Comment utiliser les commandes 'cat' et 'tac' avec des exemples sous Linux

  2. Comment gérer les packages NodeJS à l'aide de Npm

  3. Tutoriel sur les commandes d'expansion et de non-expansion avec des exemples

  4. Utilisation de Logrotate sous Linux pour gérer les fichiers journaux (avec exemples)

  5. Comment trouver des fichiers volumineux Linux avec les commandes find et du

Comment utiliser les commandes Netcat avec des exemples

Comment installer et gérer des packages sur CentOS à l'aide de RPM

Comment gérer les packages Python à l'aide de PIP

Comment afficher les feuilles de triche des commandes Linux en utilisant par exemple

Les commandes alias et unalias expliquées avec des exemples

Comment rechercher LDAP à l'aide de ldapsearch (avec exemples)