lsblk + тип файловой системы не отображается в lsblk

Вы выполняете эти команды от имени пользователя root? Я считаю, что команда list -unit -files — это именно то, что вам нужно. В нем перечислены файлы модулей, а не только список загруженных сервисов. Я думаю, вы, вероятно, столкнулись с проблемой настройки вашего сервиса.

Можно начать с создания фиктивной службы и убедиться, что она зарегистрирована. Что-то, что на самом деле ничего не делает. Затем, как только это заработает, вы сможете увидеть, чем оно отличается от сервиса, который не работает. Или сравните файл вашего сервисного модуля с одним из простых сервисов, которые работают.

0
29.03.2021, 12:54
1 ответ

lsblk использует базу данных UDev для получения информации о файловых системах, поэтому, если она не показывает тип файловой системы, вероятно, что-то не так с UDev. Чтобы проверить, что UDev знает об устройстве, используйте udevadm info /dev/sdbи найдите клавишу ID_FS_TYPE.

Также возможно, что UDev слишком медленно работает на вашем устройстве, а значение еще не обновлено в базе данных, поэтому lsblkвыводит «старое» значение, то есть «нет файловой системы». Вы можете попробовать запустить udevadm settleперед запуском lsblk.

В качестве альтернативы вы можете использоватьsudo blkid -p /dev/sdb(или sudo blkid -p /dev/sdb -s TYPE -o valueдля вывода только значения типа файловой системы ). blkidс опцией -pфактически считывает область метаданных устройства (, поэтому ему нужен sudo), чтобы информация всегда была правильной/актуальной.

5
28.04.2021, 22:56

Теги

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