Thùng rác có thể hoạt động như thế nào và tôi có thể tìm tài liệu chính thức, tài liệu tham khảo hoặc thông số kỹ thuật cho nó ở đâu?


14

Khi cố gắng quản lý thùng rác từ các khối NTFS được gắn kết, cuối cùng tôi đã đọc tài liệu tham khảo của FreeDesktop.org về nó.

Trêu chọc và thực hiện một số thử nghiệm, tôi nhận ra Ubuntu / Gnome không tuân theo thông số kỹ thuật 100%. Đây là lý do tại sao:

  • Đối với các phân vùng không /, nó luôn sử dụng <driveroot>/.Trash-<uid>, Nó không bao giờ được sử dụng <driveroot>/.Trash/<uid>, ngay cả khi tôi đã tạo trước. Trong khi điều này hoạt động, thật khó chịu: nếu tôi có 15 người dùng, tôi kết thúc với 15 /.Trash-xxxthư mục trong ổ đĩa của mình, trong khi cách tiếp cận khác vẫn sẽ cung cấp một thư mục duy nhất (với 15 thư mục con). "Ô nhiễm" trong ổ đĩa của tôi là rất khó chịu. Và thông số kỹ thuật cho biết " Nếu một $topdir/.Trashthư mục vắng mặt, một $topdir/.Trash-$uidthư mục sẽ được sử dụng ". Vâng, nó là hiện tại, vậy tại sao nó không bao giờ sử dụng nó?

  • thùng rác gốc không hoạt động, ít nhất là không ra khỏi hộp. Mở nautilus là root và bấm vào thùng rác; nó đưa ra một lỗi. Cố gắng xóa bất kỳ tập tin, nó nói "nó không thể di chuyển đến thùng rác". Ok, tôi biết điều này có thể được sửa chữa bằng cách tạo ra /root/.local/share. Nhưng thông số kỹ thuật cho biết " Thư mục thùng rác tại nhà của A NÊN NÊN tự động được tạo cho bất kỳ người dùng mới nào. Nếu thư mục này là cần thiết cho hoạt động dọn rác nhưng không tồn tại, việc triển khai NÊN tự động tạo ra nó, mà không có bất kỳ cảnh báo hoặc chậm trễ nào. ". Tại sao lại có lỗi? Bọ cánh cứng?

  • Tại sao tôi phải thay đổi /etc/fstabmục nhập cho các ổ đĩa được gắn, thêm tùy chọn như uid và guide, nếu các ổ đĩa đã được gắn dưới dạng RW cho mọi người?

Đây chỉ là một số ví dụ về độ lệch so với tiêu chuẩn. Vì vậy, câu hỏi là:

"Nếu Ubuntu không tuân thủ 100% với thông số kỹ thuật, thì chính xác thùng rác hoạt động như thế nào? Tôi có thể tìm tài liệu tham khảo kỹ thuật nào cho việc triển khai thùng rác của Ubuntu?"

Nhân tiện: nếu Ubuntu thực sự làm theo thông số kỹ thuật, xin vui lòng cho tôi biết tôi đang làm gì sai, đặc biệt là về vấn đề /.Trash-<uid>vs./.Trash/<uid>

Cảm ơn!

BIÊN TẬP:

Một số thông tin thêm:

  • Nếu một fs nhất định không hỗ trợ bit dính (VFAT, NTFS), thì có lẽ nó cũng không có quyền (ít nhất là VFAT chắc chắn không có). Vậy điều gì ngăn một người dùng thanh trừng /khôi phục người dùng khác ./Trash-xxx? Nếu một người có thể đọc / ghi Thùng rác của riêng mình, người ta có thể làm tương tự cho toàn bộ ổ đĩa, bao gồm cả các thùng rác khác, đúng không? Hay Gnome có một số loại bảo vệ "phụ" trên ./Trash-xxxcác thư mục trên VFAT / NTFS fs?

  • Nếu Linux có thể "mô phỏng" các quyền của tệp khi cài đặt NTFS bằng cách chỉnh sửa /fstabcác tùy chọn uid và gid, thì nó cũng có thể "giả lập" bit dính không? Tôi thực sự thích sử dụng /.Trash/xxxđịnh dạng ...

  • Đối với vấn đề gốc: đối với phân vùng /, tôi có thể sử dụng thùng rác làm root và nó đi đến /root/.local/share/Trash. Nhưng nếu tôi nhấp vào Nautilus "Thùng rác" (với quyền root), tôi sẽ gặp lỗi. Không bạn Vì vậy, các tệp được chuyển chính xác, nhưng tôi không thể truy cập nó. Tất cả những gì tôi có thể làm là "thanh lọc" chúng theo cách thủ công (bằng cách xóa các tệp trên /root/.local/share/Trash), nhưng việc khôi phục sẽ rất khó khăn (mở tệp thông tin và di chuyển thủ công, v.v.).

  • Đối với các phân vùng không / (hoặc ít nhất là cho VFAT / NTFS), tôi thậm chí không thể sử dụng thùng rác làm root: nó không tạo ./Trash-0thư mục, nó chỉ đơn giản nói "Không thể dọn rác, muốn xóa vĩnh viễn?" Tại sao?

  • Giới thiệu về fstab: tôi sử dụng nó để gắn kết vĩnh viễn cho các phân vùng NTFS của tôi. Tôi có một vài cái, và nếu không "gắn sẵn" thì chúng thực sự làm lộn xộn máy tính để bàn và / hoặc Nautilus. Tôi muốn có nó trước gắn kết, tích hợp trong hệ thống tập tin của tôi, trong gắn kết như /data, /windows/xp, /windows/vista, và như vậy, và nghỉ /mediavà nó "mount / unmount" linh hoạt chỉ cho các ổ đĩa thực sự thể tháo rời.

