Як працює смітник, і де я можу знайти офіційну документацію, довідку чи специфікацію на нього?


14

Коли я намагався керувати смітником із змонтованих томів NTFS, я в кінцевому підсумку прочитав посилання на FreeDesktop.org на нього.

Оглянувшись і зробивши деякі тести, я зрозумів, що Ubuntu / Gnome не відповідає 100% характеристикам. Ось чому:

  • Для не / розділів він завжди використовує <driveroot>/.Trash-<uid>, ніколи не використовував <driveroot>/.Trash/<uid>, навіть коли я створив його заздалегідь. Хоча це працює, це дратує: якщо у мене є 15 користувачів, я закінчую 15 /.Trash-xxxпапками на своєму диску, тоді як інший підхід все одно надасть одну папку (з 15 підпапками). Та "забруднення" моїх приводів дуже неприємне. І характеристики кажуть: " Якщо $topdir/.Trashкаталог відсутній, $topdir/.Trash-$uidслід використовувати каталог ". Ну, він присутній, так чому він ніколи його не використовує?

  • кореневий смітник не працює, принаймні, не з коробки. Відкрийте nautilus як корінь і натисніть на кошик; це дає помилку. Спробуйте видалити будь-який файл. На ньому написано, що "він не може переміститися у кошик". Гаразд, я знаю, що це можна виправити, створивши /root/.local/share. Але специфікації говорять, що " Каталог домашнього сміття" ДОЛЖЕН бути автоматично створений для кожного нового користувача. Якщо цей каталог потрібен для операції з кошиком, але він не існує, реалізація ДОЛЖНА створити її автоматично, без будь-яких попереджень і затримок. " Чому тоді помилка? Помилка?

  • Чому я повинен змінювати /etc/fstabзаписи для змонтованих томів, додаючи такі параметри, як uid та guid, якщо томи вже встановлені як RW для всіх?

Це лише деякі приклади відхилення від стандарту. Отже, питання:

"Якщо Ubuntu не дотримується 100% специфікації, ЯК саме працює сміття? ДЕ Я можу знайти технічну довідку щодо впровадження Ubuntu сміття?"

До речі: якщо Ubuntu трапляється дотримуватися специфікацій, скажіть, будь ласка, що я роблю неправильно, особливо щодо випуску /.Trash-<uid>vs./.Trash/<uid>

Спасибі!

Редагувати:

Ще трохи інформації:

  • Якщо даний fs не підтримує клейкий біт (VFAT, NTFS), він, ймовірно, не має дозволів (принаймні, VFAT точно не має). Отже, що заважає одному користувачеві очистити /відновлення інших користувачів ./Trash-xxx? Якщо хтось може читати / писати свій кошик, це можна зробити те ж саме для всього диска, включаючи сміття інших, правильно? Або Gnome має якийсь "додатковий" захист ./Trash-xxxпапок на VFAT / NTFS fs?

  • Якщо Linux може "імітувати" дозволи на встановлення файлів NTFS, редагуючи параметри /fstabuid та gid, чи може він також "імітувати" клейкий біт? Я дійсно вважав за краще використовувати /.Trash/xxxформат ...

  • Для кореневої проблеми: для / розділу я можу використовувати сміття як root, і він переходить до /root/.local/share/Trash. Але якщо натиснути на Nautilus "Trash" (як корінь), я отримаю помилку. Чи не так? Таким чином, файли потрапляють правильно, але я не можу отримати доступ до нього. Все, що я можу зробити, це "очистити" їх вручну (видаливши файли на /root/.local/share/Trash), але відновлення було б дуже складним (відкриття інформаційних файлів та переміщення вручну тощо).

  • Для не / розділів (або принаймні для VFAT / NTFS) я навіть не можу використовувати сміття як корінь: він не створює ./Trash-0папку, він просто говорить "Не можете сміття, хочете остаточно видалити?" Чому?

  • Про fstab: я використовую його для постійного кріплення для моїх розділів NTFS. У мене є декілька, і якщо вони не «попередньо встановлені», вони дійсно захаращують робочий стіл та / або Nautilus. Я волів би мати його попередньо змонтовані, інтегровані в моїй файлової системи, в горах , як /data, /windows/xp, /windows/vistaі так далі, і відпустки /mediaі його гнучкість «монтування / размонтирования» тільки для дійсно знімних дисків.

Отже, якщо Ubuntu / Gnome справді слідує специфікації, чи є спосіб виправити корінні проблеми та "емулювати" липкий біт для (принаймні) моїх фіксованих розділів NTFS?

Відповіді:


3

GNOME правильно використовує .Trash, наскільки я розумію - якщо ви заглянете в джерело gio / glocalfile.c, ви побачите, що він робить спробу використовувати каталог .Trash, якщо він існує. Зауважте, що в каталозі має бути правильних дозволів, щоб користувачі могли безпечно зберігати у ньому файли сміття (а тут безпечно, я маю на увазі, що інші користувачі не зможуть відновити виправлені файли користувача). Для цього GNOME вимагає, щоб у каталозі .Trash був встановлений клейкий біт на ньому - див. Каталоги сміття, примітка (1) у специфікації FreeDesktop.Org Trash.

Основна проблема вищезазначеного підходу полягає в тому, що більшість знімних носіїв, які ви знайдете, - це FAT, який не підтримує клейкий біт, тому єдиний спосіб безпечно впоратися з цим - використовувати каталог сміття на кожного користувача.

Щодо кореневого кошика - я не можу відтворити описану вами проблему, вона, здається, працює добре для мене.

Щодо / etc / fstab - я не впевнений, у чому проблема: вам потрібно буде возитися з fstab, якщо ви не хочете повного контролю над тим, де встановлена ​​зовнішня файлова система. Зазвичай знімний носій встановлюється автоматично при виявленні в / медіа для користувача, який наразі є активним, але потім він є недоступним для будь-якого іншого користувача. Якщо ви хочете іншої установки, то вам слід повозитися з файлом конфігурації. Я не бачу, як це стосується сміття.


Спасибі! Ви дали мені багато цікавої інформації, і виникло декілька питань ... де я повинен запитати / відповідати на ваші коментарі? Ось у цьому коментарі чи редагуванні мого оригінального запитання?
MestreLion

Я позначив вашу як прийняту відповідь ... але, якщо можливо, будь ласка, дайте відповідь на нові питання, які я згадував у моєму (відредагованому) питанні. І дякую ЛОТ за вашу відповідь!
MestreLion

1

Трохи запізнюємось на це, але якщо когось цікавить:, у мене була така ж проблема, але за порадою я завантажив Дельфіна. Потім я пробіг Дельфіна через sudo dolphinтермінал.

Тепер, клацнувши правою кнопкою миші на Wastebin і вибравши Empty Wastebin, очищає файли, а не створює помилку.

Це насправді не стосується вашого питання, а просто обхід.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.