Util-linux, una colección de utilidades Linux que no te puede hacer falta
La mayor parte de las distribuciones de Linux vienen equipadas con una gran cantidad de utilidades, de las cuales muchas de ellas son desarrolladas con propósitos generales y por ello podemos encontrarlas en muchas distribuciones de Linux.
El caso de hacer mención de esto, es que hace poco se dio a conocer una nueva versión de Util-linux, la cual es básicamente una navaja suiza de utilidades para tu distribucion.
Sobre Util-linux
Util-linux incluye tanto utilidades estrechamente relacionadas con el kernel de Linux como utilidades de propósito general. Algunas de las utilidades más destacables son las utilizadas para montar, desmontar, formatear, participar y manejar dispositivos de disco, abrir puertos de consola o capturar los mensajes del núcleo.
Dentro de las aplicaciones que se encuentran en Util-linux, están: agetty, arch, blockdev, cal, cfdisk, chkdupexe, col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, dmesg, elvtune, fdformat, fdisk, fsck.cramfs, fsck.minix, getopt, hexdump, hwclock, ipcrm, ipcs, isosize, kill, line, logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap, more, mount, namei, parse.bash, parse.tcsh, pg, pivot_root, ramsize (enlace a rdev), raw, rdev, readprofile, rename, renice, rev, rootflags (enlace a rdev), script, setfdprm, setsid, setterm, sfdisk, swapoff (enlace a swapon), swapon, test.bash, test.tcsh, tunelp, ul, umount, vidmode, whereis y write
Principales novedades de Util-linux 2.39
En esta nueva versión que se presenta de Util-linux 2.39 la utilidad de mount y la biblioteca libmount han agregado soporte para una nueva API del kernel de Linux para controlar cómo se montan los sistemas de archivos en función de los espacios de nombres de montaje.
En la nueva API, en lugar de la función mount(), se utilizan funciones separadas para manejar diferentes etapas del montaje (procesar el superbloque, obtener información sobre el sistema de archivos, montar, adjuntar al punto de montaje). Se menciona que se ha conservado la compatibilidad de libmount con los kernels de Linux antiguos y la API de montaje anterior.
El uso de la nueva API de montaje hizo posible implementar soporte para mapear los ID de usuario de los sistemas de archivos montados, que se usa para mapear archivos de un usuario específico en una partición foránea montada con otro usuario en el sistema actual. Para controlar el mapeo, se agregó la opción «X-mount.idmap=» a la utilidad de montaje.
Otro de los cambios que se destaca, se agregaron nuevas opciones en mount para detectar automáticamente un sistema de archivos de un tipo particular, para cambiar el propietario, grupo, y el modo de acceso después del montaje, y para establecer el contexto de SELinux para el sistema de archivos.
Ademas de ello, tambien se destaca que se ha agregado soporte para pidfd y AF_NETLINK, AF_PACKET, AF_INET y AF_INET6 sockets a la utilidad lsfd, se ha agregado la visualización de nombres de procesos modificados de proc/$pid/fd.
En dmesg, la salida con precisión de fracciones de segundo se implementa cuando se usan las opciones «–since» y «–until», la opción «–level» tiene la capacidad de especificar un prefijo/sufijo «+» para mostrar todos los niveles con números mayores o menores que el especificado.
- La utilidad cal ha agregado soporte para personalizar la salida de color a través de terminal-colors.d.
- La opción «–types» se agregó a la utilidad fstrim para filtrar por tipo de FS.
- blkid y libblkid agregaron soporte para el sistema de archivos bcachefs y habilitaron el cálculo de sumas de verificación para el sistema de archivos y RAID.
- Se agregó la opción «–env» a nsenter para pasar variables de entorno.
- Se agregó la opción «-Z» a namei para mostrar los contextos de SELinux.
- Soporte mejorado Meson.
- Se agregó soporte para el argumento «recursive» para las banderas de VFS (por ejemplo, «mount -o bind,ro=recursive»).
- Se agregó la opción «–disable-libmount-mountfd-support» para forzar la desactivación de la nueva API.
- Se agregó el comando blkpr para reservar bloques en unidades SCSI o NVMe.
- Se agregó el comando pipesz para configurar o verificar el tamaño del búfer para tuberías y FIFO sin nombre.
- Se agregó el comando waitpid para esperar un cambio en el estado de un proceso arbitrario (por ejemplo, la finalización de la ejecución).
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
Instalación
Para los interesados en poder instalar Util-linux, deben saber que la instalación es sencilla y solo deben abrir una terminal y en ella van a teclear los siguientes comandos:
git clone https://github.com/util-linux/util-linux.git
cd util-linux
./configure
make HAVE_SLN=yes
make HAVE_SLN=yes install