Administración Linux VI – Instalación de software i: El gestor de paquetes

Publicado el 15 enero 2015 por Instintobinario

Ya ha llegado la hora de dar uso a nuestro equipo. ¿Y qué mejor manera de hacerlo que instalar el software que necesitemos para nuestro trabajo? En éste sexto artículo de la serie Administración Linux voy a explicar los diferentes métodos de instalación de software en los sistemas Linux. Éste es el primer artículo de esta serie en el que la distribución elegida influye, y en este caso voy a explicar el método de instalación para Debian y sus derivados: Ubuntu, Mint, Mandriva… El motivo de que elija esta distribución es que es la más popular (ella y sus derivadas), además de ser la que manejo y me es más familiar. En futuros artículos puede que escriba algo sobre otras distribuciones.

Por lo general, la instalación del software es lo que más difícil suele resultar a los usuarios noveles de Linux. Esto es así porque no resulta tan intuitivo como en Windows, donde basta con obtener un CD con el software, o bien un ejecutable y seguir las instrucciones que nos indica por pantalla (por lo general: siguiente, siguiente, siguiente…). Sin embargo, las instalación de software no es tan difícil como puede parecer en un principio. Básicamente, en Linux existen tres formas de instalación de software: desde repositorios, mediante un paquete precompilado, y compilando desde el código fuente. En este artículo vamos a ver como se instala el software desde los repositorios, las otras dos formas las veremos en los dos siguientes artículos.

Instalación desde los repositorios

Éste es el método más directo fácil y cómodo. Su principal inconveniente puede ser la falta de algunos programas que busquemos y no se encuentren en los repositorios. Para los usuarios de Ubuntu, cuando se instala un programa desde el Centro de software, realmente se está utilizando una interfaz gráfica para instalar desde estos repositorios. A los programas en un repositorio los llamamos paquetes de software. Otra ventaja de la instalación de software desde repositorios es la facilidad de actualización del software.

Para la instalación de los paquetes alojados en un repositorio utilizamos el gestor de paquetes que, en Debian es el apt (Advanced Package Tool). Lo utilizamos mediante la interfaz apt-get, aunque ambas tienen varias opciones que se pueden consultar en la correspondiente página de manual (man apt o man apt-get).

Algunas cosas a saber antes de entrar a describir la herramienta apt-get, son: una dependencia es un paquete necesario para el correcto funcionamiento de otro. Cuando instalamos un paquete y no están todos los necesarios para que éste funcione nos da un error indicando los paquetes que faltan, y decimos que nos ha dado un error de dependencias.

   apt-get <herramienta> paquetes [<opciones>]

   Se puede aplicar la acción a varios paquetes a la vez poniéndolos uno tras otro separados por un espacio. Las herramientas no llevan el símbolo ‘-‘ precediéndolas como pasa con las opciones en todos los comandos.

Herramientas de descarga, instalación y desinstalación:

  • install → Instala los paquetes que se indican seguido de la palabra install. En caso de que ya estén instalados los actualiza. Si delante del paquete hay un guión (‘-‘), el paquete se desinstalará.
  • remove → elimina los paquetes que se indiquen seguido de la palabra remove. Los ficheros de configuración se conservan en el sistema. Si se escribe un signo de suma (‘+’) precediendo al nombre del paquete, éste se instalará en vez de borrarse.
  • purge → idéntico a remove, pero borra también los ficheros de configuración.
  • update → sincroniza el índice de paquetes desde sus fuentes. Es necesario ejecutar un update antes de un upgrade, ya que permite tener disponible la información de los nuevos paquetes.
  • upgrade → instala la versión más actual de todos los paquetes instalados en el sistema que se encuentre en los repositorios.
  • source → descarga al directorio actual los ficheros fuente correspondientes con el o los paquetes que se señalan. Estos paquetes serán compilados utilizando dpkg-builldpackage. Ésta opción puede ser más interesante para realizar acciones que detallaré en el capítulo correspondiente a la instalación de código mediante compilación, ya que es una forma cómoda de obtener los paquetes de código fuente a compilar.
  • download → descarga el paquete binario compilado.

Herramientas de limpieza:

  • clean → limpia el repositorio local de los ficheros de paquetes almacenados. En concreto elimina todo lo que haya en /var/cache/apt/archives/ y en /var/cache/apt/archives/partial/, excepto el archivo lock.
  • autoclean → funciona del mismo modo que el anterior, con la diferencia de que sólo elimina aquellos paquetes que ya no se pueden instalar o que son claramente inservibles.
  • autoremove → desinstala aquellos paquetes que se instalaron como dependencia de otros pero que ya no son necesarios.

Además de todas éstas herramientas, el gestor de paquetes dispone de diversas opciones que conviene tener en cuenta por su utilidad. Hay que tener en cuenta que no todas tienen sentido con todas las herramientas descritas arriba:

  • –no-install-recommends → No considera los paquetes recomendados como dependencia al instalar, instala sólo el paquete que se indica.
  • –install-suggests → Considera los paquetes sugeridos («Suggests») como una dependencia a instalar.
  • -d, –download-only → Sólo descarga los ficheros de los paquetes, no los desempaqueta ni los instala.
  • -f, –fix-broken → trata de corregir el sistema con la instalación de las dependencias que falten. Examina el sistema en búsqueda de paquetes que no funcionan por falta de otros e instala esos paquetes faltantes.
  • -s, –simulate, –just-print, –dry-run, –recon, –no-act → No realiza cambios en el sistema. Hace una simulación de lo que hubiese ocurrido si lo hubiese ejecutado de verdad.
  • -y, –yes, –assume-yes → toma en sí por defecto a todas las consultas que se deban hacer al usuario durante la ejecución.
  • –no-upgrade → utilizado junto a install, no actualiza los paquetes indicados en caso de estar instalados.
  • –only-upgrade → No instala paquetes nuevos, solo actualiza los que ya existan.
  • –reinstall → reinstala los paquetes ya instalados, incluso si es la versión más actual del mismo.
  • –autoremove → con el install o el remove, ésta opción ejecuta la instancia autoremove y elimina las dependencias en desuso.
  • –show-progress → muestra el progreso de forma amigable cuando los paquetes se instalan actualizan o eliminan.

Existen más opciones y herramientas, pero éstas son las más útiles. Para más información consultar el manual, como ya he indicado.

Antes de finalizar con la explicación de la instalación de software desde los repositorios hemos de saber de donde vienen los repositorios que utilizamos. Éstos se encuentran en el fichero: /etc/apt/sources.list, y apuntan a servidores de internet que pueden ser mantenidos por los mantenedores de una distribución o por terceros. Para añadir nuevos repositorios podemos editarestee archivo de forma directa o bien utilizarla orden add-apt-repository. Consultar el funcionamiento del fichero sources.list y de la orden add-apt-repository en el manual para obtener todos los detalles. Solo aclararé dos opciones de add-apt-repository:

  • -r, –remove → elimina el repositorio en lugar de añadirlo.
  • -s, –enable-source → habilita la descarga de paquetes de código fuente desde el repositorio.

Por último voy a decir que en otras distribuciones existen otros gestores de paquetes diferentes a apt-get, por ejemplo, en suse o redhat (entre otros) existe rpm con su interfaz yum, en Arch Linux existe el gestor Pacman.

El artículo Administración Linux VI – Instalación de software i: El gestor de paquetes apareció por primera vez en Instinto Binario.