見ているこれzip
質問、ファイルマネージャのコンテキストメニューのコマンドを使用して複数の20 MBのzipファイル(gmailメッセージが許可されているレベル)を生成できるかどうか疑問に思います。この質問に対する答えは、複数のファイルを簡単に作成できるrar
ことを示していますが、ファイルにアクセスできるかどうかを7z
知りたいです。zip
提案されたようなコマンドここ動作する必要があります。ターミナルとThunarのカスタマイズ操作の両方でこのコマンドを使用すると、同じ結果が表示されます。
zip my_archive.zip -r /path/to -s 20m
Thunarのバージョンは
zip my_archive.zip -r %f -s 20m
ただし、生成されたアーカイブ(my_archive.z01、my_archive.z02、my_archive.z03...、my_archive.zip)を開けません。
たぶん私が見ると、これは予想されたものかもしれません。こここのように生成されたファイルは、次のコマンドを使用して「圧縮を解除する」前に「圧縮を解除する」必要があります。
zip -s 0 my_archive.zip --out unsplit.zip
(言うべきです。通常、他のマルチファイルアーカイブは抽出する前に再結合する必要はなく、アーカイブパーティションも直接抽出できる複数のアーカイブボリュームを提供するため、これを行う必要があるとは思わなかった。hjsplit
もう一つの話です。)
unsplit.zip
ファイルを抽出してもエラーが発生することです。
$ unzip unsplit.zip
Archive: unsplit.zip
inflating: home/cip/Desktop/R/Interviu/20170918.3gpp
error: invalid compressed data to inflate
inflating
アーカイブは抽出できませんが、開くことができ(アーカイブマネージャ内で参照)、奇妙なフォルダ内のフォルダ構造を持っています(上記の行に示すように元々作成されたパスを反映)。
何が問題なの?
答え1
これは既知の問題in zip
:内部バッファサイズ(16KiB)の倍数に分割されたアーカイブを再構築できません。これで、異なるサイズに分割する必要があります。あなたの場合、20971519(20MiB - 1バイト)が正しく動作します。
(分割されたアーカイブを手動で再構築しようとしましたが、zip -FF
アーカイブコンポーネントを見つけても結合されたファイルは変更されませんでした。)
それは明らかですドキュメントローラー分割アーカイブがサポートされている(分割アーカイブ形式に従わない)、受信者がすべて使用する場合(または他のアーカイブが使用する場合)無料アーカイブ)split
または同様のツールを使用してアーカイブを分割できます。これを行うには、デフォルトのsplit
サフィックスなどを使用する必要がありますaa
。 makefile ab
:
split -b20m archive.zip split.z
その後、ファイルローラーを使用すると、split.zaa
アーカイブ全体を透明に開いて抽出できます(すべてのフラグメントが目立っている限り)。