È stata pubblicata una nuova versione del pacchetto di utilità di sistema Util-linux 2.39, che include utilità strettamente correlate al kernel Linux e utilità generiche. Ad esempio, il pacchetto comprende 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 al nuovo API del kernel Linux per la gestione del montaggio dei file system tenendo conto degli spazi dei nomi dei punti di montaggio (mount namespaces). Nel nuovo API, invece della funzione comune mount() sono state introdotte funzioni separate per gestire le diverse fasi del montaggio (gestire il superblocco, ottenere informazioni sul FS, montare, attaccare al punto di montaggio). La compatibilità di libmount con i vecchi kernel Linux e il vecchio API di montaggio è stata mantenuta. Per disabilitare forzatamente il nuovo API è stata aggiunta l'opzione "--disable-libmount-mountfd-support".
- L'uso del nuovo API di montaggio ha consentito di implementare il supporto per il mapping degli identificatori degli utenti dei file system montati, impiegato per correlare i file di un determinato utente su una partizione montata di un altro utente nel sistema corrente. Per gestire il mapping, è stata aggiunta nell'utilità mount l'opzione "X-mount.idmap=."
- Nell'utilità mount sono state aggiunte nuove opzioni: "X-mount.auto-fstypes" per il rilevamento automatico del tipo di file system, "X-mount.{owner,group,mode}" per modificare il proprietario, il gruppo e i permessi di accesso dopo il montaggio e "rootcontext=@target" per impostare il contesto SELinux per il FS. È stato aggiunto anche il supporto dell'argomento "recursive" per i flag VFS (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 attendere la modifica dello stato di un qualsiasi processo (ad esempio, la sua terminazione).
- Nell'utilità renice sono state aggiunte le opzioni "-n" e "--relative".
- Nell'utilità blockdev è stato implementato il supporto per ioctl BLKGETDISKSEQ.
- Nell'utilità lsfd è stata aggiunta la supporto per pidfd e socket AF_NETLINK, AF_PACKET, AF_INET e AF_INET6 (\/proc\/net\/*), è stata implementata la visualizzazione dei nomi di processo modificati da proc\/$pid\/$fd, è stata realizzata la decodifica delle flag da \/proc\/$PID\/$fdinfo\/$fd, è stata aggiunta l'opzione «-i» («—inet») per mostrare solo informazioni sui socket AF_INET e AF_INET6.
- Nell'utilità cal è stata aggiunta la supporto per la configurazione dell'output colorato tramite terminal-colors.d.
- In dmesg è stata implementata la visualizzazione con precisione in frazioni di secondo utilizzando 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 di quello specificato.
- Nell'utilità fstrim è stata aggiunta l'opzione «—types» per filtrare per tipo di FS.
- In blkid e libblkid è stata aggiunta la supporto per il filesystem bcachefs e sono stati inclusi il calcolo delle somme di controllo per FS e RAID.
- Nell'utilità lsblk sono state aggiunte le opzioni «—nvme» e «—virtio» per escludere i dispositivi, sono state implementate le colonne ID (udev ID), ID-LINK (udev \/dev\/disk\/by-id), PARTN (numero di partizione) e MQ (code), è stato migliorato il supporto per il collegamento e discollegamento 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.
- È stato migliorato il supporto per il sistema di build Meson.
Fonte: opennet.ru
