Comment fonctionne la corbeille et où puis-je trouver de la documentation officielle, des références ou des spécifications?

14

En essayant de gérer la corbeille à partir de volumes NTFS montés, j'ai fini par lire la référence de FreeDesktop.org dessus.

En fouillant et en faisant des tests, j'ai réalisé qu'Ubuntu / Gnome ne suit pas les spécifications à 100%. Voici pourquoi:

  • Pour les non / partitions, il utilise toujours<driveroot>/.Trash-<uid> , il n'a jamais utilisé <driveroot>/.Trash/<uid>, même lorsque je l'ai créé à l'avance. Bien que cela fonctionne, c'est ennuyeux: si j'ai 15 utilisateurs, je me retrouve avec 15 /.Trash-xxxdossiers dans mon lecteur, tandis que l'autre approche donnerait toujours un seul dossier (avec 15 sous-dossiers). Cette "pollution" dans mes lecteurs est très désagréable. Et les spécifications disent " Si un $topdir/.Trashrépertoire est absent, un $topdir/.Trash-$uidrépertoire doit être utilisé ". Eh bien, il est présent, alors pourquoi ne l'utilise-t-il jamais?

  • la corbeille racine ne fonctionne pas , du moins pas hors de la boîte. Ouvrez nautilus en tant que root et cliquez sur corbeille; cela donne une erreur. Essayez de supprimer n'importe quel fichier, il dit "il ne peut pas être placé dans la corbeille". Ok, je sais que cela peut être corrigé en créant /root/.local/share. Mais les spécifications indiquent que " Un répertoire" home trash "DEVRAIT être créé automatiquement pour tout nouvel utilisateur. Si ce répertoire est nécessaire pour une opération de corbeille mais n'existe pas, l'implémentation DEVRAIT le créer automatiquement, sans aucun avertissement ni retard. ". Pourquoi l'erreur alors? Punaise?

  • Pourquoi dois - je modifier les /etc/fstabentrées pour les volumes montés, en ajoutant des options comme uid et guid, si les volumes sont déjà montés comme RW pour tout le monde?

Ce ne sont là que quelques exemples d'écart par rapport à la norme. Donc, la question est:

"Si Ubuntu n'adhère pas à 100% à la spécification, COMMENT fonctionne exactement la corbeille? OERE puis-je trouver une référence technique pour la mise en œuvre par Ubuntu de la corbeille?"

Soit dit en passant: si Ubuntu suit les spécifications, dites-moi ce que je fais de mal, en particulier en ce qui concerne le problème /.Trash-<uid>vs./.Trash/<uid>

Merci!

ÉDITER:

Quelques informations supplémentaires:

  • Si un fs donné ne prend pas en charge le bit collant (VFAT, NTFS), il n'a probablement pas non plus d'autorisations (au moins VFAT ne le fait sûrement pas). Alors, qu'est-ce qui empêche un utilisateur de purger la /restauration des autres utilisateurs ./Trash-xxx? Si l'on peut lire / écrire sa propre corbeille, on peut faire de même pour tout le lecteur, y compris les autres corbeilles, n'est-ce pas? Ou est-ce que Gnome a une sorte de protection "supplémentaire" sur les ./Trash-xxxdossiers sur fs VFAT / NTFS?

  • Si Linux peut les autorisations de fichier « sur le montage » Emuler NTFS par l' édition /fstaboptions uid et gid, peut - il aussi « Emuler » le bit sticky? Je préférerais vraiment utiliser le /.Trash/xxxformat ...

  • Pour le problème racine: pour la partition /, je peux utiliser la corbeille en tant que root, et cela va /root/.local/share/Trash. Mais si je clique sur Nautilus "Trash" (en tant que root), j'obtiens une erreur. N'est-ce pas? Les fichiers sont donc correctement mis à la poubelle, mais je ne peux pas y accéder. Tout ce que je peux faire est de les "purger" manuellement (en supprimant les fichiers /root/.local/share/Trash), mais la restauration serait très délicate (ouvrir des fichiers d'informations et les déplacer manuellement, etc.).

  • Pour les non / partitions (ou au moins pour VFAT / NTFS), je ne peux même pas utiliser la corbeille en tant que root: il ne crée pas de ./Trash-0dossier, il dit simplement "Impossible de corbeille, vous voulez supprimer définitivement?" Pourquoi?

  • À propos de fstab: je l'utilise pour un montage permanent pour mes partitions NTFS. J'en ai plusieurs, et sinon "pré-montés" ils encombrent vraiment le bureau et / ou Nautilus. Je préfère avoir ce pré-monté, intégré dans mon système de fichiers, dans les montagnes comme /data, /windows/xp, /windows/vistaet ainsi de suite, et le congé /mediaet sa flexibilité « monter / démonter » juste pour les lecteurs amovibles vraiment.

Donc, si Ubuntu / Gnome suit vraiment la spécification, existe-t-il un moyen de résoudre les problèmes de racine et "d'émuler" le bit collant pour (au moins) mes partitions fixes NTFS fstab'ed?

MestreLion
la source

Réponses:

3

GNOME utilise correctement .Trash pour autant que je sache - si vous regardez dans la source gio / glocalfile.c, vous verrez qu'il essaie d'utiliser le répertoire .Trash s'il existe. Notez cependant que le répertoire doit avoir les autorisations appropriées pour que les utilisateurs puissent y stocker en toute sécurité des fichiers de corbeille (et en toute sécurité ici, je veux dire que les autres utilisateurs ne pourront pas récupérer les fichiers de la corbeille de l'utilisateur). Pour cela, GNOME nécessite que le répertoire .Trash ait le bit collant défini dessus - voir les répertoires de corbeille, note (1) dans la spécification de corbeille de FreeDesktop.Org.

Le principal problème avec l'approche ci-dessus est que la plupart des supports amovibles r / w que vous trouvez sont FAT, qui ne prend pas en charge le bit collant, donc la seule façon de gérer cela en toute sécurité est d'utiliser un répertoire de corbeille par utilisateur.

En ce qui concerne la corbeille racine - je ne peux pas reproduire le problème que vous décrivez, cela semble bien fonctionner pour moi.

En ce qui concerne / etc / fstab - je ne sais pas quel est le problème: vous devriez avoir besoin de jouer avec fstab, sauf si vous voulez un contrôle total sur l'endroit où un système de fichiers externe est monté. Les supports normalement amovibles sont montés automatiquement lors de la détection dans / media pour l'utilisateur actuellement actif, mais ils sont alors inaccessibles à tout autre utilisateur. Si vous souhaitez une configuration différente, vous devez jouer avec le fichier de configuration. Je ne vois pas comment cela se rapporte aux déchets, cependant.

Guss
la source
Merci! Vous m'avez donné BEAUCOUP d'informations intéressantes, et quelques questions se sont posées ... où dois-je demander / répondre à vos commentaires? Ici dans ce commentaire ou en éditant ma question d'origine?
MestreLion
J'ai marqué la vôtre comme réponse acceptée ... mais, si possible, veuillez répondre aux nouveaux problèmes mentionnés dans ma question (modifiée). Et merci BEAUCOUP pour votre réponse!
MestreLion
1

Un peu tard, mais si quelqu'un est intéressé:, j'ai eu le même problème mais, sur les conseils, j'ai téléchargé Dolphin. J'ai ensuite fait passer Dolphin sudo dolphindans le terminal.

Maintenant, un clic droit sur la poubelle et la sélection de la poubelle vide efface les fichiers plutôt que de produire une erreur.

Cela ne se rapporte pas vraiment à votre question, mais est simplement un contournement.

SimplySimon
la source