Formación informática

Java | Joomla | MySQL

Debian - Tema 12.2: gestión de paquetes con la terminal

Función

La herramienta de gestión de paquetes APT es una interfaz para la línea de órdenes que gestiona los paquetes, pudiendo considerarse el soporte de fondo de otras herramientas gráficas tales omo aptitude o synaptic. Se encarga de gestionar las dependencias, sean del tipo que sean.

Es una herramienta muy potente que nos permite actualizar los listados de paquetes, actualizar los paquetes instalados o borrarlos.

Sintaxis

apt-get [-asqdyfmubV] [-o=config_string] [-c=config_file] [-t=target_release] [-a=architecture] {update | upgrade |

               dselect-upgrade | dist-upgrade | install pkg [{=pkg_version_number | /target_release}]...  | remove pkg...

               | purge pkg...  | source pkg [{=pkg_version_number | /target_release}]...  |

               build-dep pkg [{=pkg_version_number | /target_release}]...  |

               download pkg [{=pkg_version_number | /target_release}]...  | check | clean | autoclean | autoremove |

               {-v | --version} | {-h | --help}}

Órdenes

A menos que se use la opción -h o --help, una de las siguientes órdenes debe estar presente:

update se usa para sincronizar el índice de paquetes desde sus fuentes. Los índices de paquetes disponibles se obtienen de los lugares especificados en /etc/apt/sources.list. Por ejemplo, cuando se usa un archivo de Debian, esta orden descarga y analiza los ficheros Packages.gz, de tal forma que la información acerca de los nuevos paquetes pasa a estar disponible. Siempre se debe realizar un update antes de un upgrade o un dist-upgrade. Tenga en cuenta que el indicador de progreso será incorrecto, ya que se desconoce de antemano el tamaño de los archivos de paquete.

upgrade se usa para instalar la versión más nueva de todos los paquetes instalados en el sistema provenientes de alguna de las fuentes listadas en /etc/apt/sources.list. Los paquetes instalados con una nueva versión disponible se descargan y actualizan, y bajo ninguna circunstancia se desinstalarán paquetes, o se instalarán paquetes nuevos. Las nuevas versiones de programas instalados que no se puedan actualizar sin cambiar el estado de instalación de otros paquetes no se instalarán, manteniéndose la versión actual. Hay que realizar un update antes para que apt-get sepa que hay nuevas versiones disponibles.

dist-upgrade, además de realizar las acciones de upgrade, trata inteligentemente los cambios de dependencias debidos a las nuevas versiones de paquetes. apt-get tiene un sistema «inteligente» de resolución de conflictos, y si es necesario tratará de actualizar los paquetes más importantes a costa de los menos importantes. Por ello, puede que la orden dist-upgrade elimine algunos paquetes. El fichero /etc/apt/sources.list contiene una lista de sitios desde los que descargar los ficheros de paquetes.

dselect-upgrade se usa junto al tradicional administrador de paquetes de Debian. dselect-upgrade registra los cambios que haya hecho dselect(1) al campo Status (estado) de los paquetes disponibles y realizalas acciones necesarias para que los cambios se lleven a cabo. Por ejemplo, borrar paquetes antiguos e instalarlas nuevas versiones.

install instala o actualiza los paquetes que siguen a la palabra «install». Cada paquete es un nombre de paquete, y no el nombre completo del fichero del paquete. Por ejemplo, en un sistema Debian GNU/Linux, e largumento sería apt-utils, y no apt-utils_1.0.9.8.5_amd64.deb). Se obtendrán e instalarán todos los paquetes necesarios por los paquetes especificados para la instalación. El fichero /etc/apt/sources.list se utiliza para ubicar los paquetes. Si se antepone un guión al nombre del paquete (sin ningún espacio) el paquete se desinstalará en vez de instalar. De forma similar, el signo de suma se puede usar para especificar que un paquete se debe instalar. Estas últimas características se pueden usar para invalidar las decisiones tomadas por el sistema de resolución de conflictos de apt-get. Podemos seleccionar una versión especifica de un paquete poniendo a continuación del nombre del paquete un símbolo igual (=) seguido de la versión deseada. Esto provocará que se localice y seleccione esa versión para suinstalación. Alternativamente se puede seleccionar una distribución específica poniendo a continuación del nombre del paquete una barra (/) seguida de la versión de la distribución o su nombre en el archivo de Debian (stable, testing, unstable). Cualquiera de estos dos métodos de selección puede instalar una versión anterior de los paquetes y se debeutilizar con precaución.

