Sysfs
sysfs — это виртуальная файловая система (не занимающая места на диске). Она делает доступной пользовательскому окружению информацию об устройствах ядра, драйверах и других подсистемах и позволяет её менять. Эта файловая система генерируется ядром и всегда монтируется в /sys.
Установка
Ядро
sysfs обычно включена по умолчанию. Соответствующий параметр ядра будет виден только при включенном параметре Configure standard kernel features (expert users)
, но даже в этом случае его нельзя изменить:
File systems --->
Pseudo filesystems --->
-*- sysfs file system support
Использование
Используйте cat для чтения информации. Например, чтобы вывести уровень заряда батареи:
user $
cat /sys/class/power_supply/BAT0/status
Узнать имя устройства можно с помощью просмотра каталога /sys/class/net используя ls -al или команду tree (из пакета app-text/tree):
user $
tree /sys/class/net
/sys/class/net/ ├── enp2s14 -> ../../devices/pci0000:00/0000:00:1e.0/0000:02:0e.0/net/enp2s14 ├── lo -> ../../devices/virtual/net/lo ├── sit0 -> ../../devices/virtual/net/sit0 └── wlp8s0 -> ../../devices/pci0000:00/0000:00:1c.0/0000:08:00.0/net/wlp8s0
sysfs позволяет устанавливать значения во время работы системы. Например, для приостановки системы можно использовать команду echo:
root #
echo mem > /sys/power/state
Чтобы установить значения в время загрузки, создайте сценарий в local.d.
Смотрите также
- procfs — виртуальная файловая система (не занимающая места на диске), которая может использоваться для отображения и изменения информации о системе и процессах.
- tmpfs — виртуальная файловая система, создаваемая для хранения файлов в динамической (непостоянной) памяти.