Administrando paquetes con Pacman [Arch Linux].
![Administrando paquetes con Pacman [Arch Linux].](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1753943298243%2Fdcbe4a3d-a66e-4bc4-b0b0-8adfe5959e2f.jpeg&w=3840&q=75)
Search for a command to run...
![Administrando paquetes con Pacman [Arch Linux].](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1753943298243%2Fdcbe4a3d-a66e-4bc4-b0b0-8adfe5959e2f.jpeg&w=3840&q=75)
No comments yet. Be the first to comment.
Flameshot is one of those tools I end up using all the time. It is simple, lightweight, and just works for quick screenshots. You can capture, annotate, blur sensitive data, and copy straight to the c

After 6 or 7 years on Hack The Box, competing, failing, learning, and coming back again, I finally reached the Top 7 worldwide. The number itself is not what matters most, but everything behind it: ti

Anonymous SMB and NTLM theft enable Kerberoasting; forged silver tickets and MSSQL/token impersonation achieve SYSTEM.

In the Cybersecurity world, paranoia is part of daily life. We usually talk about flaws in terms of exploits, payloads, or bypasses. However, not all failures are due to bugs. Sometimes, it's the product design itself, which can be even more alarming...

INFO: Ports and Services 53/tcp open domain 88/tcp open kerberos-sec 135/tcp open msrpc 139/tcp open netbios-ssn 389/tcp open ldap 445/tcp open microsoft-ds 464/tcp open kpasswd5 593/tcp open http-rpc-epmap 636/tcp open ldapssl 32...

Pacman es el gestor de paquetes de Arch linux por excelencia, por estandar y oficial.
El objetivo principal del mismo es facilitar las instalaciones de las aplicaciones según nuestras necesidades en el sistema Arch.
Pacman mantiene el sistema actualizado sincronizándose con la lista de paquetes del servidor principal. Esto permite que con un simple comando se proceda la descarga, instalación del programa y resolución de dependencias necesarias si es que asi lo requiere para que el software funcione correctamente.
Antes de pasar a los comandos utiles para gestionar pacman, hay que entender algunos conceptos que rodean a la gestion de paquetes en el sistema.
Cuando hablamos de mirrors estamos refiriendonos a servidores “Espejo” por su traducción en ingles, que almacenan los paquetes y metadatos necesarios para gestionar el software. Cuando buscamos y descargarmos un paquete por ejemplo de office, nuestra pc se conecta a un servidor principal o ‘mirror’ que contiene los repositorios oficiales. Debido a la alta demanda y trafico de cientos de personas queriendo instalar distintos paquetes al mismo tiempo, un solo servidor principal no daría abasto a cubrir todo. Es por eso que se usan multiples servidores de ‘espejo’ distribuidos en distintas partes del mundo, para una mejor respuesta a nivel conexion y una liberacion de carga del servidor principal.
En el siguiente link dejo El Pacman Mirrorlist Generator, el cual con solo elegir el país que queramos nos generara el output necesario para configurar la lista de servidores donde iremos a buscar los paquetes al momento de instalación.
El archivo a editar en cuestión se encuentra ubicado en /etc/pacman.d/mirrorlist
Lo optimo de configurar un sistema para utilizar mirrors especificos es que permite que Pacman seleccione automaticamente el servidor que seteamos de cercania, haciendo mas rapido el proceso de descarga de paquetes.
Nota: Me ha pasado que he tenido que configurar servidores de Brasil, y no siendo mi pais de origen, pero porque los servidores nacionales estaban o saturados o el ancho de banda de los servidores de Brasil los duplicaba y los tiempos de respuestas eran menores.
Los repositorios son una colección de software y paquetes, los cuales generalmente estos son mantenidos por la comunidad de usuarios de Arch y por sus desarrolladores permitiéndonos instalarlos en nuestro sistema.
Recordemos que Arch es Rolling Release, es un modelo continuo de actualización, cada paquete en los repositorios se suelen actualizar constantemente y eliminando la versión anterior.
Existen varios tipos de repositorios en donde iremos a buscar software con fuentes confiables, estables y seguras, detallo los mas destacados:
Repositorio Core → En este repos encontraremos todo lo relacionado a paquetes esenciales para el funcionamiento básico del sistema, drivers, kernel, y demas utilidades para el mismo. Como bien dice la Wiki de Arch:
(**Core tiene requisitos de calidad bastante estrictos. Los desarrolladores/usuarios deben aprobar las actualizaciones antes de que se acepten las actualizaciones de paquetes. Para paquetes con poco uso, una exposición razonable es suficiente: informar a las personas sobre la actualización, solicitar aprobaciones, mantener testing hasta una semana dependiendo de la gravedad del cambio, falta de informes de errores pendientes, junto con la aprobación implícita del mantenedor del paquete.)
/etc/pacman.conf.
AUR (Arch User Repository) es un repositorio de software mantenido por la comunidad de usuarios de Arch Contiene una amplia variedad de paquetes que no están disponibles en los repositorios oficiales.
Los paquetes en AUR son mantenidos por los propios usuarios y pueden ser software nuevo, versiones actualizadas de aplicaciones existentes, software experimental o paquetes personalizados. Los usuarios pueden buscar, descargar e instalar paquetes desde AUR utilizando herramientas de gestión de paquetes como “yay” o “paru“. AUR proporciona una forma adicional de acceder a software y ampliar las opciones de personalización en Arch Linux.
Bueno vamos a la acción y veamos algunos comandos destacados para el correcto uso de Pacman en Arch que nos van a permitir administrar de forma fácil y eficaz los paquetes instalados.
pacman -Q