remove se comporta del mismo modo que install con la diferencia de que elimina los paquetes en vez de instalarlos. Tenga en cuenta que al eliminar un paquete sus ficheros de configuración permanecen en el sistema. Si un signo de suma precede al nombre del paquete, sin ningún espacio en blanco entre los dos, el paquete encuestión será instalado en vez de eliminado.

purge es idéntico a remove, con la diferencia de que los paquetes se eliminarán y purgarán, eliminándose también cualquier fichero de configuración.

source hace que apt-get descargue los paquetes fuente. APT examinará los paquetes disponibles para decidir qué paquete fuente descargará. Entonces descargará la versión más reciente del paquete fuente en el directorio actual respetando la versión predeterminada, que se define en la opción APT::Default-Release, la opción -t o según el paquete con la sintaxis pkg/release, si es posible.

build-dep procova que apt-get instale/elimine paquetes para intentar satisfacer las dependencias de construcción de un paquete fuente. Por omisión, las dependencias se satisfacen para construir el paquete de forma nativa.

check es una herramienta de diagnóstico, actualiza la caché de paquetes y revisa la existencia de dependencias rotas.

clean borra el repositorio local de paquetes descargados.

autoclean  borra el repositorio local de paquetes descargados. La diferencia reside en que sólo borrará aquellos paquetes que ya no se pueden descargar, o que son claramente inservibles. Esto permite mantener el almacén durante largos periodos de tiempo sin que aumente su tamaño descontroladamente.

autoremove desinstala paquetes que se instalaron automáticamente para satisfacer las dependencias de otros paquetes pero que ya no son necesarios.

Listado de opciones

Opción corta

Opción larga

Explicación

-d

--download-only

Sólo descarga los ficheros de los paquetes, no los desempaqueta ni los instala.

-f

--fix-broken

Intenta reparar paquetes con dependencias rotas.

-m

--ignore-missing

Ignora paquetes faltantes. Si no se pueden descargar paquetes, o estos no superan la prueba de integridad tras la descarga (ficheros de paquete corruptos), se retienen y se continúa con el resto.

 

--no-download

Deshabilita la descarga de paquetes. Si se utiliza junto --ignore-missing ofrece la mejor manera de forzar a APT a utilizar sólo los ficheros «.deb» descargados con anterioridad.

-q

--quiet

Produce una salida adecuada para su registro, omitiendo los indicadores de progreso.

-s

--simulate

No realiza ninguna acción, simula lo que hubiese ocurrido pero sin hacer cambios reales en el sistema.

-y

--yes

Supone una respuesta afirmativa a todas las preguntas, de esta forma apt-get se ejecuta sin necesidad de intervención posterior para tomar decisiones.

 

--assume-no

 Supone «no» a todas las consultas.

-u

--show-upgraded

Muestra los paquetes que se van a actualizar.

-V

--verbose-versions

Muestra las versiones completas para los paquetes actualizados e instalados.

12.2.1. Actualización del sistema

Así el proceso para actualizar el sistema tendría que realizar un usuario con permisos de administración y consistiría en los siguientes pasos:

El primer paso es comprobar que el archivo sources.list está correctamente configurado.

El segundo paso es realizar una actualización de los listados de paquetes, comprobando en los repositorios en línea configurados en el paso anterior si existen diferencias entre la versión local y en línea:

josemariatc@debian:~$ su

Contraseña:

root@debian:/home/josemariatc# apt-get update

Ign http://ftp.es.debian.org jessie InRelease

Obj http://ftp.es.debian.org jessie Release.gpg        

Obj http://ftp.es.debian.org jessie Release            

Des:1 http://security.debian.org jessie/updates InRelease [44,2 kB]

Obj http://ftp.es.debian.org jessie/main Sources                               

Des:2 http://security.debian.org jessie/updates/main Sources [324 kB]

Obj http://ftp.es.debian.org jessie/main amd64 Packages

Obj http://ftp.es.debian.org jessie/main Translation-es                                                                  

