| SYSTEMD.V(7) | systemd.v | SYSTEMD.V(7) |
.SH "NAME" systemd.v - Directory with Versioned Resources
.SH "DESCRIPTION"
.PP In various places systemd components accept paths whose trailing
components have the .v/ suffix, pointing to a directory. These components
will then automatically look for suitable files inside the directory, do a
version comparison and open the newest file found (by version). Available
since version v256. Specifically, two expressions are supported:
.PP To illustrate this in an example, consider a directory
/var/lib/machines/mymachine.raw.v/, which is populated with three files:
.PP Invoke a tool such as systemd-nspawn(1) with a command line like
the following:
# systemd-nspawn --image=/var/lib/machines/mymachine.raw.v --boot
.PP Then this would automatically be resolved to the equivalent of:
# systemd-nspawn --image=/var/lib/machines/mymachine.raw.v/mymachine_7.6.0.raw --boot
.PP Much of systemd's functionality that expects a path to a disk image or OS
directory hierarchy support the .v/ versioned directory mechanism, for
example systemd-nspawn(1), systemd-dissect(1) or the
RootDirectory=/RootImage= settings of service files (see
systemd.exec(5)).
.PP Use the systemd-vpick(1) tool to resolve .v/ paths from the
command line, for example for usage in shell scripts.
.SH "FILTERING AND SORTING"
.PP The variable part of the filenames in the .v/ directories are filtered
and compared primarily with a version comparison, implementing UAPI.10
Version Format Specification[1]. However, additional rules apply:
.PP Or in other words, the files in the .v/ directories should follow one of
these naming structures:
.SH "EXAMPLE"
.PP Here's a more comprehensive example, further extending the one described
above. Consider a directory /var/lib/machines/mymachine.raw.v/, which is
populated with the following files:
.PP Now invoke the following command on an x86-64 machine:
$ systemd-vpick --suffix=.raw /var/lib/machines/mymachine.raw.v/
.PP This would resolve the specified path to
/var/lib/machines/mymachine.raw.v/mymachine_7.5.14_x86-64.raw. Explanation:
even though mymachine_7.7.0_x86-64+0-5.raw has the newest version, it is not
preferred because its tries left counter is zero. And even though
mymachine_7.6.0_arm64.raw has the second newest version it is also not
considered in this case, because we operate on an x86_64 system and the
image is intended for arm64 CPUs. Finally, the mymachine_7.5.13.raw image is
not considered because it is older than mymachine_7.5.14_x86-64.raw.
.SH "SEE ALSO"
.PP systemd(1), systemd-vpick(1), systemd-nspawn(1),
systemd-dissect(1), systemd.exec(5),
systemd-sysupdate(8)
NOTES
- 1.
- UAPI.10 Version Format Specification
- 2.
- Automatic Boot Assessment
| systemd 262.2 |