Los sistemas basados en Debian (incluido Ubuntu) utilizan los comandos apt– * para administrar paquetes desde la línea de comandos.
En este artículo, usando la instalación de Apache 2 como ejemplo, revisaremos cómo usar los comandos apt- * para ver, instalar, eliminar o actualizar paquetes.
Ejemplos prácticos usando el comando apt
1. apt-cache search: Búsqueda en el repositorio usando el nombre del paquete
Si estás instalando Apache 2, puedes suponer que el nombre del paquete es apache2. Para verificar si es un nombre de paquete válido, es posible que desees buscar en el repositorio ese nombre de paquete en particular, como se muestra abajo.
El siguiente ejemplo muestra cómo buscar en el repositorio un nombre de paquete específico.
1 2 |
$ apt-cache search ^apache2$ apache2 - Apache HTTP Server metapackage |
2. apt-cache search: Buscar en el repositorio usando la descripción del paquete
Si no conoces el nombre exacto del paquete, aún puedes buscar usando la descripción del paquete como se muestra a continuación.
1 2 3 4 5 6 7 |
$ 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: Búsqueda en el repositorio usando un nombre de archivo del paquete
En ocasiones, es posible que conozcas el nombre del archivo de configuración (o) el nombre del ejecutable del paquete que deseas instalar.
El siguiente ejemplo muestra que el archivo apache2.conf es parte del paquete apache2.2-common. Debes buscar el repositorio con un nombre de archivo de configuración usando el comando apt-file como se muestra a continuación.
1 2 3 |
$ 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: Ver información básica sobre un paquete
El siguiente ejemplo muestra información básica sobre el paquete apache2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ 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: Obtener Información detallada sobre un paquete
“Apt-cache show” muestra información básica sobre un paquete. Debes utilizar “apt-cache showpkg” para mostrar información detallada sobre un paquete como puedes ver a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
$ 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: Enumerar todos los archivos ubicados dentro de un paquete
Puedes usar “apt-file list” para mostrar todos los archivos ubicados dentro del paquete apache2 como se ve a continuación.
1 2 3 4 5 6 7 |
$ 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 depends: Listar todos los paquetes dependientes
Antes de la instalación, si deseas ver todos los paquetes dependientes, debes usar “apt-cache depends” como puedes ver a continuación.
1 2 3 4 5 |
$ apt-cache depends apache2 apache2 |Depends: apache2-mpm-worker |Depends: apache2-mpm-prefork Depends: apache2-mpm-event |
8. dpkg -l: ¿El paquete ya está instalado?
Antes de instalar un paquete, es posible que desees asegurarte de que no esté instalado, esto lo puede hacer como se muestra a continuación con el comando dpkg -l.
1 |
$ dpkg -l | grep -i apache |
9. apt-get install: Instalar un paquete
Finalmente, puedes instalar el paquete usando “apt-get install” como se observa a continuación.
1 2 3 4 5 6 7 8 |
$ sudo apt-get install apache2 [sudo] password for cesar: 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, debes usar “dpkg -l” para asegurarte de que se instaló correctamente.
1 2 3 4 5 |
$ 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
Debes usar “apt-get purge” o “apt-get remove” para eliminar un paquete como se ve a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ 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 borrará los archivos de configuración del paquete
apt-get purge 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.
1 2 3 4 5 6 7 8 9 |
$ 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, utiliza “apt-get -u upgrade” como se observa a continuación.
1 2 3 4 5 6 7 8 9 |
$ <strong>sudo apt-get -u upgrade</strong> 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. |