Obj http://ftp.es.debian.org jessie/main Translation-en              

Des:3 http://security.debian.org jessie/updates/contrib Sources [1.439 B]                  

Des:4 http://security.debian.org jessie/updates/main amd64 Packages [697 kB]

Des:5 http://security.debian.org jessie/updates/contrib amd64 Packages [2.506 B]

Des:6 http://security.debian.org jessie/updates/contrib Translation-en [1.211 B]

Des:7 http://security.debian.org jessie/updates/main Translation-en [352 kB]

Descargados 1.417 kB en 9s (146 kB/s)                                                                                        

Leyendo lista de paquetes... Hecho

El tercer paso consiste en actualizar los paquetes:

root@debian:/home/josemariatc# apt-get upgrade

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias      

Leyendo la información de estado... Hecho

Calculando la actualización... Listo

Los siguientes paquetes se han retenido:

  linux-image-amd64

Se actualizarán los siguientes paquetes:

  bzip2 dbus dbus-x11 firefox-esr firefox-esr-l10n-es-ar firefox-esr-l10n-es-cl firefox-esr-l10n-es-es firefox-esr-l10n-es-mx

  gvfs gvfs-backends gvfs-bin gvfs-common gvfs-daemons gvfs-fuse gvfs-libs iceweasel iceweasel-l10n-es-ar

  iceweasel-l10n-es-cl iceweasel-l10n-es-es iceweasel-l10n-es-mx libbz2-1.0 libdbus-1-3 libexpat1 libgd3 libglib2.0-0

  libglib2.0-bin libglib2.0-data libpoppler-glib8 libpoppler46 libpython2.7 libpython2.7-minimal libpython2.7-stdlib

  libpython3.4 libpython3.4-minimal libpython3.4-stdlib poppler-utils python-urllib3 python-xdg python2.7 python2.7-minimal

  python3-xdg python3.4 python3.4-minimal

43 actualizados, 0 nuevos se instalarán, 0 para eliminar y 1 no actualizados.

Se necesita descargar 68,7 MB de archivos.

Se utilizarán 411 kB de espacio de disco adicional después de esta operación.

¿Desea continuar? [S/n]

En las últimas líneas se nos muestra, por este orden, un listado completo de los nombres de los paquetes que se actualizarán así cómo cuánto pesan los archivos durante la descarga y el espacio adicional necesario en disco para poder realizar la operación. Además, nos pide que confirmemos la operación. Una vez introduzcamos S se iniciará el proceso de descarga, configuración e instalación de todos los paquetes:

¿Desea continuar? [S/n] s

Des:1 http://security.debian.org/ jessie/updates/main bzip2 amd64 1.0.6-7+deb8u1 [46,7 kB]

Des:2 http://security.debian.org/ jessie/updates/main libbz2-1.0 amd64 1.0.6-7+deb8u1 [43,2 kB]

Des:3 http://security.debian.org/ jessie/updates/main libdbus-1-3 amd64 1.8.22-0+deb8u2 [171 kB]

Des:4 http://security.debian.org/ jessie/updates/main libexpat1 amd64 2.1.0-6+deb8u5 [80,3 kB]

Des:5 http://security.debian.org/ jessie/updates/main libgd3 amd64 2.1.0-5+deb8u13 [149 kB]

Des:6 http://security.debian.org/ jessie/updates/main gvfs-bin amd64 1.22.2-1+deb8u1 [276 kB]

Des:7 http://security.debian.org/ jessie/updates/main gvfs-backends amd64 1.22.2-1+deb8u1 [535 kB]

Des:8 http://security.debian.org/ jessie/updates/main gvfs-daemons amd64 1.22.2-1+deb8u1 [354 kB]

Des:9 http://security.debian.org/ jessie/updates/main gvfs-fuse amd64 1.22.2-1+deb8u1 [255 kB]

Des:10 http://security.debian.org/ jessie/updates/main libglib2.0-bin amd64 2.42.1-1+deb8u1 [1.336 kB]

Des:11 http://security.debian.org/ jessie/updates/main libglib2.0-0 amd64 2.42.1-1+deb8u1 [2.400 kB]

Des:12 http://security.debian.org/ jessie/updates/main gvfs amd64 1.22.2-1+deb8u1 [334 kB]

