Terminal

La mayoría de las distribuciones GNU/Linux cuentan con un gestor de paquetes o centro de software a través desde el cual podemos instalar, desinstalar o buscar nuestras aplicaciones, pero en algunos casos es necesario recurrir a la terminal para cumplir con las mismas funciones, ya sea por que el centro de software no realiza ciertas acciones que un gestor de paquetes para la linea de comandos si haría, por comodidad y rapidez (por absurdo que parezca, en muchas ocasiones es mucho mas rápido y fácil administrar nuestro sistema desde la terminal) o por que simplemente no podemos acceder a nuestro entorno gráfico.

En este post encontraran una guía de referencia para apt-get, apt-cache y algunos usos de dpkg, pero antes de entrar en materia, dejemos claro que es APT:

Se conoce como APT al fronteend_ más popular para el gestor de paquetes dpkg. Advanced Packaging Tool (Herramienta Avanzada de Empaquetado), abreviado APT, es un sistema de gestión de paquetes creado por el proyecto Debian. No existe un programa apt en sí mismo, sino que APT es una biblioteca de funciones que se emplea por varios programas de línea de comandos para distribuir paquetes. En especial: apt-get y apt-cache.

Comprendido lo anterior, veamos los parámetros más utilizados y los usos más comunes de ambas herramientas.

Estructura

Los ejemplos y definiciones mostrados en la presente guía serán ejecutados como superusuario o root a menos que se indique lo contrario. Utilice sudo o si lo prefiere, utilice sudo su en Ubuntu y derivadas o su - en Debian para acceder como root.

Los comandos apt-get y apt-cache tienen la siguiente estructura:

apt-get [-sqdyfmubV] [-o=cadena_de_configuración] [-c=archivo_de_configuración] [-t=versión_de_la_distribucion] {subcomando}

o:

apt-cache [-sqdyfmubV] [-o=cadena_de_configuración] [-c=archivo_de_configuración] [-t=versión_de_la_distribucion] {subcomando}

Donde:

  • Los parámetros introducidos entre corchetes ("[ ]") pueden ser opcionales.
  • La utilidad o herramienta descrita en {subcomando} será una de las acciones que se encuentre listada lineas abajo.

Parámetros

