Debian: nie można usunąć dowiązania symbolicznego w / sys /: operacja niedozwolona

10

Uruchomiłem kilka poleceń, nie do końca je rozumiejąc, próbując uruchomić jasność ekranu, a teraz utknąłem z nieprzyjemnym dowiązaniem symbolicznym w '/ sys / class / backlight / asus_laptop', którego próbuję się pozbyć.

próbowałem

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

Wchodzenie od razu do katalogu i pisanie rm asus_laptop, zmiana własności i używanie Thunar do próby jego usunięcia.

dostaję

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

To samo dotyczy odłączenia, rmdir nie działa, a Thunar zawodzi.

Uprawnienia do niego to lrwxrwxrwx

Jak mogę to usunąć?

Jzuken
źródło
1
To uprawnienie do katalogu ma znaczenie przy usuwaniu pliku. /sysJest to jednak wyjątkowe, nie wiem, czy możesz dodawać lub usuwać pliki.
ctrl-alt-delor

Odpowiedzi:

28

sysfsSystem plików , zwykle montowane na /sys, podobnie jak w /procsystemie plików , nie jest to typowy system plików, jest to tak zwany system plików pseudo . Jest faktycznie zapełniany przez jądro i nie można bezpośrednio usuwać plików.

Jeśli więc obsługa laptopów ASUS nie jest dla Ciebie odpowiednia, musisz poprosić jądro o usunięcie go. Aby to zrobić, usuń odpowiedni moduł:

sudo rmmod asus-laptop

Spowoduje to usunięcie odpowiedniego /syswpisu.

Stephen Kitt
źródło
Mała uwaga: niektóre pliki można usunąć, co wyzwala określone działania. Nie jestem pewien, które z nich są w sysfs, ale np. Cgroupfs pozwala na tworzenie / usuwanie cgroups przy pomocy mkdir i rm.
allo
3
@ allo rozróżnienie jest subtelne, ale cgroupfs, jak sugeruje jego nazwa, to inny system plików. sysfs, który jest zamontowany /sys, obsługuje tylko odczyty i zapisy, nie obsługuje usuwania.
Stephen Kitt,
1
@StephenKitt: Gdybym jako programista modułów jądra chciał coś dodać do / sys, mógłbym bardzo dobrze podać własny węzeł katalogu, który usunął połączenie. Create daje mi dreszcze. W końcu mknod () to specjalne wywołanie.
Joshua,
@Joshua, zaintrygowałeś mnie - jak byś to zrobił, nie instalując nowego kernfsa (więc nie kernfs_create_root) ani żadnego innego fs?
Stephen Kitt
Moduły mogą dodawać dowolne węzły do ​​sysfs i procfs za pomocą własnych procedur obsługi vfs.
Joshua,