Des:13 http://security.debian.org/ jessie/updates/main gvfs-libs amd64 1.22.2-1+deb8u1 [334 kB]

Des:14 http://security.debian.org/ jessie/updates/main gvfs-common all 1.22.2-1+deb8u1 [738 kB]

Des:15 http://security.debian.org/ jessie/updates/main libglib2.0-data all 2.42.1-1+deb8u1 [2.173 kB]

Des:16 http://security.debian.org/ jessie/updates/main libpoppler46 amd64 0.26.5-2+deb8u10 [1.213 kB]

Des:17 http://security.debian.org/ jessie/updates/main libpoppler-glib8 amd64 0.26.5-2+deb8u10 [123 kB]

Des:18 http://security.debian.org/ jessie/updates/main python2.7 amd64 2.7.9-2+deb8u3 [252 kB]

Des:19 http://security.debian.org/ jessie/updates/main python2.7-minimal amd64 2.7.9-2+deb8u3 [1.399 kB]

Des:20 http://security.debian.org/ jessie/updates/main libpython2.7 amd64 2.7.9-2+deb8u3 [1.080 kB]

Des:21 http://security.debian.org/ jessie/updates/main libpython2.7-stdlib amd64 2.7.9-2+deb8u3 [1.849 kB]

Des:22 http://security.debian.org/ jessie/updates/main libpython2.7-minimal amd64 2.7.9-2+deb8u3 [379 kB]

Des:23 http://security.debian.org/ jessie/updates/main python3.4 amd64 3.4.2-1+deb8u4 [205 kB]

Des:24 http://security.debian.org/ jessie/updates/main libpython3.4 amd64 3.4.2-1+deb8u4 [1.314 kB]

Des:25 http://security.debian.org/ jessie/updates/main libpython3.4-stdlib amd64 3.4.2-1+deb8u4 [2.096 kB]

Des:26 http://security.debian.org/ jessie/updates/main python3.4-minimal amd64 3.4.2-1+deb8u4 [1.647 kB]

Des:27 http://security.debian.org/ jessie/updates/main libpython3.4-minimal amd64 3.4.2-1+deb8u4 [494 kB]

Des:28 http://security.debian.org/ jessie/updates/main dbus amd64 1.8.22-0+deb8u2 [291 kB]

Des:29 http://security.debian.org/ jessie/updates/main dbus-x11 amd64 1.8.22-0+deb8u2 [73,9 kB]

Des:30 http://security.debian.org/ jessie/updates/main firefox-esr-l10n-es-cl all 60.7.1esr-1~deb8u1 [559 kB]

Des:31 http://security.debian.org/ jessie/updates/main firefox-esr-l10n-es-es all 60.7.1esr-1~deb8u1 [490 kB]

Des:32 http://security.debian.org/ jessie/updates/main firefox-esr-l10n-es-ar all 60.7.1esr-1~deb8u1 [556 kB]

Des:33 http://security.debian.org/ jessie/updates/main firefox-esr-l10n-es-mx all 60.7.1esr-1~deb8u1 [560 kB]

Des:34 http://security.debian.org/ jessie/updates/main firefox-esr amd64 60.7.1esr-1~deb8u1 [44,0 MB]

Des:35 http://security.debian.org/ jessie/updates/main iceweasel all 60.7.1esr-1~deb8u1 [114 kB]

Des:36 http://security.debian.org/ jessie/updates/main iceweasel-l10n-es-ar all 1:60.7.1esr-1~deb8u1 [112 kB]

Des:37 http://security.debian.org/ jessie/updates/main iceweasel-l10n-es-cl all 1:60.7.1esr-1~deb8u1 [112 kB]

Des:38 http://security.debian.org/ jessie/updates/main iceweasel-l10n-es-es all 1:60.7.1esr-1~deb8u1 [112 kB]

Des:39 http://security.debian.org/ jessie/updates/main iceweasel-l10n-es-mx all 1:60.7.1esr-1~deb8u1 [112 kB]

Des:40 http://security.debian.org/ jessie/updates/main poppler-utils amd64 0.26.5-2+deb8u10 [143 kB]

Des:41 http://security.debian.org/ jessie/updates/main python-urllib3 all 1.9.1-3+deb8u1 [55,7 kB]

