Debian: impossibile rimuovere il collegamento simbolico in / sys /: operazione non consentita


10

Ho eseguito alcuni comandi senza comprenderli completamente mentre cercavo di far funzionare la luminosità dello schermo e ora sono bloccato con un brutto link simbolico in '/ sys / class / backlight / asus_laptop' di cui sto cercando di sbarazzarmi.

Ho provato

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

Andare a destra nella directory e digitare rm asus_laptop, cambiando proprietà e usando Thunar per provare a rimuoverlo.

ottengo

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

Lo stesso vale per unlink, rmdir non funziona e Thunar fallisce.

Le autorizzazioni sono lrwxrwxrwx

Come posso rimuoverlo?


1
È l'autorizzazione sulla directory, che conta quando si rimuove un file. Tuttavia /sysè speciale, non so se è possibile aggiungere o rimuovere file.
ctrl-alt-delor,

Risposte:


28

Il sysfsfile system , in genere montato su /sys, proprio come il /procfile system , non è un file system tipico, è un cosiddetto file system pseudo . In realtà è popolato dal kernel e non è possibile eliminare direttamente i file.

Quindi, se il supporto per laptop ASUS non è adatto a te, allora devi chiedere al kernel di rimuoverlo. Per fare ciò, rimuovere il modulo corrispondente:

sudo rmmod asus-laptop

Ciò rimuoverà la /sysvoce pertinente .


Piccola nota: alcuni file possono essere rimossi, ciò che innesca determinate azioni. Non sono sicuro di quali siano quelli presenti in sysfs, ma ad esempio cgroupfs consente di creare / rimuovere cgroups con mkdir e rm.
allo

3
@allo la distinzione è sottile, ma cgroupfs come suggerisce il nome è un file system diverso. sysfs, che è montato /sys, supporta solo letture e scritture, non supporta la cancellazione.
Stephen Kitt,

1
@StephenKitt: Se come scrittore del modulo kernel volessi aggiungere qualcosa a / sys, potrei benissimo fornire il mio nodo di directory che ha eliminato cablato. Creare però mi dà i brividi. Dopotutto mknod () è una chiamata speciale.
Joshua,

@Joshua ora mi hai incuriosito - come faresti a farlo, senza montare un nuovo kernel (quindi no kernfs_create_root) o qualsiasi altro fs?
Stephen Kitt,

I moduli possono aggiungere nodi arbitrari a sysfs e procfs con i loro gestori vfs.
Joshua,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.