Debian: không thể xóa symlink trong / sys /: thao tác không được phép


10

Tôi đã chạy một số lệnh mà không hoàn toàn hiểu chúng trong khi cố gắng làm cho độ sáng màn hình hoạt động và bây giờ tôi bị mắc kẹt với một liên kết tượng trưng khó chịu trong '/ sys / class / backlight / asus_l mỏi' mà tôi đang cố gắng loại bỏ.

Tôi đã thử

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

Đi thẳng vào thư mục và gõ rm asus_laptop, thay đổi quyền sở hữu và sử dụng Thunar để cố gắng xóa nó.

tôi có

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

Tương tự với unlink, rmdir không hoạt động và Thunar thất bại.

Các quyền trên đó là lrwxrwxrwx

Làm thế nào tôi có thể loại bỏ nó?


1
Đó là sự cho phép trên thư mục, đó là vấn đề khi xóa một tập tin. Tuy nhiên /sys, điều đặc biệt là tôi không biết liệu bạn có thể thêm hoặc xóa tệp hay không.
ctrl-alt-delor

Câu trả lời:


28

Các sysfshệ thống tập tin , thường được gắn trên /sys, giống như các /prochệ thống tập tin , chứ không phải là một hệ thống tập tin thông thường, đó là một cái gọi là hệ thống tập tin giả . Nó thực sự được nhân bởi kernel và bạn không thể xóa các tập tin trực tiếp.

Vì vậy, nếu hỗ trợ máy tính xách tay ASUS không phù hợp với bạn, thì bạn phải yêu cầu nhân gỡ bỏ nó. Để làm như vậy, loại bỏ các mô-đun tương ứng:

sudo rmmod asus-laptop

Điều đó sẽ loại bỏ các /sysmục có liên quan .


Lưu ý nhỏ: Một số tệp có thể bị xóa, những gì kích hoạt một số hành động nhất định. Tôi không chắc chắn những cái nào có trong sysfs, nhưng ví dụ: cgroupfs cho phép tạo / xóa cgroups bằng mkdir và rm.
allo

3
@allo sự khác biệt là tinh tế, nhưng cgroupfs như tên của nó cho thấy là một hệ thống tập tin khác. sysfs, được gắn trên /sys, chỉ hỗ trợ đọc và ghi, nó không hỗ trợ xóa.
Stephen Kitt

1
@StephenKitt: Nếu tôi là một người viết mô-đun hạt nhân muốn thêm một cái gì đó vào / sys, tôi rất có thể cung cấp nút thư mục riêng của mình đã xóa có dây. Tạo cho tôi những rùng mình mặc dù. mknod () là một cuộc gọi đặc biệt sau tất cả.
Joshua

@Joshua bây giờ bạn đã khiến tôi tò mò - bạn sẽ làm thế nào về điều đó, mà không cần cài đặt một hạt nhân mới (vì vậy không kernfs_create_root) hoặc bất kỳ fs nào khác?
Stephen Kitt

Các mô-đun có thể thêm các nút tùy ý vào sysfs và Procfs với trình xử lý vfs của riêng họ.
Joshua
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.