sysfs
, файловая система, обычно монтируемая в / sys
, представляет собой специальную виртуальную файловую систему для взаимодействия с ядром Linux.
Файлы в нем не являются настоящими файлами, они представляют собой структуры данных в ядре и поддерживают только довольно простые методы доступа. При чтении такого файла ядро запрашивает информацию. Запись в такой файл указывает ядру изменить настройку или выполнить действие.
Вот почему vim
не работает. Он пытается получить доступ к виртуальным файлам способами, оптимизированными для реальных файлов, и это не поддерживается в sysfs
.
Ваша первая команда
root@demo:/# echo never > /sys/kernel/mm/transparent_hugepage/enabled
уже была успешной!
Многие «файлы» sysfs, включая / sys / kernel / mm / transparent_hugepage / enabled
, не только печатают текущие настройки при чтении, но и выводят все возможные режимы и используют скобки для описания того, какой из вместо этого активен несколько режимов.
В вашем случае никогда
не заключен в скобки, поэтому режим, который вы пытались активировать с помощью echo
, уже активен:
always madvise [never]
Если вас интересует, как sysfs
работает, вы можете узнать больше об этом в Википедии или в документации ядра Linux .
Вы также можете написать правило udev специально для этого устройства.
nano /etc/udev/rules.d/NN -Ваш _набор _из _rules.rules
# My Device which should not have admin rights
ATTRS{idVendor}=="1234", ATTRS{idProduct}=="0042", MODE="664", GROUP="plugdev"
Устройство с vid/pid :1234/0042 по-прежнему будет принадлежать пользователю root, но будет отнесено к группе «plugdev». Если ваш пользователь является членом этой группы, у вас будут права доступа к ней. Вы можете выбрать любую другую группу по вашему желанию.Режим — это двоичный код разрешений устройства. Владелец и группа могут записывать и читать, другие могут только читать устройство.
После этого вы можете запустить lsusb -v
для получения iSerial.