Se ha publicado una nueva versión del paquete de utilidades del sistema Util-linux 2.39, que incluye utilidades estrechamente relacionadas con el núcleo de Linux, así como utilidades de uso general. Por ejemplo, el paquete presenta utilidades como mount/umount, fdisk, hwclock, cal, blkid, fsck/cfdisk/sfdisk, blockdev, chrt, mkfs, ionice, more, renice, su, kill, setsid, login, shutdown, dmesg, lscpu, logger, losetup, setterm, mkswap, swapon, taskset, etc.
En la nueva versión:
- La utilidad mount y la biblioteca libmount han añadido soporte para una nueva API del núcleo de Linux para gestionar el montaje de sistemas de archivos considerando los espacios de nombres de puntos de montaje (mount namespaces). En la nueva API, en lugar de la función común mount(), se utilizan funciones separadas para procesar las diferentes etapas del montaje (procesar el superbloque, obtener información sobre el FS, montar, adjuntar al punto de montaje). Se ha mantenido la compatibilidad de libmount con los antiguos núcleos de Linux y la antigua API para el montaje. Se ha añadido la opción «—disable-libmount-mountfd-support» para desactivar forzosamente la nueva API.
- El uso de la nueva API de montaje ha permitido implementar el soporte para el mapeo de identificadores de usuario de los sistemas de archivos montados, utilizado para asociar archivos de un determinado usuario en una partición ajena montada con otro usuario en el sistema actual. Para gestionar el mapeo, se ha añadido a la utilidad mount la opción «X-mount.idmap=».
- Se han añadido nuevas opciones a la utilidad mount: «X-mount.auto-fstypes» para la detección automática del tipo de sistema de archivos específico, «X-mount.{owner,group,mode}» para cambiar el propietario, grupo y permisos de acceso después del montaje y «rootcontext=@target» para establecer el contexto SELinux para el FS. Para las banderas VFS, se ha añadido soporte para el argumento «recursive» (por ejemplo, «mount -o bind,ro=recursive»).
- Se ha añadido el comando blkpr, que permite reservar bloques en dispositivos SCSI o NVMe.
- Se ha añadido el comando pipesz para establecer o verificar el tamaño del búfer para tuberías no nombradas y FIFO.
- Se ha añadido el comando waitpid para esperar el cambio de estado de un proceso cualquiera (por ejemplo, su finalización).
- Se han añadido las opciones «-n» y «—relative» a la utilidad renice.
- En la utilidad blockdev se ha implementado soporte para ioctl BLKGETDISKSEQ.
- Se ha añadido soporte para pidfd y los sockets AF_NETLINK, AF_PACKET, AF_INET y AF_INET6 en la utilidad lsfd (\/proc\/net\/*), se ha asegurado la visualización de los nombres de procesos modificados desde proc\/$pid\/fd, se ha implementado la decodificación de flags desde \/proc\/$PID\/fdinfo\/$fd, se ha añadido la opción «-i» («—inet») para mostrar solo información de los sockets AF_INET y AF_INET6.
- La utilidad cal ahora admite la configuración de salida en color a través de terminal-colors.d.
- En dmesg se ha implementado una salida con precisión de fracciones de segundo al utilizar las opciones «—since» y «—until», en la opción «—level» se ha añadido la posibilidad de indicar un prefijo/sufijo «+» para mostrar todos los niveles con números mayores/menores al especificado.
- Se ha añadido la opción «—types» en la utilidad fstrim para filtrar por tipo de sistema de archivos.
- En blkid y libblkid se ha añadido soporte para el sistema de archivos bcachefs y se ha incluido el cálculo de sums de verificación para sistemas de archivos y RAID.
- En la utilidad lsblk se han añadido las opciones «—nvme» y «—virtio» para filtrar dispositivos, se han implementado las columnas ID (ID de udev), ID-LINK (udev \/dev\/disk\/by-id), PARTN (número de partición) y MQ (colas), y se ha mejorado el soporte para la conexión y desconexión en caliente de dispositivos.
- Se ha añadido la opción «—env» en nsenter para pasar variables de entorno.
- Se ha añadido la opción «-Z» en namei para mostrar los contextos SELinux.
- Se ha mejorado el soporte para el sistema de construcción Meson.
Fuente: opennet.ru
