Software en Linux: instalación mediante línea de comandos

En el post anterior introdujimos los conceptos fundamentales referidos a la administración de paquetes. En esta oportunidad veremos cómo instalar, actualizar, y remover software en Linux mediante la línea de comandos.

Software en Linux: instalación

Para instalar archivos .deb (el formato predeterminado para Debian y derivados), utilizaremos dpkg seguido de la opción -i o --install y de la ruta al archivo a instalar. Por ejemplo, para instalar virtualbox-5.0_5.0.26-108824~Ubuntu~precise_amd64.deb (la última versión de VirtualBox para Ubuntu Precise), debemos hacer lo siguiente (asumimos que el archivo se encuentra en el directorio actual):

[pastacode lang=»markup» manual=»sudo%20dpkg%20-i%20virtualbox-5.0_5.0.26-108824~Ubuntu~precise_amd64.deb» message=»» highlight=»» provider=»manual»/]

En el comando anterior utilizamos el comando sudo para correr el comando con permisos de superusuario. Si posteriormente quisiéramos instalar una nueva versión del mismo programa mediante un archivo .deb más reciente, podemos utilizar el mismo comando.

Para instalar archivos .rpm en CentOS y familiares, emplearemos una herramienta llamada del mismo modo (rpm). Si bien la misma dispone de una opción -i (--install), personalmente prefiero utilizar -Uvh seguido de la ruta al archivo .rpm. La diferencia con respecto a la primera es que -U (de upgrade) permite tanto instalar el paquete como actualizar el programa a una versión más reciente si ya se encuentra presente en el sistema. Por ejemplo, para instalar un paquete llamado miprograma.rpm, haríamos lo siguiente:

[pastacode lang=»bash» manual=»rpm%20-Uvh%20miprograma.rpm» message=»» highlight=»» provider=»manual»/]

Sin embargo, quizás la manera más práctica de instalar un programa determinado (si es que se encuentra en los repositorios de nuestra distribución, o si la versión disponible cumple con nuestras necesidades), es utilizar el gestor de paquetes. El mismo contiene todas las utilidades necesarias para satisfacer las dependencias requeridas y configurar el programa ya instalado (en síntesis, ¡nos ahorra mucho trabajo!).

En Debian y derivados, usaremos apt-get o aptitude para realizar esta tarea:

[pastacode lang=»bash» manual=»aptitude%20install%20miprograma» message=»» highlight=»» provider=»manual»/]

Mientras que en CentOS emplearemos yum:

[pastacode lang=»bash» manual=»yum%20install%20miprograma» message=»» highlight=»» provider=»manual»/]

¿Cómo podemos saber el nombre del programa que necesitamos instalar? Debian es la distribución actual con mayor cantidad de paquetes disponibles y personalmente encuentro útil buscar paquetes en el sitio web del proyecto, ya que la información se encuentra muy bien organizada allí.

Para conocer más información sobre un paquete en particular podemos usar uno de los siguientes comandos, según corresponda:

[pastacode lang=»bash» manual=»aptitude%20show%20miprograma» message=»» highlight=»» provider=»manual»/]

o

[pastacode lang=»bash» manual=»yum%20info%20miprograma» message=»» highlight=»» provider=»manual»/]

Nota: No todos los paquetes de Debian estarán disponibles para otras distribuciones. Los comandos anteriores regresarán información sobre miprograma siempre y cuando el mismo esté disponible en alguno de los repositorios configurados en nuestro sistema.

Desinstalación

Para llevar a cabo la desinstalación de software en Linux, es conveniente utilizar el gestor de paquetes de nuestra distribución. En Debian, aptitude dispone de dos opciones útiles: remove y purge. La primera elimina el paquete en cuestión sin borrar sus archivos de configuración (cosa que sí hace la segunda).

[pastacode lang=»bash» manual=»aptitude%20remove%20miprograma%20%23%20Desinstalar%20sin%20eliminar%20configuraciones%0Aaptitude%20purge%20miprograma%20%23%20Eliminar%20todo!» message=»» highlight=»» provider=»manual»/]

En CentOS, yum solamente dispone de la opción remove, la cual cumple la misma función que para aptitude. Por ejemplo,

[pastacode lang=»bash» manual=»yum%20remove%20postfix» message=»» highlight=»» provider=»manual»/]

eliminará el servidor de correo pero dejará los archivos de configuración en su ubicación actual, aunque usualmente los renombrará para evitar conflictos con posibles instalaciones futuras.

Espero que este post les haya servido. ¡Hasta la próxima!