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.