Los parámetros encerrados entre paréntesis se consideran idénticos u homólogos al primero operador.

  • -s (--simulate, --just-print, --dry-run, --recon, --no-act) ? Simula lo que hubiese ocurrido pero sin hacer cambios reales en el sistema.
  • -q (--quiet) ? Produce una salida de registro, omitiendo los indicadores de progreso. Si se especifican más "q" (hasta un máximo de 2) se conseguirá una salida más silenciosa. Tenga en cuenta que un nivel silencioso de 2 implica las acciones del parámetro -y, por lo tanto nunca se deberá usar "-qq" sin añadir un modificador para que no realice ninguna acción como "-d", "--print-uris" o "-s" para evitar que APT realice algo que usted no espera.
  • -d (--download-only) ? Sólo descarga los ficheros de los paquetes, no los desempaqueta ni los instala.
  • -y (--yes, --assume-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. apt-get terminará sin hacer nada de producirse una situación no deseada, como cambiar un paquete retenido, instalar un paquete sin autenticar o desinstalar un paquete esencial.
  • -f (--fix-broken) ? Intenta arreglar un sistema con dependencias actualmente rotas. Si se usa esta opción junto a "install"/"remove" se puede omitir cualquier paquete para permitir a APT deducir una posible solución.
  • -m (--ignore-missing, --fix-missing) ? No tiene en cuenta los paquetes que no se hayan podido descargar o que después de la descarga se encuentren dañados (ficheros de paquete corruptos), estos paquetes se retienen y se continúa con el resto. Usar esta opción junto con "-f" puede producir un error en algunas situaciones.
  • -u (--show-upgraded) ? Muestra los paquetes que se van a actualizar.
  • -b (--compile, --build) ? Descarga los paquetes fuente y luego los compila.
  • -V (--verbose-versions) ? Muestra las versiones completas para los paquetes actualizados e instalados.
  • -o=cadena_de_configuración (--option) ? Define una opción de configuración: Esto definirá una opción arbitraria de configuración. Se pueden usar varias veces para definir diferentes opciones. Reemplace cadena_de_configuración por la opción de configuración.
  • -c=archivo_de_configuración (--config-file) ? Fichero de configuración: Especifica el fichero de configuración a usar. El programa leerá el fichero de configuración predeterminado y después este fichero de configuración. Si necesita que ciertas opciones de configuración se definan antes que el análisis de los de los ficheros de configuración predeterminados, defina un fichero con la variable de entorno APT_CONFIG. Reemplace archivo_de_configuración por el fichero de configuración.
  • -t=versión_de_la_distribución (--target-release, --default-release) ? esta opción le da control sobre la distribución de la que se obtienen los paquetes. Algunos ejemplos comunes pueden ser: -t '2.1', -t unstable, -t sid. Reemplace versión_de_la_distribución por la versión deseada.

Es posible utilizar un solo parámetro de los indicados más arriba o combinarlos para obtener diferentes funcionalidades.

apt-get

Es la herramienta para la gestión de paquetes desde la línea de comandos, y se puede considerar el sistema de "bajo nivel" de otras herramientas de usuario que usan la biblioteca de APT. Existen varias interfaces de "alto nivel", tales como dselect, aptitude, synaptic y wajig.

apt-get install

Instalar o actualizar aplicaciones

apt-get install {aplicación1} {aplicación2} ... {etc}

apt-get install firefox

Instalar o actualizar varios paquetes:

apt-get install firefox thunderbird

Instalar aplicaciones sin actualizar los paquetes existentes en el sistema

apt-get install {aplicación} --no-upgrade

apt-get install firefox --no-upgrade

Instalar varias aplicaciones usando palabras clave

Al utilizar el carácter asterisco ("*") podemos instalar varias aplicaciones o paquetes que concuerden con un patrón de búsqueda.

apt-get install {aplicación*}

apt-get install firefox*

Este comando instalaría los siguientes paquetes junto con sus dependencias en mi sistema:

...
firefox-dev firefox-gnome-support-dbg firefox-launchpad-plugin
firefox-locale-af firefox-locale-ar firefox-locale-as
firefox-locale-ast firefox-locale-be firefox-locale-bg
firefox-locale-bn firefox-locale-br firefox-locale-bs
firefox-locale-ca firefox-locale-cs firefox-locale-csb
firefox-locale-cy firefox-locale-da firefox-locale-de
firefox-locale-el firefox-locale-eo firefox-locale-et
firefox-locale-eu firefox-locale-fa firefox-locale-fi
...

Instalar una versión especifica de una aplicación

apt-get install {aplicación}={versión}

apt-get install firefox=19.0.2+build1-0ubuntu0.12.04.1

Actualizar únicamente los paquetes especificados

apt-get install {aplicación} --only-upgrade

apt-get install firefox --only-upgrade

Reinstalar una aplicación

apt-get --reinstall install {aplicación}

apt-get --reinstall install firefox

Usos especiales

Simulará la instalación de la aplicación y le mostrará los paquetes se serán instalados y configurados:

apt-get -s install firefox

Instalar paquetes sin solicitar confirmación:

apt-get -y install firefox

Intentar reparar un sistema con dependencias actualmente rotas:

apt-get -f install

En caso de que un problema de dependencias persista, realizar lo siguiente:

  • Abrir el archivo: /var/lib/dpgk/info con algún editor de textos, revisar los paquetes que tengan conflictos y desinstalarlos del sistema.
  • Reconfigurar dpkg, actualizar el equipo, eliminar los paquetes huérfanos y eliminar los paquetes almacenados en el caché de apt:
    dpkg --configure -a
    apt-get update
    apt-get dist-upgrade
    apt-get autoremove
    apt-get clean

apt-get update

Actualizar los repositorios del sistema

apt-get update

apt-get upgrade

Existen 2 maneras para actualizar las aplicaciones y paquetes instalados en el sistema: upgrade y dist-upgrade. La diferencia entre ambos radica en lo siguiente: El subcomando apt-get upgrade actualiza los paquetes instalados a una nueva versión disponible. Estos se descargan y actualizan, pero bajo ninguna circunstancia se desinstalarán paquetes existentes, o se instalarán paquetes nuevos (las actualizaciones de estos paquetes y aplicaciones se retienen). Mientras que el subcomando apt-get dist-upgrade realizar la mayoría de las acciones de apt-get upgrade, pero resuelve inteligentemente los cambios de dependencias debidos a las nuevas versiones de paquetes, actualizando los paquetes más importantes a costa de los menos importantes; llegando incluso a remplazar aplicaciones o paquetes existentes en el sistema. El uso que el usuario le dé a ambos subcomandos dependerá de una situación especifica.

Actualizar aplicaciones y paquetes del sistema

apt-get upgrade | apt-get dist-upgrade

apt-get dist-upgrade

Usos especiales

En algunos casos es conveniente descargar únicamente las actualizaciones de las aplicaciones y sus dependencias para instalarlos posteriormente. Un ejemplo practico podría ser: Dejar descargando las actualizaciones por la noche para posteriormente instalarlas durante el transcurso del día siguiente, asegurando con esto la supervisión de las configuraciones automáticas o mensajes de error. Para efectuar este procedimiento, primero descargamos las actualizaciones:

apt-get upgrade -d | apt-get dist-upgrade -d

apt-get dist-upgrade -d

Para posteriormente aplicar la actualización:

apt-get upgrade | apt-get dist-upgrade

apt-get dist-upgrade

apt-get remove

Existen 2 maneras de desinstalar aplicaciones y paquetes del sistema: remove y purge. El subcomando apt-get remove desinstala los paquetes o aplicaciones sin eliminar sus archivos de configuración. Esto le puede ser útil si en un futuro desea volver a instalar dicho paquete o aplicación y recuperar sus configuraciones previas. El subcomando apt-get purge desinstala los paquetes o aplicaciones eliminando sus archivos de configuración definitivamente. Cabe destacar que puede emplear ambos subcomandos en una sola instrucción: apt-get remove --purge el cual cumple con la misma funcionalidad que el subcomando purge. Con la ayuda de los subcomandos anteriores puede desintalar indistintamente uno o más paquetes a la vez.

Desinstalar aplicaciones y paquetes del sistema

apt-get remove {aplicación1} {aplicación2} ... {etc} | apt-get purge {aplicación1} {aplicación2} ... {etc} | apt-get remove --puge {aplicación1} {aplicación2} ... {etc}

apt-get remove --puge firefox

Usos especiales

Desinstalar aplicaciones y paquetes del sistema sin solicitar confirmación:

apt-get -y remove {aplicación1} {aplicación2} ... {etc} | apt-get -y purge {aplicación1} {aplicación2} ... {etc} | apt-get -y remove --puge {aplicación1} {aplicación2} ... {etc}

apt-get -y remove --puge firefox

Eliminar todas las configuración de todos los paquetes que hayan sido eliminados del sistema:

dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge

apt-get autoremove

Eliminar automáticamente las dependencias que se descargan para cumplir otras dependencias pero que ya no son necesarias

apt-get autoremove

Eliminar una aplicación o paquete incluyendo todas sus dependencias

apt-get autoremove firefox

apt-get clean

Existen 2 maneras de eliminar los paquetes almacenados en el caché del sistema: clean y autoclean. El subcomando apt-get clean elimina la totalidad de los paquetes almacenados, una vez eliminados todos los paquetes, será necesario descargarlos una vez más para poder hacer uso de los mismos. El subcomando apt-get autoclean únicamente elimina los paquetes inservibles que se encuentren almacenados en el caché del sistema, permitiéndole conservar el resto de paquetes. El uso que el usuario le dé a ambos subcomandos dependerá de una situación especifica.

Eliminar paquetes almacenados en el caché del sistema

apt-get clean | apt-get autoclean

apt-get autoclean

apt-get download

Descargar paquetes sin que se instalen en el sistema dentro del directorio de trabajo actual

apt-get download {aplicación1} {aplicación2} ... {etc}

apt-get download firefox

apt-get source

Descargar y desempaquetar un paquete en el directorio de trabajo actual

apt-get source {aplicación}

apt-get source firefox

apt-get --download-only source

Descargar únicamente el código fuente del paquete

apt-get --download-only source {aplicación}

apt-get --download-only source firefox

apt-get --compile source

Descargar, desempaquetar y compilar un paquete

apt-get --compile source {aplicación}

apt-get --compile source firefox

apt-get changelog

Revisar listado de cambios (changelog) del paquete y mostrarlo

apt-get changelog {aplicación}

apt-get changelog firefox

apt-get check

Verificar dependencias incumplidas

El subcomando check es una herramienta de diagnóstico, actualiza el caché de paquetes y revisa la existencia de dependencias rotas:

apt-get check

apt-get build-dep

Buscar y construir dependencias

Busca en los repositorios locales del sistema e instala las dependencias necesarias para la construcción de paquetes. Si el paquete no existe en el repositorio local devolverá un código de error.

apt-get build-dep {aplicación}

apt-get build-dep firefox

dpkg

Retener o bloquear las actualizaciones de un paquete

Bajo algunas circunstancias es necesario o deseable el mantener un paquete o aplicación sin actualizar. Un ejemplo podría ser el kernel.

  • Como root:

echo "{aplicación} hold" | dpkg --set-selections

  • Usando sudo:

echo "{aplicación} hold" | sudo dpkg --set-selections

Ejemplo:

echo "firefox hold" | sudo dpkg --set-selections

Dejar de retener o bloquear las actualizaciones de un paquete

  • Como root:

echo "{aplicación} install" | dpkg --set-selections

  • Usando sudo:

echo "{aplicación} install" | sudo dpkg --set-selections

Ejemplo:

echo "firefox install" | sudo dpkg --set-selections

Independientemente de que no utilicemos todas las funcionalidades de las que dispone APT, esta guía nos ayuda a descubrir los posibles usos que podemos obtener de la misma. En un próximo post veremos el uso de apt-cache.

 

Fuente: perseosblog

¿Quién está en línea?

Hay 16932 invitados y ningún miembro en línea