Des:42 http://security.debian.org/ jessie/updates/main python-xdg all 0.25-4+deb8u1 [35,7 kB]

Des:43 http://security.debian.org/ jessie/updates/main python3-xdg all 0.25-4+deb8u1 [35,7 kB]

Descargados 68,7 MB en 4s (17,0 MB/s)

Leyendo lista de cambios... Hecho.

Extrayendo plantillas para los paquetes: 100%

(Leyendo la base de datos ... 139527 ficheros o directorios instalados actualmente.)

Preparando para desempaquetar .../bzip2_1.0.6-7+deb8u1_amd64.deb ...

Desempaquetando bzip2 (1.0.6-7+deb8u1) sobre (1.0.6-7+b3) ...

Preparando para desempaquetar .../libbz2-1.0_1.0.6-7+deb8u1_amd64.deb ...

Desempaquetando libbz2-1.0:amd64 (1.0.6-7+deb8u1) sobre (1.0.6-7+b3) ...

Procesando disparadores para man-db (2.7.0.2-5) ...

Configurando libbz2-1.0:amd64 (1.0.6-7+deb8u1) ...

Procesando disparadores para libc-bin (2.19-18+deb8u10) ...

(Leyendo la base de datos ... 139525 ficheros o directorios instalados actualmente.)

Preparando para desempaquetar .../libdbus-1-3_1.8.22-0+deb8u2_amd64.deb ...

Desempaquetando libdbus-1-3:amd64 (1.8.22-0+deb8u2) sobre (1.8.22-0+deb8u1) ...

Preparando para desempaquetar .../libexpat1_2.1.0-6+deb8u5_amd64.deb ...

Preparando para desempaquetar .../python3-xdg_0.25-4+deb8u1_all.deb ...

Desempaquetando python3-xdg (0.25-4+deb8u1) sobre (0.25-4) ...

Procesando disparadores para man-db (2.7.0.2-5) ...

Procesando disparadores para desktop-file-utils (0.22-1) ...

Procesando disparadores para gnome-menus (3.13.3-6) ...

Procesando disparadores para mime-support (3.58) ...

Procesando disparadores para systemd (215-17+deb8u13) ...

Procesando disparadores para hicolor-icon-theme (0.13-1) ...

Configurando bzip2 (1.0.6-7+deb8u1) ...

Configurando libdbus-1-3:amd64 (1.8.22-0+deb8u2) ...

Configurando libexpat1:amd64 (2.1.0-6+deb8u5) ...

Configurando libgd3:amd64 (2.1.0-5+deb8u13) ...

Configurando libglib2.0-0:amd64 (2.42.1-1+deb8u1) ...

Configurando gvfs-common (1.22.2-1+deb8u1) ...

Configurando gvfs-bin (1.22.2-1+deb8u1) ...

Configurando gvfs-libs:amd64 (1.22.2-1+deb8u1) ...

Configurando gvfs-daemons (1.22.2-1+deb8u1) ...

Configurando gvfs:amd64 (1.22.2-1+deb8u1) ...

Configurando gvfs-backends (1.22.2-1+deb8u1) ...

Configurando gvfs-fuse (1.22.2-1+deb8u1) ...

Configurando libglib2.0-data (2.42.1-1+deb8u1) ...

Configurando libglib2.0-bin (2.42.1-1+deb8u1) ...

Configurando libpoppler46:amd64 (0.26.5-2+deb8u10) ...

Configurando libpoppler-glib8:amd64 (0.26.5-2+deb8u10) ...

Configurando libpython2.7-minimal:amd64 (2.7.9-2+deb8u3) ...

Configurando python2.7-minimal (2.7.9-2+deb8u3) ...

Configurando libpython2.7-stdlib:amd64 (2.7.9-2+deb8u3) ...

Configurando python2.7 (2.7.9-2+deb8u3) ...

Configurando libpython2.7:amd64 (2.7.9-2+deb8u3) ...

Configurando libpython3.4-minimal:amd64 (3.4.2-1+deb8u4) ...

Configurando python3.4-minimal (3.4.2-1+deb8u4) ...

Configurando libpython3.4-stdlib:amd64 (3.4.2-1+deb8u4) ...

