GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie funktioniert der Mülleimer und wo finde ich die offizielle Dokumentation, Referenz oder Spezifikation dafür?

Als ich versuchte, den Papierkorb von gemounteten NTFS-Volumes zu verwalten, las ich schließlich die Referenz von FreeDesktop.org dazu.

Als ich herumstöberte und einige Tests durchführte, stellte ich fest, dass Ubuntu/Gnome die Spezifikationen nicht zu 100 % befolgt. Hier ist der Grund:

  • Bei Nicht-/-Partitionen immer verwendet <driveroot>/.Trash-<uid> , Es nie verwendet <driveroot>/.Trash/<uid> , auch wenn ich es im Voraus erstellt habe. Das funktioniert zwar, ist aber ärgerlich:Wenn ich 15 Benutzer habe, lande ich bei 15 /.Trash-xxx Ordner in meinem Laufwerk, während der andere Ansatz immer noch einen einzelnen Ordner (mit 15 Unterordnern) ergeben würde. Diese „Verschmutzung“ in meinen Laufwerken ist sehr unangenehm. Und die Spezifikationen sagen „Wenn ein $topdir/.Trash Verzeichnis fehlt, ein $topdir/.Trash-$uid Verzeichnis verwendet werden soll “. Nun, es ist vorhanden, also warum verwendet es es nie?

  • Root-Papierkorb nicht funktionieren, zumindest nicht out of the box. Öffnen Sie Nautilus als root und klicken Sie auf Papierkorb; es gibt einen Fehler. Versuchen Sie, eine beliebige Datei zu löschen, es heißt „sie kann nicht in den Papierkorb verschoben werden“. Ok, ich weiß, dass dies behoben werden kann, indem Sie /root/.local/share erstellen . Aber die Spezifikationen sagen:„Ein „Home-Papierkorb“-Verzeichnis SOLLTE automatisch für jeden neuen Benutzer erstellt werden. Wenn dieses Verzeichnis für eine Papierkorboperation benötigt wird, aber nicht existiert, SOLLTE die Implementierung es automatisch erstellen, ohne Warnungen oder Verzögerungen. “. Warum dann der Fehler? Fehler?

  • Warum muss ich /etc/fstab ändern Einträge für gemountete Volumes, Hinzufügen von Optionen wie uid und guid, wenn die Volumes bereits als RW für alle gemountet sind?

Dies sind nur einige Beispiele für Abweichungen vom Standard. Die Frage lautet also:

„Wenn Ubuntu sich nicht zu 100 % an die Spezifikation hält, WIE genau Funktioniert der Müll? WO finde ich eine technische Referenz für Ubuntus Implementierung des Papierkorbs?“

Übrigens:Wenn Ubuntu sich tatsächlich an die Spezifikationen hält, sagen Sie mir bitte, was ich falsch mache, insbesondere in Bezug auf /.Trash-<uid> vs /.Trash/<uid> Problem.

Danke!

BEARBEITEN:

Noch ein paar Infos:

  • Wenn ein bestimmtes fs das Sticky Bit (VFAT, NTFS) nicht unterstützt, hat es wahrscheinlich auch keine Berechtigungen (zumindest VFAT sicherlich nicht). Was hindert also einen Benutzer daran, / zu löschen Wiederherstellen von ./Trash-xxx anderer Benutzer ? Wenn man seinen eigenen Papierkorb lesen/schreiben kann, kann man dasselbe für das gesamte Laufwerk tun, einschließlich des Papierkorbs anderer, richtig? Oder hat Gnome eine Art „zusätzlichen“ Schutz für ./Trash-xxx Ordner auf VFAT/NTFS fs?

  • Ob Linux Dateiberechtigungen beim NTFS-Mounten „emulieren“ kann, indem /fstab bearbeitet wird uid- und gid-Optionen, kann es auch das Sticky-Bit „emulieren“? Ich würde wirklich lieber /.Trash/xxx verwenden formatieren…

  • Zum Root-Problem:Für die /-Partition kann ich Papierkorb als Root verwenden, und es geht nach /root/.local/share/Trash . Aber wenn ich auf Nautilus „Trash“ (als root) klicke, erhalte ich eine Fehlermeldung. Nicht wahr? Dateien werden also korrekt in den Papierkorb verschoben, aber ich kann nicht darauf zugreifen. Alles, was ich tun kann, ist sie manuell zu „bereinigen“ (indem ich Dateien auf /root/.local/share/Trash lösche ), aber das Wiederherstellen wäre sehr schwierig (Öffnen von Info-Dateien und manuelles Verschieben usw.).

  • Für Nicht-/-Partitionen (oder zumindest für VFAT/NTFS) kann ich Trash nicht einmal als Root verwenden:Es wird kein ./Trash-0 erstellt Ordner, da steht einfach "Kann nicht in den Papierkorb, willst du dauerhaft löschen?" Warum?

  • Über fstab:Ich benutze es für eine permanente Einbindung meiner NTFS-Partitionen. Ich habe mehrere, und wenn sie nicht „vorinstalliert“ sind, überladen sie wirklich den Desktop und/oder Nautilus. Ich hätte es lieber vorinstalliert, integriert in mein Dateisystem, in Mounts wie /data , /windows/xp , /windows/vista , und so weiter, und verlassen Sie /media und seine „Mount/Unmount“-Flexibilität nur für echte Wechseldatenträger.

