Dear Ralph,
Thank you very much for the lecture!
It seems that the issue may be permissions.
$ sudo /usr/bin/systemd-tmpfiles --create /run/tmpfiles.d/kmod.conf
Arch returns:
Detected unsafe path transition / → /dev during canonicalization of
/dev.
Detected unsafe path transition / → /dev during canonicalization of
/dev.
Detected unsafe path transition / → /dev during canonicalization of
/dev.
Detected unsafe path transition / → /dev during canonicalization of
/dev.
Detected unsafe path transition / → /dev during canonicalization of
/dev.
$ cat /run/tmpfiles.d/kmod.conf
c! /dev/fuse 0600 - - - 10:229
c! /dev/cuse 0600 - - - 10:203
c! /dev/btrfs-control 0600 - - - 10:234
c! /dev/nvram 0600 - - - 10:144
c! /dev/loop-control 0600 - - - 10:237
d /dev/net 0755 - - -
c! /dev/net/tun 0600 - - - 10:200
c! /dev/ppp 0600 - - - 108:0
c! /dev/uinput 0600 - - - 10:223
d /dev/mapper 0755 - - -
c! /dev/mapper/control 0600 - - - 10:236
d /dev/vfio 0755 - - -
c! /dev/vfio/vfio 0600 - - - 10:196
c! /dev/userio 0600 - - - 10:240
c! /dev/vhci 0600 - - - 10:137
c! /dev/uhid 0600 - - - 10:239
c! /dev/vhost-net 0600 - - - 10:238
c! /dev/vhost-vsock 0600 - - - 10:241
d /dev/snd 0755 - - -
c! /dev/snd/timer 0600 - - - 116:33
d /dev/snd 0755 - - -
c! /dev/snd/seq 0600 - - - 116:1
There are more error messages of unsafe path transition if I run
$ sudo /usr/bin/systemd-tmpfiles --create
without specifying a tmpfile, then all tmpfiles are triggered.
After searching on-line, it seemed that similar problems were reported
by other users of systemd. The fix is to set owner of / as root.root. I
tried the solution and it worked! Running
$ sudo /usr/bin/systemd-tmpfiles --create
no longers gives me error message!
Yours sincerely,
Xianwen
On 07/09/2019 15.07, Ralph Corderoy wrote:
Dear Xianwen,
:: Running post-transaction hooks...
...
(5/9) Creating temporary files...
error: command failed to execute correctly
(6/9) Reloading device manager configuration...
Here's the path I trod to investigate this.
$ cd /usr/share/libalpm/hooks
$ grep 'Creating temporary files' *
systemd-tmpfiles.hook:Description = Creating temporary files...
$
$ cat systemd-tmpfiles.hook
[Trigger]
Type = File
Operation = Install
Operation = Upgrade
Target = usr/lib/tmpfiles.d/*.conf
[Action]
Description = Creating temporary files...
When = PostTransaction
Exec = /usr/share/libalpm/scripts/systemd-hook tmpfiles
$
$ file /usr/share/libalpm/scripts/systemd-hook
/usr/share/libalpm/scripts/systemd-hook: POSIX shell script, ASCII text executable
$
$ grep -1 tmpfiles /usr/share/libalpm/scripts/systemd-hook
sysusers) /usr/bin/systemd-sysusers ;;
tmpfiles) /usr/bin/systemd-tmpfiles --create ;;
$
$ man systemd-tmpfiles
...
DESCRIPTION
systemd-tmpfiles creates, deletes, and cleans up volatile and
temporary files and directories, based on the configuration file
format and location specified in tmpfiles.d(5).
$ man 5 tmpfiles.d
...
SYNOPSIS
/etc/tmpfiles.d/*.conf
/run/tmpfiles.d/*.conf
/usr/lib/tmpfiles.d/*.conf
~/.config/user-tmpfiles.d/*.conf
$XDG_RUNTIME_DIR/user-tmpfiles.d/*.conf
~/.local/share/user-tmpfiles.d/*.conf
...
/usr/share/user-tmpfiles.d/*.conf
So one of the *.conf files in those directory is triggering that error.
systemd-tmpfiles(8) says one or more *.conf files can be given after
‘--create’ so I suggest running it on each in turn to see if the
error still occurs for one of them. This may required sudo(8).