
Continuing with
#newinbullseye. One package that isn t new but its tools are used by many of us is
util-linux, providing many essential system utilities. There is
util-linux v2.33.1 in Debian/buster and
util-linux v2.36.1 in Debian/bullseye, and as usual there are many new features and options available.
I don t want to replicate the release notes provided by upstream, instead make sure to check out the
Release highlights sections in the following release notes:
Tools that have been taken over from / moved to other packages
Debian s util-linux source package provides new binary packages:
eject (and
eject-udeb) and
bsdextrautils. The util-linux implementation of
/usr/bin/eject is used now, replacing the one previously provided by the
eject source package.
Overall, from a util-linux perspective the following shifts took place:
col, colcrt, colrm, column: moved from binary package bsdmainutils to bsdextrautils
eject: moved to binary package eject
hd: moved from binary package bsdmainutils to bsdextrautils
hexdump: moved from binary package bsdmainutils to bsdextrautils
look: moved from binary package bsdmainutils to bsdextrautils
ul: moved from binary package bsdmainutils to bsdextrautils
write(.ul): moved from binary package bsdmainutils (named bsd-write) to bsdextrautils
Deprecated / removed tools
Tools that are no longer shipped as of Debian/bullseye:
/usr/bin/rename.ul (rename files): use e.g. rename package instead, see #926637 for details regarding the removal
/usr/bin/volname (return volume name for a device formatted with an ISO-9660 file system): use blkid -s LABEL -o value $filename instead
/usr/lib/eject/dmcrypt-get-device: no replacement available
New tools
Debian s bsdutils package (which is provided by the util-linux source package) provides a new tool from util-linux:
scriptlive: re-execute stdin log by a shell in PTY session
The new tools
lsirq +
irqtop (to monitor kernel interrupts) sadly didn t make it into util-linux s packaging of Debian/bullseye (as without per-CPU data they do not seem mature at this time). The new
hardlink tool (to consolidate duplicate files via hardlinks) won t be shipped, as there s an existing
hardlink package already.
New features/options
agetty + getty:
--show-issue display issue file and exit
blkdiscard:
--force disable all checking
blkid:
-D, --no-part-details don't print info from partition table
blkzone:
Commands:
open Open a range of zones.
close Close a range of zones.
finish Set a range of zones to Full.
Options:
-f, --force enforce on block devices used by the system
cfdisk:
--lock[=<mode>] use exclusive device lock (yes, no or nonblock)
dmesg:
--noescape don't escape unprintable character
-W, --follow-new wait and print only new messages
fdisk:
-x, --list-details like --list but with more details
-n, --noauto-pt don't create default partition table on empty devices
--lock[=<mode>] use exclusive device lock (yes, no or nonblock)
fstrim:
-I, --listed-in <list> trim filesystems listed in specified files
--quiet-unsupported suppress error messages if trim unsupported
lsblk:
Options:
-E, --dedup <column> de-duplicate output by <column>
(for example 'lsblk --dedup WWN' to de-duplicate devices by WWN number, e.g. multi-path devices)
-M, --merge group parents of sub-trees (usable for RAIDs, Multi-path)
see http://karelzak.blogspot.com/2018/11/lsblk-merge.html
New output columns:
FSVER filesystem version
PARTTYPENAME partition type name
DAX dax-capable device
lscpu:
Options:
-B, --bytes print sizes in bytes rather than in human readable format
-C, --caches[=<list>] info about caches in extended readable format
--output-all print all available columns for -e, -p or -C
Available output columns for -C:
ALL-SIZE size of all system caches
LEVEL cache level
NAME cache name
ONE-SIZE size of one cache
TYPE cache type
WAYS ways of associativity
ALLOC-POLICY allocation policy
WRITE-POLICY write policy
PHY-LINE number of physical cache line per cache t
SETS number of sets in the cache; set lines has the same cache index
COHERENCY-SIZE minimum amount of data in bytes transferred from memory to cache
lslogins:
--lastlog <path> set an alternate path for lastlog
lsns:
-t, --type time namespace type time is also supported now (next to mnt, net, ipc, user, pid, uts, cgroup)
mkswap:
--lock[=<mode>] use exclusive device lock (yes, no or nonblock)
more:
Options:
-n, --lines <number> the number of lines per screenful
New long options (in addition to the listed equivalent short options):
--silent - equivalent to -d
--logical - equivalent to -f
--no-pause - equivalent to -l
--print-over - equivalent to -c
--clean-print - equivalent to -p
--squeeze - equivalent to -s
--plain - equivalent to -u
mount:
Options:
--target-prefix <path> specifies path use for all mountpoints
Source:
ID=<id> specifies device by udev hardware ID
mountpoint:
--nofollow do not follow symlink
nsenter:
-T, --time[=<file>] enter time namespace
script:
-I, --log-in <file> log stdin to file
-O, --log-out <file> log stdout to file (default)
-B, --log-io <file> log stdin and stdout to file
-T, --log-timing <file> log timing information to file
-m, --logging-format <name> force to 'classic' or 'advanced' format
-E, --echo <when> echo input (auto, always or never)
sfdisk:
--disk-id <dev> [<str>] print or change disk label ID (UUID)
--relocate <oper> <dev> move partition header
--move-use-fsync use fsync after each write when move data
--lock[=<mode>] use exclusive device lock (yes, no or nonblock)
unshare:
-T, --time[=<file>] unshare time namespace
--map-user=<uid> <name> map current user to uid (implies --user)
--map-group=<gid> <name> map current group to gid (implies --user)
-c, --map-current-user map current user to itself (implies --user)
--keep-caps retain capabilities granted in user namespaces
-R, --root=<dir> run the command with root directory set to <dir>
-w, --wd=<dir> change working directory to <dir>
-S, --setuid <uid> set uid in entered namespace
-G, --setgid <gid> set gid in entered namespace
--monotonic <offset> set clock monotonic offset (seconds) in time namespaces
--boottime <offset> set clock boottime offset (seconds) in time namespaces
wipefs:
--lock[=<mode>] use exclusive device lock (yes, no or nonblock)