Verwandte Themen:Wie wähle ich aus, wie ich einen Dienst aktivieren/deaktivieren, starten/stoppen oder den Status überprüfen kann?

Also, wenn Ubuntu/Gnome wirklich der Spezifikation folgt, gibt es eine Möglichkeit, die Root-Probleme zu beheben und das Sticky-Bit für (zumindest) meine mit fstab versehenen festen NTFS-Partitionen zu „emulieren“?

Akzeptierte Antwort:

Soweit ich weiß, verwendet GNOME .Trash korrekt – wenn Sie in die Quelle gio/glocalfile.c schauen, sehen Sie, dass versucht wird, das .Trash-Verzeichnis zu verwenden, falls es existiert. Beachten Sie jedoch, dass das Verzeichnis die richtigen Berechtigungen haben muss, damit Benutzer Papierkorbdateien sicher darin speichern können (und sicher meine ich hier, dass andere Benutzer die Papierkorbdateien der Benutzer nicht wiederherstellen können). Dafür verlangt GNOME, dass das .Trash-Verzeichnis das Sticky-Bit gesetzt haben muss – siehe Trash Directories, Anmerkung (1) in der Trash-Spezifikation von FreeDesktop.Org.

Das Hauptproblem bei dem obigen Ansatz besteht darin, dass die meisten R/W-Wechselmedien, die Sie finden, FAT sind, die das Sticky-Bit nicht unterstützen, sodass die einzige Möglichkeit, dies sicher zu handhaben, darin besteht, ein Papierkorbverzeichnis pro Benutzer zu verwenden.

In Bezug auf den Root-Papierkorb – ich kann das von Ihnen beschriebene Problem nicht reproduzieren, es scheint für mich gut zu funktionieren.

In Bezug auf /etc/fstab – ich bin mir nicht sicher, was dort das Problem ist:Sie sollten mit fstab herumspielen müssen, es sei denn, Sie möchten die volle Kontrolle darüber haben, wo ein externes Dateisystem gemountet ist. Normalerweise werden Wechselmedien automatisch gemountet, wenn sie in /media für den gerade aktiven Benutzer erkannt werden, aber sie sind dann für andere Benutzer unzugänglich. Wenn Sie ein anderes Setup wünschen, sollten Sie mit der Konfigurationsdatei herumspielen. Ich verstehe jedoch nicht, wie das mit Müll zusammenhängt.


Ubuntu
  1. Der Zweck von .bashrc und wie funktioniert es?

  2. Wie verwende ich die GUI, um in Gnome nach Dateien zu suchen?

  3. Wo kann ich herausfinden, wann die nächste Kernel-Version für die Distro-Version veröffentlicht wird?

  4. Wo finde ich die Konfigurationsdatei für Proftp?

  5. Wo kann ich die Abhängigkeiten für Pygame finden und installieren?

Was ist Hadoop Mapreduce und wie funktioniert es?

Was ist Reverse-DNS und wie funktioniert es?

Was ist VDI und wie funktioniert es?

Wie finde ich die IP-Adresse für ein Gerät in einem Netzwerk?

Was macht `–frontend` in `do-release-upgrade` und wo finde ich die Liste der möglichen Werte?

Wie kann ich die Gesamtzahl der TCP-Verbindungen für einen bestimmten Port und Zeitraum nach IP ermitteln?