Почему в Debian нет файлов устройств?

Вы можете использовать type idили command -v id, чтобы увидеть, как bashинтерпретирует idкак команду. Для меня я вижу:

$ type id
id is /usr/bin/id
$ command -v id
/usr/bin/id

И да, bashбудет искать $PATH, хотя однажды найдя его, он запомнит это местоположение, поэтому ему не нужно искать каждый раз. Это может вызвать проблемы, если вы переместите его после того, как запустили его ранее. Вы можете увидеть это с помощью команды hashhash id, чтобы увидеть, существует ли такая запись в настоящее время.

3
04.03.2020, 17:00
1 ответ

Ответ содержится в первом предложении, которое вы процитировали. «systemd будет динамически создавать единицы устройства». Там написано "создать", а не просто "начать". Благодаря интеграции с демоном udev, как только ядро ​​сообщает udev о новом устройстве, модуль.device будет синтезирован на лету. (Аналогичным образом, если устройство исчезнет, ​​блок.device также будет уничтожен.)

Динамически создается сам модуль (, поэтому он существует только в памяти внутри systemd ), а не в файле модуля. Таким образом, это в основном тот же механизм, что и для динамически создаваемых модулей.scope или временных модулей.service (, и в отличие от файлов модулей.mount, которые создаются генератором на основе/etc/fstab).

Таким образом, на диске нет юнит-файла. Вы можете видеть, что systemctl status some.deviceне ссылается ни на какие юнит-файлы, а systemctl show some.deviceне содержит никаких FragmentPath.

5
28.04.2021, 23:21

Теги

Похожие вопросы