È stata pubblicata una nuova versione del pacchetto di utilità di sistema Util-linux 2.39, che include utilità sia strettamente legate al kernel Linux che strumenti di uso generale. Ad esempio, il pacchetto presenta utilità come 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, ecc.
Nella nuova versione:
- Nell'utilità mount e nella libreria libmount è stata aggiunta la supporto per la nuova API del kernel Linux per la gestione del montaggio dei file system tenendo conto degli spazi dei nomi dei punti di montaggio (mount namespaces). Nella nuova API, invece della funzione generale mount(), vengono utilizzate funzioni separate per gestire le diverse fasi del montaggio (gestire il superblocco, ottenere informazioni sul file system, montare, allegare al punto di montaggio). È stata mantenuta la compatibilità di libmount con i vecchi kernel Linux e le vecchie API di montaggio. Per disabilitare forzatamente la nuova API è stata aggiunta l'opzione "--disable-libmount-mountfd-support".
- L'uso della nuova API di montaggio ha permesso di implementare il supporto per il mapping degli identificatori degli utenti dei file system montati, utilizzato per abbinare i file di un determinato utente sul segmento montato di un'altra persona con un altro utente nel sistema attuale. Per gestire il mapping, è stata aggiunta all'utilità mount l'opzione «X-mount.idmap=».
- Nell'utilità mount sono state aggiunte nuove opzioni: «X-mount.auto-fstypes» per la rilevazione automatica del file system di un certo tipo, «X-mount.{owner,group,mode}» per modificare il proprietario, il gruppo e la modalità di accesso dopo il montaggio e «rootcontext=@target» per impostare il contesto SELinux per il FS. Per i flag VFS è stato aggiunto il supporto per l'argomento «recursive» (ad esempio, «mount -o bind,ro=recursive»).
- È stato aggiunto il comando blkpr, che consente di riservare blocchi su dispositivi SCSI o NVMe.
- È stato aggiunto il comando pipesz per impostare o verificare la dimensione del buffer per canali non nominati e FIFO.
- È stato aggiunto il comando waitpid per aspettare la modifica dello stato di un processo arbitrario (ad esempio, il completamento dell'esecuzione).
- Nell'utilità renice sono state aggiunte le opzioni «-n» e «—relative».
- Nell'utilità blockdev è stato implementato il supporto per ioctl BLKGETDISKSEQ.
- L'utilità lsfd ha aggiunto il supporto per pidfd e socket AF_NETLINK, AF_PACKET, AF_INET e AF_INET6 (/proc/net/*), garantendo la visualizzazione dei nomi dei processi modificati da proc/$pid/fd. È stata implementata la decodifica dei flag da /proc/$PID/fdinfo/$fd, ed è stata aggiunta l'opzione «-i» («—inet») per mostrare solo informazioni sui socket AF_INET e AF_INET6.
- L'utilità cal ora supporta la configurazione dell'output colorato tramite terminal-colors.d.
- In dmesg è stata implementata l'uscita con precisione nei millisecondi quando si utilizzano le opzioni «—since» e «—until». Nell'opzione «—level» è stata aggiunta la possibilità di specificare un prefisso/suffisso «+» per mostrare tutti i livelli con numeri maggiori/minori rispetto a quello specificato.
- Nell'utilità fstrim è stata aggiunta l'opzione «—types» per filtrare per tipo di file system.
- In blkid e libblkid è stato aggiunto il supporto per il file system bcachefs e inclusa la possibilità di calcolare le somme di controllo per il file system e il RAID.
- Nell'utilità lsblk sono state aggiunte le opzioni «—nvme» e «—virtio» per escludere i dispositivi. Sono stati implementati i colonne ID (udev ID), ID-LINK (udev /dev/disk/by-id), PARTN (numero di partizione) e MQ (code), migliorando il supporto per il collegamento e lo scollegamento a caldo dei dispositivi.
- In nsenter è stata aggiunta l'opzione «—env» per passare le variabili d'ambiente.
- In namei è stata aggiunta l'opzione «-Z» per mostrare i contesti SELinux.
- Migliorato il supporto per il sistema di build Meson.
Fonte: opennet.ru
