関連性がある場合に備えて、Linux Mint MATEバージョンを使用しています。
これがDropboxに固有のものかどうかはわかりませんが、元のMacで作成されたフォルダ(および入れ子になったサブフォルダがたくさんあります)のDropboxからzipをダウンロードしてLinuxシステムに抽出すると、完全に混乱します。クリーンアップ:すべてのフォルダには名前の小文字のバージョンを含むコピーがあり、サブファイルは元の代わりにコピーに表示されます。 Macを使用している同僚の1人が同じzipを解凍しても問題はありません。
これは私が得なければならないでしょう:
これが私が実際に得るものです:
私の考えでは、これはMacファイル名が大文字と小文字を区別しないという事実に関連しているようです。したがって、ファイルシステムのメタデータ間に奇妙な非互換性があります。
Macの圧縮解除プログラムの動作を複製したり、他の方法で正しい結果を生成したりできるlinuzの解凍ツールを知っている人はいますか?デフォルトフォルダに問題がない場合は、_MACOSXフォルダをそこに残しても問題ありません(削除できます)。
答え1
問題は、zipファイルがディレクトリ名に一貫性のない大文字と小文字のバリアントを使用することです。これが正しいCIOPFSファイルシステムの目的:ディレクトリツリーの大文字と小文字を区別しないビューを提供します。 Ubuntuパッケージがあります。一時ディレクトリにciopfsファイルシステムをマウントして既存のディレクトリのビューを作成し、そのビューでzipを解凍すると、元のディレクトリに抽出されたアーカイブが表示されます。
mkdir ~/case-insensitive
ciopfs ~/temp ~/case-insensitive
cd ~/case-insensitive
unzip -x __MACOSX -x '__MACOSX/*' /path/to/zip
cd ~/temp
fusermount -u ~/case-insensitive
もし何らかの理由でこれがうまくいかなかった場合、私の次の候補はPythonzipfile
ライブラリ(はい)。