GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo administrar paquetes usando los comandos apt-get, apt-cache, apt-file y dpkg (con 13 ejemplos prácticos)

Los sistemas basados ​​en Debian (incluyendo Ubuntu) usan comandos apt-* para administrar paquetes desde la línea de comandos.

En este artículo, usando la instalación de Apache 2 como ejemplo, revisemos cómo usar los comandos apt-* para ver, instalar, eliminar o actualizar paquetes.

1. apt-cache search:Repositorio de búsqueda usando el nombre del paquete

Si está instalando Apache 2, puede adivinar que el nombre del paquete es apache2. Para verificar si es un nombre de paquete válido, es posible que desee buscar en el repositorio ese nombre de paquete en particular, como se muestra a continuación.

El siguiente ejemplo muestra cómo buscar en el repositorio un nombre de paquete específico.

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

2. apt-cache search:Repositorio de búsqueda utilizando la descripción del paquete

Si no sabe el nombre exacto del paquete, aún puede buscar usando la descripción del paquete como se muestra a continuación.

$ 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:Repositorio de búsqueda usando un nombre de archivo del paquete

A veces puede conocer el nombre del archivo de configuración (o) el nombre del ejecutable del paquete que le gustaría instalar.

El siguiente ejemplo muestra que el archivo apache2.conf es parte del paquete apache2.2-common. Busque el repositorio con un nombre de archivo de configuración usando el comando apt-file como se muestra a continuación.

$ 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:Información básica sobre un paquete

El siguiente ejemplo muestra información básica sobre el paquete 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:Información detallada sobre un paquete

“apt-cache show” muestra información básica sobre un paquete. Use "apt-cache showpkg" para mostrar información detallada sobre un paquete como se muestra a continuación.

$ 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:enumera todos los archivos ubicados dentro de un paquete

Use la "lista de archivos apt" para mostrar todos los archivos ubicados dentro del paquete apache2 como se muestra a continuación.

$ 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 depende:lista de todos los paquetes dependientes

Antes de la instalación, si desea ver todos los paquetes dependientes, use "apt-cache depends" como se muestra a continuación.

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

8. dpkg -l:¿Ya está instalado el paquete?

Antes de instalar un paquete, es posible que desee asegurarse de que no esté ya instalado como se muestra a continuación mediante el comando dpkg -l.

$ dpkg -l | grep -i apache

9. apt-get install:Instalar un paquete

Finalmente, instale el paquete usando "apt-get install" como se muestra a continuación.

$ 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:verificar si el paquete se instaló correctamente

Después de instalar el paquete, use "dpkg -l" para asegurarse de que se instaló correctamente.

$ 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:Eliminar un paquete

Use "apt-get purge" o "apt-get remove" para eliminar un paquete como se muestra a continuación.

$ 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 no eliminar los archivos de configuración del paquete
  • purga apt-get eliminará los archivos de configuración del paquete

12. apt-get -u install:Actualizar un paquete específico

El siguiente ejemplo muestra cómo actualizar un paquete específico.

$ 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:Actualizar todos los paquetes

Para actualizar todos los paquetes a su última versión, use "apt-get -u upgrade" como se muestra a continuación.

$ 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. Cómo usar el comando Hexdump de Linux con ejemplos prácticos

  2. Firewall Raspberry Pi:cómo instalarlo y administrarlo mediante UFW

  3. Cómo comprimir archivos y directorios en Linux (con ejemplos)

  4. Comandos de cabeza y cola en Linux explicados con ejemplos

  5. Cómo administrar paquetes de NodeJS usando Npm

Cómo usar los comandos de Netcat con ejemplos

Cómo instalar y administrar paquetes en CentOS usando RPM

Cómo administrar paquetes de Python usando PIP

Cómo mostrar hojas de trucos de comandos de Linux usando, por ejemplo

Los comandos alias y unalias explicados con ejemplos

Cómo buscar LDAP usando ldapsearch (con ejemplos)