マウントされた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
を変更する必要があるのはなぜですか マウントされたボリュームのエントリ。ボリュームがすでにすべてのユーザーのRWとしてマウントされている場合は、uidやguidなどのオプションを追加しますか?
これらは、標準からの逸脱のほんの一例です。したがって、問題は次のとおりです。
「Ubuntuが仕様に100%準拠していない場合、正確に ゴミは機能しますか? Ubuntuのゴミ箱の実装に関するテクニカルリファレンスはどこにありますか?」
ちなみに、Ubuntuが仕様に準拠している場合は、特に/.Trash-<uid>
に関して、私が間違っていることを教えてください。 vs/.Trash/<uid>
問題。
ありがとう!
編集:
さらに詳しい情報:
-
特定のfsがスティッキービット(VFAT、NTFS)をサポートしていない場合、おそらくアクセス許可もありません(少なくともVFATは確かにサポートしていません)。つまり、1人のユーザーが
/
を削除できないのはなぜですか 他のユーザーの./Trash-xxx
を復元する ?自分のゴミ箱を読み書きできるのであれば、他のゴミ箱も含めてドライブ全体で同じことができますよね?または、Gnomeは./Trash-xxx
に何らかの「追加の」保護を備えていますか VFAT / NTFS fsのフォルダ? -
Linuxが
/fstab
を編集することにより、NTFSマウントでファイルパーミッションを「エミュレート」できる場合 uidおよびgidオプション、スティッキービットを「エミュレート」することもできますか?私は本当に/.Trash/xxx
を使いたいです フォーマット… -
ルートの問題の場合:/パーティションの場合、ゴミ箱をルートとして使用でき、
/root/.local/share/Trash
に移動します。 。しかし、Nautilusの「ゴミ箱」(ルートとして)をクリックすると、エラーが発生します。そうでしょう?そのため、ファイルは正しくゴミ箱に移動されますが、アクセスできません。私にできることは、手動でそれらを「パージ」することです(/root/.local/share/Trash
上のファイルを削除することによって) )、ただし、復元には非常に注意が必要です(情報ファイルを開いたり、手動で移動したりするなど)。 -
/以外のパーティション(または少なくともVFAT / NTFSの場合)の場合、ルートとしてゴミ箱を使用することもできません。
./Trash-0
は作成されません。 フォルダには、「ゴミ箱に入れられない、完全に削除したいですか?」と表示されます。なぜですか? -
fstabについて:NTFSパーティションの永続的なマウントに使用します。私はいくつか持っていますが、「事前にマウント」されていない場合、それらは実際にデスクトップやノーチラスを乱雑にします。
/data
のようなマウントで、事前にマウントしてファイルシステムに統合したいのですが 、/windows/xp
、/windows/vista
、などのように、/media
を残します 真にリムーバブルなドライブのためだけの「マウント/アンマウント」の柔軟性。
したがって、Ubuntu / Gnomeが本当に仕様に準拠している場合、根本的な問題を修正し、(少なくとも)fstabのNTFS固定パーティションのスティッキービットを「エミュレート」する方法はありますか?
承認された回答:
GNOMEは、私が理解している限り、.Trashを正しく使用しています。gio/ glocalfile.cソースを見ると、.Trashディレクトリが存在する場合はそれを使用しようとしていることがわかります。ただし、ユーザーがごみ箱ファイルを安全に保存できるようにするには、ディレクトリに適切な権限が必要であることに注意してください(ここでは、他のユーザーがユーザーのごみ箱ファイルを復元できないことを意味します)。このGNOMEでは、.Trashディレクトリにスティッキービットが設定されている必要があります。FreeDesktop.Orgのごみ箱仕様のごみ箱ディレクトリの注(1)を参照してください。
上記のアプローチの主な問題は、ほとんどのr / wリムーバブルメディアがFATであり、スティッキービットをサポートしていないため、これを安全に処理する唯一の方法は、ユーザーごとのゴミ箱ディレクトリを使用することです。
ルートのゴミ箱について–あなたが説明した問題を再現することはできませんが、私にとってはうまくいくようです。
/ etc / fstabについて–何が問題なのかわかりません。外部ファイルシステムがマウントされている場所を完全に制御したい場合を除いて、fstabをいじくり回す必要があります。通常、リムーバブルメディアは、現在アクティブなユーザーの/ mediaで検出されると自動的にマウントされますが、他のユーザーはアクセスできなくなります。別の設定が必要な場合は、構成ファイルをいじる必要があります。しかし、それがゴミとどのように関係しているかはわかりません。