Debian: невозможно удалить символическую ссылку в / sys /: операция не разрешена


10

Я запустил некоторые команды, не полностью понимая их, пытаясь заставить работать яркость экрана, и теперь я застрял с неприятной символической ссылкой в ​​/ sys / class / backlight / asus_laptop, от которой я пытаюсь избавиться.

я пытался

sudo rm /sys/class/backlight/asus_laptop
sudo rm '/sys/class/backlight/asus_laptop'

su root
rm /sys/class/backlight/asus_laptop
sudo rm /sys/class/backlight/asus_laptop

Идя прямо в каталог и печатая rm asus_laptop, меняя владельца и используя Thunar, чтобы попытаться удалить его.

я получил

rm: cannot remove '/sys/class/backlight/asus_laptop': Operation not permitted

То же самое относится и к unlink, rmdir не работает, а Thunar не работает.

Разрешения на это lrwxrwxrwx

Как я могу удалить это?


1
Это разрешение на каталог, которое имеет значение при удалении файла. Однако /sysэто особенное, я не знаю, можете ли вы добавлять или удалять файлы.
Ctrl-Alt-Delor

Ответы:


28

sysfsФайловая система , как правило , установлена на /sys, так же , как в /procфайловой системе , не является типичной для файловой системы, это так называемый псевдо файловой системы . Это на самом деле заполняется ядром, и вы не можете удалять файлы напрямую.

Итак, если поддержка ноутбука ASUS вам не подходит, вам нужно попросить ядро ​​удалить его. Для этого удалите соответствующий модуль:

sudo rmmod asus-laptop

Это удалит соответствующую /sysзапись.


Небольшое примечание: некоторые файлы могут быть удалены, что вызывает определенные действия. Я не уверен, какие из них есть в sysfs, но, например, cgroupfs позволяет создавать / удалять cgroups с помощью mkdir и rm.
Алло

3
@allo различие тонкое, но cgroupfs, как следует из названия, - это другая файловая система. sysfs, который монтируется /sys, поддерживает только чтение и запись, не поддерживает удаление.
Стивен Китт

1
@StephenKitt: Если бы я, как автор модуля ядра, хотел добавить что-то в / sys, я вполне мог бы предоставить свой собственный узел каталога, в котором было удалено соединение. Создание дает мне дрожь, хотя. В конце концов, mknod () - это особый вызов.
Иисус Навин

@ Джошуа, теперь ты меня заинтриговал - как бы ты это сделал, не устанавливая новый kernfs (так нет kernfs_create_root) или любой другой fs?
Стивен Китт

Модули могут добавлять произвольные узлы в sysfs и procfs с помощью своих собственных обработчиков vfs.
Джошуа
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.