Vì vậy, nếu Ubuntu / Gnome thực sự tuân theo thông số kỹ thuật, có cách nào để khắc phục các sự cố gốc và để "mô phỏng" bit dính cho (ít nhất là) các phân vùng cố định NTFS đã bị lỗi của tôi không?

Câu trả lời:


3

Gnome đang sử dụng .Trash chính xác theo như tôi hiểu - nếu bạn tìm trong nguồn gio / glocalfile.c bạn sẽ thấy rằng nó cố gắng sử dụng thư mục .Trash nếu nó tồn tại. Tuy nhiên, xin lưu ý rằng thư mục phải có quyền chính xác để người dùng có thể lưu trữ an toàn các tệp rác trong đó (và ở đây an toàn, tôi có nghĩa là những người dùng khác sẽ không thể khôi phục các tệp rác của người dùng). Đối với Gnome này yêu cầu thư mục .Trash phải có bit dính trên nó - xem Thư mục Thùng rác, ghi chú (1) trong đặc tả Thùng rác của FreeDesktop.Org.

Vấn đề chính với cách tiếp cận ở trên, đó là hầu hết các phương tiện di động r / w bạn tìm thấy là FAT, không hỗ trợ bit dính, vì vậy cách duy nhất để xử lý vấn đề này một cách an toàn là sử dụng thư mục rác cho mỗi người dùng.

Về Thùng rác gốc - Tôi không thể tái tạo vấn đề mà bạn mô tả, có vẻ như nó hoạt động tốt với tôi.

Về / etc / fstab - Tôi không chắc vấn đề ở đây là gì: bạn cần phải loay hoay với fstab, trừ khi bạn muốn kiểm soát hoàn toàn nơi gắn hệ thống tệp bên ngoài. Thông thường phương tiện di động được gắn tự động khi phát hiện trong / phương tiện cho người dùng hiện đang hoạt động, nhưng sau đó nó không thể truy cập được đối với bất kỳ người dùng nào khác. Nếu bạn muốn thiết lập khác thì bạn nên làm rối với tập tin cấu hình. Tôi không thấy làm thế nào liên quan đến rác, mặc dù.


Cảm ơn! Bạn đã cho tôi rất nhiều thông tin thú vị, và một vài câu hỏi phát sinh ... tôi nên hỏi / trả lời ý kiến ​​của bạn ở đâu? Ở đây trong bình luận này hoặc chỉnh sửa câu hỏi ban đầu của tôi?
MestreLion

Ive đã đánh dấu câu trả lời của bạn là câu trả lời được chấp nhận ... nhưng, nếu có thể, vui lòng trả lời các vấn đề mới mà tôi đã đề cập trong câu hỏi (đã chỉnh sửa) của tôi. Và cảm ơn rất nhiều cho câu trả lời của bạn!
MestreLion

1

Hơi muộn một chút, nhưng nếu có ai quan tâm :, tôi cũng gặp vấn đề tương tự, nhưng theo lời khuyên, tôi đã tải xuống Cá heo. Sau đó tôi chạy cá heo qua sudo dolphinthiết bị đầu cuối.

Bây giờ, nhấp chuột phải vào Wastebin và chọn Empty Wastebin sẽ xóa các tệp thay vì tạo ra lỗi.

Điều này không thực sự liên quan đến câu hỏi của bạn, mà chỉ đơn giản là một công việc xung quanh.

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.