Latinoamérica
de.novatoanovato@gmail.com

Gestor de paquetes Pacman (Segunda parte)

Gestor de paquetes Pacman (Segunda parte)

Gestión de paquetes con pacman

Antes de comenzar, me gustaría sugerirte la primera parte de este artículo sobre el gestor de paquetes emblema de Archlinux: pacman.

Sintaxis

# pacman [parámetros][opciones][paquetes]

Sincronizar repositorios

La versión 2.0 de pacman introdujo la posibilidad de sincronizar paquetes con un servidor principal, a través del uso de bases de datos del paquete. Antes de esto, los paquetes tenían que ser instalados manualmente utilizando las operaciones –add y –upgrade.

La sincronización de la base de datos local de paquetes con los repositorios remotos se lleva a cabo bajo el siguiente comando:

# sudo pacman -Sy

En este caso, los repositorios están sincronizados con la base de datos local. Aun así, es posible forzar la sincronización. Esta acción la podemos realizar bajo el siguiente comando:

# sudo pacman -Syy

Actualización de sistema

Pacman puede actualizar todos los paquetes del sistema con un comando. En este punto me detengo con dos consejos sobre la actualización que aportan a la estabilidad del sistema y podrían evitarnos eventualidades.

-Procurar no dejar pasar mucho tiempo sin actualizar. Hay quienes recomiendan períodos de no más de 30 días.
-Siempre que se necesite instalar un paquete, es recomendable sincronizar repositorios y hacer una actualización del sistema antes de ejecutar la instalación.

Sin más, el comando que nos permite actualizar el sistema es el siguiente:

# sudo pacman -Su

En la imagen anterior podremos visualizar la lista de paquetes que se van a actualizar y los distintos tamaños, en totales, que van a ocupar las distintas etapas de la actualización. Pero… ¿es esta la manera correcta de actualizar nuestro sistema operativo? Lo cierto es que no, ya que si previamente no sincronizamos la base de datos con la de los repositorios, esto podría ocasionarnos problemas de dependencias.

Para evitarnos este tipo de eventualidades, la manera correcta de actualizar nuestro sistema operativo es la siguiente:

sudo pacman -Syyu o en su defecto sudo pacman -Syu

Combinando la opción de sincronización con la de actualización.


En donde se lee:

-La sincronización (en este caso forzada) de la base de datos con los repositorios.
-La resolución de dependencias respecto de los paquetes que se van a actualizar.
-Los conflictos que podrían traer los paquetes que van a ser actualizados (en caso de tenerlos se nos lo imprimirá en pantalla).
-El total y la lista de paquetes que van a ser actualizados junto a su versión.
-Y los tamaños en total que van a ser parte de cada etapa de la actualización.

Estando de acuerdo con la información que se nos imprime en pantalla, podremos autorizar la actualización.

Instalación de paquetes

 

Instalación de paquetes desde los repositorios

Si conocemos el nombre del paquete que queremos instalar, ejecutamos la siguiente sintaxis de instalación de paquetes:

sudo pacman -S "paquete"

Para el siguiente ejemplo instalaremos el paquete “nmap”.

-En primera instancia, pacman verifica si el paquete solicitado tiene las dependencias cumplidas para poder funcionar correctamente. En caso de no estar satisfechas, solicitará instalar las necesarias para su instalación y correcto funcionamiento.
-En segundo lugar, buscará conflictos entre el o los paquetes que van a ser instalados. Notificará en caso de encontrar alguno.
-En tercer lugar, nos enumerará y listará la cantidad de paquetes que van a ser instalados y sus versiones. Para este caso, “nmap-7.70-2”.
-En cuarto y último lugar, nos indicará el tamaño total de la instalación que se va a llevar a cabo.

Continuamos con la instalación con un simple “Enter”.

Pero volvemos a preguntarnos, ¿es esta la forma correcta de instalar un paquete? Claro que no. Ya que no sabemos si está la base de datos sincronizada con los repositorios ni si nuestro sistema se encuentra actualizado. Lamento ser redundante con este tema, pero me gustaría que quede claro que tener estas cosas en cuenta siempre que trabajemos con paquetes hacen a la estabilidad de nuestro sistema y a su correcto funcionamiento.

Para ello, pacman nos permite hacer toda la petición en una sola linea de comandos haciendo uso de su sintaxis.

