Debian: tidak dapat menghapus symlink di / sys /: operasi tidak diizinkan

10

Saya menjalankan beberapa perintah tanpa sepenuhnya memahaminya ketika mencoba untuk mendapatkan kecerahan layar bekerja dan sekarang saya terjebak dengan symlink jahat di '/ sys / class / backlight / asus_laptop' yang saya coba singkirkan.

saya telah mencoba

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

Masuk ke direktori dan mengetik rm asus_laptop, mengubah kepemilikan, dan menggunakan Thunar untuk mencoba menghapusnya.

saya mendapat

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

Hal yang sama berlaku untuk tautan, rmdir tidak berfungsi, dan Thunar gagal.

Izin di atasnya adalah lrwxrwxrwx

Bagaimana saya bisa menghapusnya?

Jzuken
sumber
1
Ini adalah izin pada direktori, yang penting saat menghapus file. Namun /syskhusus, saya tidak tahu apakah Anda dapat menambah atau menghapus file.
ctrl-alt-delor

Jawaban:

28

Sistem sysfsfile , biasanya dipasang /sys, seperti halnya /procsistem file , bukan sistem file biasa, ini disebut sistem file pseudo . Ini sebenarnya diisi oleh kernel dan Anda tidak dapat menghapus file secara langsung.

Jadi, jika dukungan laptop ASUS tidak sesuai untuk Anda, maka Anda harus meminta kernel untuk menghapusnya. Untuk melakukannya, hapus modul yang sesuai:

sudo rmmod asus-laptop

Itu akan menghapus /sysentri yang relevan .

Stephen Kitt
sumber
Catatan kecil: Beberapa file dapat dihapus, yang memicu tindakan tertentu. Saya tidak yakin mana yang ada di sysfs, tetapi cgroupfs misalnya memungkinkan membuat / menghapus cgroup dengan mkdir dan rm.
allo
3
@ tidak ada perbedaannya halus, tetapi cgroupfs seperti namanya adalah sistem file yang berbeda. sysfs, yang dipasang pada /sys, hanya mendukung baca dan tulis, itu tidak mendukung penghapusan.
Stephen Kitt
1
@StephenKitt: Jika saya sebagai penulis modul kernel ingin menambahkan sesuatu ke / sys saya bisa menyediakan simpul direktori sendiri yang telah dihapus dengan kabel. Buat memberi saya menggigil. mknod () adalah panggilan khusus.
Yosua
@ Joshua sekarang Anda membuat saya tertarik - bagaimana Anda akan melakukannya, tanpa memasang kernel baru (jadi tidak kernfs_create_root) atau fs lainnya?
Stephen Kitt
Modul dapat menambahkan node sembarang ke sysfs dan procfs dengan penangan vfs mereka sendiri.
Yosua