GNU/Linux >> Tutoriels Linux >  >> Ubuntu

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

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 à ce sujet.

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

  • Pour les partitions non-/, il toujours utilise <driveroot>/.Trash-<uid> , Il jamais utilisé <driveroot>/.Trash/<uid> , même si je l'ai créé à l'avance. Tant que ça marche, c'est embêtant :si j'ai 15 utilisateurs, je me retrouve avec 15 /.Trash-xxx dossiers 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/.Trash répertoire est absent, un $topdir/.Trash-$uid répertoire doit être utilisé “. Eh bien, il est présent, alors pourquoi ne l'utilise-t-il jamais ?

  • la corbeille racine ne le fait pas travail, du moins pas hors de la boîte. Ouvrez Nautilus en tant que root et cliquez sur la corbeille ; ça donne une erreur. Essayez de supprimer n'importe quel fichier, il dit "il ne peut pas être déplacé vers la corbeille". Ok, je sais que cela peut être résolu en créant /root/.local/share . Mais les spécifications indiquent "Un répertoire" corbeille personnelle "DOIT être automatiquement créé pour tout nouvel utilisateur. Si ce répertoire est nécessaire pour une opération de suppression mais n'existe pas, l'implémentation DEVRAIT le créer automatiquement, sans aucun avertissement ni délai. “. Pourquoi l'erreur alors ? Bug ?

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

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

"Si Ubuntu n'adhère pas à 100 % à la spécification, COMMENT exactement la poubelle fonctionne-t-elle ? OÙ puis-je trouver une référence technique pour l'implémentation de la corbeille dans Ubuntu ?"

Au fait :si Ubuntu respecte les spécifications, veuillez me dire ce que je fais de mal, en particulier en ce qui concerne le /.Trash-<uid> vs /.Trash/<uid> problème.

Merci !

MODIF :

Quelques informations supplémentaires :

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

  • Si Linux peut "émuler" les autorisations de fichiers sur le montage NTFS en modifiant /fstab options uid et gid, peut-il également "émuler" le bit collant ? Je préférerais vraiment utiliser /.Trash/xxx format…

  • Pour le problème racine :pour la partition /, je peux utiliser la corbeille en tant que racine, et elle va dans /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 supprimés, mais je ne peux pas y accéder. Tout ce que je peux faire est de les "purger" manuellement (en supprimant les fichiers sur /root/.local/share/Trash ), mais la restauration serait très délicate (ouverture des fichiers d'informations et déplacement manuel, etc.).

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

  • À propos de fstab :je l'utilise pour un montage permanent de mes partitions NTFS. J'en ai plusieurs, et s'ils ne sont pas "pré-montés", ils encombrent vraiment le bureau et/ou Nautilus. Je préfère l'avoir pré-monté, intégré dans mon système de fichiers, dans des montages comme /data , /windows/xp , /windows/vista , et ainsi de suite, et laissez /media et sa flexibilité de "montage/démontage" uniquement pour les disques véritablement amovibles.

Connexe :Comment choisir comment activer/désactiver, démarrer/arrêter ou vérifier l'état d'un service ?

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 ?

Réponse acceptée :

GNOME utilise .Trash correctement pour autant que je sache - si vous regardez dans la source gio/glocalfile.c, vous verrez qu'il tente d'utiliser le répertoire .Trash s'il existe. Notez cependant que le répertoire doit disposer des 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 exige que le répertoire .Trash ait le sticky bit défini dessus - voir Répertoires de la corbeille, note (1) dans la spécification de la 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 sticky bit, donc la seule façon de gérer cela en toute sécurité est d'utiliser un répertoire de corbeille par utilisateur.

Concernant 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 ici :vous devriez avoir besoin de jouer avec fstab, à moins que vous ne vouliez un contrôle total sur l'endroit où un système de fichiers externe est monté. Normalement, le support amovible est monté automatiquement lors de la détection dans /media pour l'utilisateur actuellement actif, mais il est alors inaccessible à tout autre utilisateur. Si vous voulez une configuration différente, vous devriez jouer avec le fichier de configuration. Je ne vois pas le rapport avec les déchets, cependant.


Ubuntu
  1. Comment fonctionne le Sticky Bit ?

  2. Le but de .bashrc et comment ça marche ?

  3. Comment utiliser l'interface graphique pour rechercher des fichiers dans Gnome ?

  4. Comment désactiver le trousseau de clés pour Ssh et Gpg ?

  5. Où puis-je savoir quand la prochaine version du noyau sera publiée pour la version Distro ?

Qu'est-ce que Hadoop Mapreduce et comment ça marche

Qu'est-ce que le DNS inversé et comment ça marche ?

Qu'est-ce que la VDI et comment ça marche ?

Comment trouver l'adresse IP d'un appareil sur un réseau ?

Où trouver le fichier de configuration pour Proftp ?

Comment puis-je trouver le nombre total de connexions TCP pour un port et une période donnés par IP ?