Debian: Symlink in / sys / kann nicht entfernt werden: Operation nicht erlaubt


10

Ich habe einige Befehle ausgeführt, ohne sie vollständig zu verstehen, während ich versucht habe, die Bildschirmhelligkeit zum Laufen zu bringen, und jetzt stecke ich mit einem bösen Symlink in '/ sys / class / backlight / asus_laptop' fest, den ich loswerden möchte.

Ich habe versucht

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

Gehen Sie direkt in das Verzeichnis und tippen Sie rm asus_laptop, ändern Sie den Eigentümer und verwenden Sie Thunar, um zu versuchen, es zu entfernen.

Ich bekomme

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

Gleiches gilt für das Aufheben der Verknüpfung, rmdir funktioniert nicht und Thunar schlägt fehl.

Die Berechtigungen dafür sind lrwxrwxrwx

Wie kann ich es entfernen?


1
Beim Entfernen einer Datei ist die Berechtigung für das Verzeichnis von Bedeutung. Allerdings /sysist etwas Besonderes, ich weiß nicht, ob Sie Dateien hinzufügen oder entfernen können.
Strg-Alt-Delor

Antworten:


28

Das sysfsDateisystem , auf dem normalerweise /sysgenau wie das /procDateisystem montiert ist , ist kein typisches Dateisystem, sondern ein sogenanntes Pseudodateisystem . Es wird tatsächlich vom Kernel gefüllt und Sie können Dateien nicht direkt löschen.

Wenn die ASUS-Laptop-Unterstützung für Sie nicht geeignet ist, müssen Sie den Kernel bitten, sie zu entfernen. Entfernen Sie dazu das entsprechende Modul:

sudo rmmod asus-laptop

Dadurch wird der entsprechende /sysEintrag entfernt.


Kleiner Hinweis: Einige Dateien können entfernt werden, was bestimmte Aktionen auslöst. Ich bin nicht sicher, welche in sysfs vorhanden sind, aber z. B. ermöglicht cgroupfs das Erstellen / Entfernen von cgroups mit mkdir und rm.
Allo

3
@allo die Unterscheidung ist subtil, aber cgroupfs ist, wie der Name schon sagt, ein anderes Dateisystem. sysfs, auf dem gemountet ist /sys, unterstützt nur Lese- und Schreibvorgänge, das Löschen nicht.
Stephen Kitt

1
@StephenKitt: Wenn ich als Kernelmodul-Writer / sys etwas hinzufügen wollte, könnte ich sehr gut meinen eigenen Verzeichnisknoten bereitstellen, der verkabelt gelöscht hat. Create lässt mich allerdings erschauern. mknod () ist schließlich ein besonderer Aufruf.
Joshua

@Joshua, jetzt bist du fasziniert von mir - wie würdest du das machen, ohne ein neues Kernfs (also nein kernfs_create_root) oder ein anderes fs zu mounten ?
Stephen Kitt

Module können sysfs und procfs mit ihren eigenen vfs-Handlern beliebige Knoten hinzufügen.
Joshua
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.