Configurando python3.4 (3.4.2-1+deb8u4) ...

Configurando libpython3.4:amd64 (3.4.2-1+deb8u4) ...

Configurando dbus (1.8.22-0+deb8u2) ...

Configurando dbus-x11 (1.8.22-0+deb8u2) ...

Configurando firefox-esr (60.7.1esr-1~deb8u1) ...

Configurando firefox-esr-l10n-es-cl (60.7.1esr-1~deb8u1) ...

Configurando firefox-esr-l10n-es-es (60.7.1esr-1~deb8u1) ...

Configurando firefox-esr-l10n-es-ar (60.7.1esr-1~deb8u1) ...

Configurando firefox-esr-l10n-es-mx (60.7.1esr-1~deb8u1) ...

Configurando iceweasel (60.7.1esr-1~deb8u1) ...

Configurando iceweasel-l10n-es-ar (1:60.7.1esr-1~deb8u1) ...

Configurando iceweasel-l10n-es-cl (1:60.7.1esr-1~deb8u1) ...

Configurando iceweasel-l10n-es-es (1:60.7.1esr-1~deb8u1) ...

Configurando iceweasel-l10n-es-mx (1:60.7.1esr-1~deb8u1) ...

Configurando poppler-utils (0.26.5-2+deb8u10) ...

Configurando python-urllib3 (1.9.1-3+deb8u1) ...

Configurando python-xdg (0.25-4+deb8u1) ...

Configurando python3-xdg (0.25-4+deb8u1) ...

Procesando disparadores para libc-bin (2.19-18+deb8u10) ...

Por último, tenemos que reiniciar el sistema para que se apliquen los cambios.

12.2.2. Instalar un paquete

Para instalar un paquete mediante la línea de comandos es imprescindible conocer el nombre del mismo. Por ejemplo para instalar el manual en español:

josemariatc@debian:~$ su

Contraseña:

root@debian:/home/josemariatc# apt-get install aptitude-doc-es

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias      

Leyendo la información de estado... Hecho

Se instalarán los siguientes paquetes NUEVOS:

  aptitude-doc-es

0 actualizados, 1 nuevos se instalarán, 0 para eliminar y 1 no actualizados.

Se necesita descargar 397 kB de archivos.

Se utilizarán 1.219 kB de espacio de disco adicional después de esta operación.

Des:1 http://ftp.es.debian.org/debian/ jessie/main aptitude-doc-es all 0.6.11-1 [397 kB]

Descargados 397 kB en 0s (5.061 kB/s)

Seleccionando el paquete aptitude-doc-es previamente no seleccionado.

(Leyendo la base de datos ... 139508 ficheros o directorios instalados actualmente.)

Preparando para desempaquetar .../aptitude-doc-es_0.6.11-1_all.deb ...

Desempaquetando aptitude-doc-es (0.6.11-1) ...

Configurando aptitude-doc-es (0.6.11-1) ...

12.2.3. Eliminar un paquete

Si queremos eliminar el paquete instalado antes:

root@debian:/home/josemariatc# apt-get remove aptitude-doc-es

Leyendo lista de paquetes... Hecho

Creando árbol de dependencias      

Leyendo la información de estado... Hecho

Los siguientes paquetes se ELIMINARÁN:

  aptitude-doc-es

0 actualizados, 0 nuevos se instalarán, 1 para eliminar y 1 no actualizados.

Se liberarán 1.219 kB después de esta operación.

¿Desea continuar? [S/n] s

(Leyendo la base de datos ... 139645 ficheros o directorios instalados actualmente.)

Desinstalando aptitude-doc-es (0.6.11-1) ...

Debian Tema 12.2: gestión de paquetes con la terminal  <- | ->   Debian - Tema 12.3: gestor de paquetes Synaptic
   GNU/Linux - Temario

Escribir un comentario

Aunque los comentarios no expresan la opinión del administrador del sitio web, éste si que tiene una responsabilidad legal sobre lo que aparece. Por lo tanto, habrá una labor de moderación de los mensajes. No se permitirán mensajes ofensivos ni publicidad


Código de seguridad
Refescar

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-Ley 13/2012, de 30 de marzo. Si continúa navegando consideramos que acepta el uso de cookies. . Más información