Вы можете использовать systemctl show
для просмотра дополнительных сведений о юнит-файле, обрабатывающем *.device.
Например, в моей системе CentOS 7.x, если мы просматриваем journalctl -b
для некоторых устройств:
$ journalctl -b | grep 'systemd\[1\]: dev-disk-by' | head -3
Sep 03 17:48:57 centos7 systemd[1]: dev-disk-by\x2dpath-pci\x2d0000:00:01.1\x2data\x2d1.0.device changed dead -> plugged
Sep 03 17:48:57 centos7 systemd[1]: dev-disk-by\x2did-ata\x2dVBOX_HARDDISK_VBc5aaf476\x2df419b1f1.device changed dead -> plugged
Sep 03 17:48:57 centos7 systemd[1]: dev-disk-by\x2duuid-013c42ea\x2daa00\x2d4713\x2d926a\x2daca57c0bd552.device changed dead -> plugged
Теперь, если мы запросим systemd об одном из этих .device
файлов:
$ systemctl show 'dev-disk-by\x2duuid-013c42ea\x2daa00\x2d4713\x2d926a\x2daca57c0bd552.device'
SysFSPath=/sys/devices/pci0000:00/0000:00:01.1/ata1/host0/target0:0:0/0:0:0:0/block/sda/sda2
Id=dev-disk-by\x5cx2duuid-013c42ea\x5cx2daa00\x5cx2d4713\x5cx2d926a\x5cx2daca57c0bd552.device
Names=dev-disk-by\x5cx2duuid-013c42ea\x5cx2daa00\x5cx2d4713\x5cx2d926a\x5cx2daca57c0bd552.device
Following=sys-devices-pci0000:00-0000:00:01.1-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda2.device
Description=VBOX_HARDDISK 2
LoadState=loaded
ActiveState=active
SubState=plugged
InactiveExitTimestamp=Mon 2018-09-03 21:48:59 EDT
InactiveExitTimestampMonotonic=4178671
ActiveEnterTimestamp=Mon 2018-09-03 21:48:59 EDT
ActiveEnterTimestampMonotonic=4178671
ActiveExitTimestampMonotonic=0
InactiveEnterTimestampMonotonic=0
CanStart=no
CanStop=no
CanReload=no
CanIsolate=no
StopWhenUnneeded=no
RefuseManualStart=no
RefuseManualStop=no
AllowIsolate=no
DefaultDependencies=yes
OnFailureJobMode=replace
IgnoreOnIsolate=yes
IgnoreOnSnapshot=yes
NeedDaemonReload=no
JobTimeoutUSec=1min 30s
JobTimeoutAction=none
ConditionResult=no
AssertResult=no
ConditionTimestampMonotonic=0
AssertTimestampMonotonic=0
Transient=no
ПРИМЕЧАНИЕ.:Что \x2d
на самом деле является кодом ASCII для тире .
$ printf '\x2d\n'
-
Что нужно настроить в других службах, чтобы они запускались после файлов.device? Для этого вы захотите использовать After=system.device
. Вы можете увидеть статус этого устройства вот так, хотя он не очень информативен:
$ systemctl status system.device
● system.device
Loaded: loaded
Active: inactive (dead)
Sep 03 21:49:52 centos7 systemd[1]: Collecting system.device
ПРИМЕЧАНИЕ:Вы также можете взаимозаменяемо использовать systemd.device
.
Я добавляю этот второй ответ, который является более прямым ответом на ваш вопрос, а не просто обходным путем, как мой другой ответ. Однако в этом мало деталей, это скорее «примерный план путешествия», чем «как -к»:
Вы также можете использовать промежуточный загрузчик: