Публикувана нова версия на пакетa системни утилити Util-linux 2.39, който включва тясно свързани с ядрото на Linux утилити, както и общи утилити. Например, в пакета са включени утилитите 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 и т.н.
В новата версия:
- В утилитата mount и библиотеката libmount е добавена поддръжка на новия API на ядрото на Linux за управление на монтирането на файлови системи с оглед на пространствата на имената на точките на монтиране (mount namespaces). В новия API вместо общата функция mount() са влезли отделни функции за обработка на различните етапи на монтиране (обработка на суперблока, получаване на информация за файловата система, монтиране, прикрепяне към точка на монтиране). Съгласуваността на libmount със старите ядра на Linux и стария API за монтиране е запазена. За принудително изключване на новия API е добавена опция „—disable-libmount-mountfd-support“.
- Използването на новия API за монтиране позволи реализирането на поддръжка на мапинг на идентификаторите на потребителите на монтираните файлови системи, използван за асоцииране на файлове на определен потребител на монтиран чужд дял с друг потребител в текущата система. За управление на мапинга в утилита mount е добавена опция „X-mount.idmap=“.
- В утилита mount са добавени нови опции: „X-mount.auto-fstypes“ за автоматично откриване на файловата система от определен тип, „X-mount.{owner,group,mode}“ за промяна на собственика, групата и режима на достъп след монтиране и „rootcontext=@target“ за задаване на контекста на SELinux за файловата система. За флаговете на VFS е добавена поддръжка на аргумента „recursive“ (например, „mount -o bind,ro=recursive“).
- Добавена е командата blkpr, позволяваща резервиране на блокове на SCSI или NVMe носители.
- Добавена е командата pipesz за задаване или проверка на размера на буфера заUnnamed канали и FIFO.
- Добавена е командата waitpid за изчакване на променливо състояние на произволен процес (например, завършване на изпълнението).
- В утилита renice са добавени опциите „-n“ и „—relative“.
- В утилитата blockdev е реализирана поддръжка на ioctl BLKGETDISKSEQ.
- В утилитата lsfd е добавена поддръжка на pidfd и сокети AF_NETLINK, AF_PACKET, AF_INET и AF_INET6 (\/proc\/net\/*), осигурено е показването на променените имена на процеси от proc\/$pid\/fd, реализирано е декодирането на флагове от \/proc\/$PID\/fdinfo\/$fd, добавена е опцията "-i" ("—inet") за показване само на информация за сокетите AF_INET и AF_INET6.
- В утилитата cal е добавена поддръжка за настройка на цветен изход чрез terminal-colors.d.
- В dmesg е реализиран извод с точност до секунди при използване на опции "—since" и "—until", добавена е възможност за указване на префикс/суфикс "+" за показване на всички нива с номера по-големи/по-малки от зададения относно опциите "—level".
- В утилитата fstrim е добавена опция "—types" за филтриране по тип на файловата система.
- В blkid и libblkid е добавена поддръжка за файловата система bcachefs и е включено изчисляването на контролни суми за файлови системи и RAID.
- В утилитата lsblk са добавени опции "—nvme" и "—virtio" за отстраняване на устройства, реализирани са колони ID (udev ID), ID-LINK (udev \/dev\/disk\/by-id), PARTN (номер на дял) и MQ (опашки), подобрена е поддръжката на горещо свързване и отключване на устройства.
- В nsenter е добавена опция "—env" за предаване на променливи на средата.
- В namei е добавена опция "-Z" за показване на контексти SELinux.
- Подобрена е поддръжката на система за изграждане Meson.
Източник: opennet.ru
