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

リンク解除についても同様で、rmdirが機能せず、Thunarが失敗します。

その上の許可はlrwxrwxrwxです

どうすれば削除できますか?


1
ファイルを削除するときに重要なのは、ディレクトリに対する権限です。ただし/sys、特別なため、ファイルを追加または削除できるかどうかはわかりません。
ctrl-alt-delor

回答:


28

sysfsファイルシステムは、一般的に搭載/sysちょうど同じように、ファイルシステムの典型的なファイルシステムではありません、それはいわゆるだ、擬似ファイルシステム。実際にはカーネルによって生成され、ファイルを直接削除することはできません。/proc

したがって、ASUSラップトップのサポートが適切でない場合は、カーネルに削除を依頼する必要があります。これを行うには、対応するモジュールを削除します。

sudo rmmod asus-laptop

これにより、関連する/sysエントリが削除されます。


小さな注意:一部のファイルは削除でき、特定のアクションをトリガーします。sysfsにどれが存在するかはわかりませんが、たとえばcgroupfsを使用すると、mkdirとrmを使用してcgroupを作成/削除できます。
allo

3
@allo区別は微妙ですが、その名前が示すようにcgroupfsは別のファイルシステムです。にマウントされているsysfs /sysは読み取りと書き込みのみをサポートし、削除はサポートしていません。
スティーブンキット2018

1
@StephenKitt:カーネルモジュールの作成者として/ sysに何かを追加したい場合は、削除された独自のディレクトリノードを提供できます。作成は私に震えを与えます。結局のところ、mknod()は特別な呼び出しです。
Joshua

@ジョシュア、私に興味をそそられました—新しいカーンフ(そうではないkernfs_create_root)や他のfs をマウントせずに、どうやってそれを実行しますか?
Stephen Kitt

モジュールは、独自のvfsハンドラーを使用して、sysfsおよびprocfsに任意のノードを追加できます。
Joshua
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.