Si al comando anterior le agregamos una ‘s’ nos daría info de la descripcion de esos paquetes. Podemos pasarle un nombre de paquete en especifico ejemplo:
pacman -Qs nmap

Con el siguiente comando podremos verificar cuantos archivos instalo en nuestro sistema un paquete determinado.
pacman -Qk nmap
Y con el siguiente conocer cuales son y sus rutas (se utiliza head para filtrar a los primeros 10 resultados debido a que la lista era muy larga y no viene al caso):
pacman -Ql nmap

Bien ahora supongamos que estamos en dudas, y siguiendo con el ejemplo de arriba, queremos verificar a quien pertenece el archivo “nping” ubicado en la ruta /usr/bin/nping. Podemos comprobarlo de este modo:
pacman -Qo

Bien ahora teniendo como base lo anterior, procedemos a ver como instalar paquetes y gestionar info sobre los mismos.
Con el siguiente comando comprobamos si la base de datos está actualizada, si no lo está, vamos a sincronizar con cada uno de los repositorios y actualizarlos. Si esta actualizado no va a hacer mas nada.
sudo pacman -Sy
Con este comando vamos a comprobar si hay actualizaciones en algunos de los paquetes que tengamos instalados en el sistema:
sudo pacman -Syu
Pacman nos permite instalar un paquete solo o varios de una sola vez. (Para proceder con la instalacion es necesario de sudo o root).
sudo pacman -S <paquete_1> <paquete_2>
Como vemos a continuación en este caso intento instalar dos paquetes, pingus y pingcastle. Siempre tiene que haber un espacio entre cada paquete a instalar. Vemos como Pacman se encarga de verificar si requiere dependencias para cada uno de esos paquetes y si es así instalarlas ademas de revisar por conflictos con la instalación de dichos paquetes.
Por ultimo nos informa del tamaño a descargar y de lo que ocupara instalado.

Pocas veces, pero posibles, puede suceder que simplemente queramos descargar paquetes pero no instalarlos en el momento. Esto se hace de la siguiente forma:
sudo pacman -Sw <paquete>
Siguiendo con el ejemplo del paquete pingus, en este caso descargaremos el paquete

De este modo solo bajaremos el paquete. Y según el archivo pacman.conf, nos dice que estos archivos seran descargados en la ruta /var/cache/pacman/pkg.
En el siguiente ejemplo instalaremos el paquete.
Si nos dirijimos a la ruta anteriormente mencionada, /var/cache/pacman/pkg , veremos cientos de paquetes en este cache que pacman ha gestionado previamente para instalar. En principio vemos que las extensiones son .tar.zst y .sig. El primero es el archivo del paquete en cuestion y los segundos son archivos de firma digital el cual sirven para verificar la autenticidad e integridad de los paquetes de software que descargamos.
Buscamos el paquete que habiamos descargado previamente y no instalado.
Podemos alistarlo facilmente y luego con grep destacarlo y posteriormente procedemos a instalarlo con el siguiente comando:
sudo pacman -U <paquete.tar.zst>
Vemos el ejemplo:

Del mismo modo podemos instalar con el flag -U paquetes desde una URL como en el siguiente caso:

Del siguiente modo le decimos a pacman que borre un determinado paquete del sistemas, esto no borra las dependencias instaladas:
sudo pacman -R nmap

Si a este mismo comando le agregamos el flag “s” eliminariamos tambien todas las depdencias que no son necesarias para otros paquetes instalados.
sudo pacman -Rs nmap
En caso de que tengamos dudas de el nombre del paquete que buscamos o si ese paquete es lo que realmente estamos buscando, podremos realizar una simple búsqueda del siguiente modo:
pacman -Ss nmap
Pero de este modo tiende a buscarlo tanto en el nombre del paquete como en la descripcion y eso puede obtener muchos resultados tediosos o desprolijos en cantidad.
Con la siguiente expresion regular se podria simplificar mucho, tal cual lo dice en la Wiki.
pacman -Ss '^nmap'

Generalmente luego de varias instalaciones y desinstalaciones, pacman no termina por eliminar los archivos que se encuentran en el cache:
/var/cache/pacman/pkg
Con el pasar del tiempo, esta carpeta comienza a ganar peso y no esta de mas hacer un clean up de los mismos con el siguiente comando:
sudo pacman -Sc

BlackArch es una distribucion Linux de Penetration Testing. Por ende tiene un repositorio colmado de herramientas de hacking y auditorias de seguridad. Si te dedicas al pentesting, no puede faltarte en tu sistema Arch.
1 - Bajamos el archivo strap.sh
https://blackarch.org/strap.sh
2 - Verificamos siempre el hash sum para comprobar que no fue alterado. Deberia devolvernos un OK!
echo 5ea40d49ecd14c2e024deecf90605426db97ea0c strap.sh | sha1sum -c
3 - Le damos permisos de ejecución:
chmod +x strap.sh
4 - Lo ejecutamos con sudo:
sudo ./strap.sh
Listo, ahora para listar todas las herramientas disponibles:
sudo pacman -Sgg | grep blackarch | cut -d' ' -f2 | sort -u
Veran que son muchisimas. Instalen las que le guste o necesiten. Hasta aca el paper, espero haya sido de uitilidad.
Saludos.
shkz.