Debian bullseye: changes in util-linux #newinbullseye
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 bsdextrautilseject
: moved to binary package ejecthd
: moved from binary package bsdmainutils to bsdextrautilshexdump
: moved from binary package bsdmainutils to bsdextrautilslook
: moved from binary package bsdmainutils to bsdextrautilsul
: moved from binary package bsdmainutils to bsdextrautilswrite(.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): useblkid -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)