sudo pacman -Syyu nmap

 

Instalación de varios paquetes simultáneos desde repositorios

Pacman hace posible la instalación de varios paquetes de forma simultánea. Haciendo uso de su sintaxis, veamos un ejemplo de cómo llevar a cabo esta petición:

sudo pacman -Syyu paquete1 paquete2 paquete3...


Para este ejemplo utilicé tres paquetes conocidos: htop, nmap y vim.

Eliminar paquetes

El gestor de paquetes pacman, a través de sus sintaxis y sus parámetros, nos permite administrar de forma completa la forma en la que queremos proceder con la eliminación de paquetes, dependencias y archivos de configuración según necesitemos.

Sintaxis

sudo pacman [parámetro] [opciones] [paquete]

Eliminar un paquete

Para eliminar un solo paquete, hacemos uso del parámetro “-R” e indicamos el nombre del paquete. Debe tenerse en cuenta que, haciendo uso de este método, las dependencias de las que el paquete en cuestión y los archivos de configuración del que este hacía uso quedarán en nuestro sistema. En algunos casos las dependencias pueden quedar en uso por otros paquetes, pero, en otros, los paquetes suelen quedar sin satisfacer ninguna necesidad. A estos paquetes los denominamos “huérfanos”.

sudo pacman -R nmap

Como observamos en la imagen, sólo tomará el paquete que le indicamos.

Eliminar un paquete y sus dependencias

En el caso de que queramos eliminar un paquete y sus dependencias, utilizaremos el parámetro “-R” y la opción “s”, donde se identificarán las dependencias -en caso de haberlas- del paquete en cuestión y que no estén siendo utilizadas por ningún otro paquete o conjunto de paquetes.

sudo pacman -Rs vim

En la imagen se puede observar que pacman identificó una dependencia, que de eliminarse sólo el paquete, quedaría huérfana (vim-runtime).

Si solamente eliminásemos el paquete “vim”, como en el caso anterior (eliminar un paquete), pacman no tendría en cuenta sus dependencias. Veamos…

sudo pacman -R vim

De esta forma la dependencia “vim-runtime” quedaría huérfana en nuestro sistema.

Eliminar un paquete, sus dependencias y las dependencias de las dependencias

Antes que nada, es importante hacer mención sobre el cuidado que se debe tener a la hora de trabajar con esta opción, ya que es recursiva y debe utilizarse entendiendo bien lo que se esta haciendo y con precaución, porque puede eliminar muchos paquetes potencialmente necesarios.

sudo pacman -Rsc qt4


Para este ejemplo intentamos eliminar el paquete “qt4” bajo el parámetro “-R” opción “s”. Si lo intentamos hacer directamente, pacman no nos lo permitirá, ya que otros paquetes dependen de este para su correcto funcionamiento. Pero si hacemos uso de la opción “c” junto a las anteriores, pacman, bajo estos parámetros, eliminará no sólo el paquete y sus dependencias, sino que también eliminará los paquetes que de este dependían, junto a sus dependencias recursivamente.

Eliminar un paquete y los archivos de configuración

Pacman, al momento de eliminar un paquete, guarda los archivos de configuración de estos al ser removidos y los renombra con la extensión “.pacsave”. Para evitar que estos sean guardados, haremos uso de la opción “n” bajo el parámetro “-R”.

sudo pacman -Rn moc

El paquete “moc” es un reconocido reproductor de música por consola. Para personalizarlo debemos hacer uso de su archivo “confg”. Al momento de eliminar este paquete, su archivo de configuración se guardaría bajo la extensión “.pacsave”. Esto es útil, ya que si volvemos a instalar el paquete, su archivo de configuración se restaurará tal cual lo teníamos configurado, ahorrándonos la tarea de tener que volver a configurarlo.

Si se da el caso donde no necesitemos guardar la configuración de los paquetes que eliminemos, esta opción sería conveniente y se complementaría muy bien con “sudo pacman -Rsn”, donde eliminaría el paquete, las dependencias que queden huérfanas, y evitaría que se conserven los archivos de configuración.

Para obtener mas información sobre cada operación, recomendamos ejecutarla seguida de ‘”-help” (por ejemplo: “pacman -R –help”) o acudir al manual de pacman “man pacman”.

Fuente: Wiki Archlinux.

Espero sea de utilidad.

Saludos Cristian.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada.