UbuntuでGUIを使用して7z圧縮レベルを設定するにはどうすればよいですか?


14

アーカイブマネージャー、またはfile-rollerには、ファイルの圧縮レベルを設定するオプションがないよう7zです。

ここに画像の説明を入力してください

ただし、Windowsクライアント7-zipには、GUIを使用してそうするオプションがあります-

ここに画像の説明を入力してください

Ubuntu / Linuxでは、-mフラグを使用してコマンドライン(CLI)で圧縮レベルを設定できます。詳細については、この回答を参照しください。

7zUbuntuのGUIを使用してアーカイブの圧縮レベルを設定するための規定はありますか?


私の知る限り、ultraデフォルトでレベルを使用します!
blade19899

@ blade19899デフォルトのレベルは5(通常)
Rohith Madhavan

あなたは私を学校に通った。唯一のオプションは、コマンドラインバージョンを使用することです。機能のリクエストを送信してください!私の知る限り:)
blade19899

私はそれがxzが通常使用するのとほぼ同じアルゴリズムであり、より高い圧縮レベルはRAMの「数ギガバイト」を必要とする可能性があると思います(そう言いますman xz)-常に「max」を指定することが最良のアイデアであるzipとは異なります。
Xen2050 14

これは、アーカイブするファイルのサイズに依存します。実際には、RAMの要件はそれほど問題ではありません。
Rohith Madhavan

回答:


16

私のアイデアは、パッケージのファイルリストまたはgconfでヒントを見つけることでしたが、運がありませんでした。しかし、他の誰かが答えを知っていました。

スーパーユーザー:ファイルローラーのデフォルトの圧縮レベルを変更しますか?

どちらか:

$ dconf write /org/gnome/file-roller/general/compression-level "'maximum'"

または:

$ dconf-editor
  1. org左側のペインで選択します。
  2. gnome左側のペインで選択します。
  3. file-roller左側のペインで選択します。
  4. general左側のペインで選択します。
  5. compression-level右側のペインで選択します。
  6. に設定compression-level'maximum'ます。

残念ながら、異なる圧縮プログラムに対してこの設定を微調整することはできません。すべての自由が必要な場合は、代わりにシェルを使用できます。

ファイルローラーの圧縮レベルを最大に設定したdconfエディターの画像。

以前はその回答には賛成票がなかったため、これが何らかの効果があるかどうかをチェックし、デフォルト設定と最大設定(タイプ7z)で一部のドキュメントを圧縮することを選択しました。結果:〜300 KBのアーカイブで2,3 KBの改善。

注意:

  • コンテンツによっては、LZMA / LZMA2を使用してすべてを最大レベルに圧縮すると、マイナスの影響を与える可能性があります。たとえば、PNGはDeflateですでに圧縮されているため、圧縮してもあまり効果はありません。PNGOUT / OptiPNG、Zopfliでそれらを最適化し、LZ4でアーカイブし、アーカイブの解凍を高速化し、ファイルサイズを小さくする方が理にかなっています。

ファイルローラーのマンページとユーザーマニュアル使用して詳細を確認しようとしましたが、まだうまくいきません。次に、ソースパッケージをダウンロードし、「maximum」を検索しましたfr-command-7z.c(ソースを読むことを避ける方法に注意してください)。これにより、次のことがわかりました。

switch (archive->compression) {
case FR_COMPRESSION_VERY_FAST:
    fr_process_add_arg (command->process, "-mx=1");
    break;
case FR_COMPRESSION_FAST:
    fr_process_add_arg (command->process, "-mx=5");
    break;
case FR_COMPRESSION_NORMAL:
    fr_process_add_arg (command->process, "-mx=7");
    break;
case FR_COMPRESSION_MAXIMUM:
    fr_process_add_arg (command->process, "-mx=9");
    if (! _g_mime_type_matches (archive->mime_type, "application/zip")
        && ! _g_mime_type_matches (archive->mime_type, "application/x-cbz"))
    {
        fr_process_add_arg (command->process, "-m0=lzma2");;
    }
    break;
}

私が現在得られる限りでは、ウルトラ設定はないようです。


1
提案された方法は圧縮レベルを改善する可能性がありますが、異なるレベルが必要になるたびにdconf-editorの値を変更する必要があります。圧縮レベルを動的に選択する方法はありますか?
Rohith Madhavan

答えは+1。問題を正確に解決するわけではありませんが、代替ソリューションを提供します。
ロヒスマダヴァン

@RohithMadhavan私はあなたの言うことを理解しています。私はここで誰も責めないようにしていますが、それがデフォルトのGnomeアプリケーションが機能することを意図している方法だと思います。
LiveWireBT 14

君が正しいと思う。機能のリクエストを提出しようとする場合があります。詳細オプションに含める場合があります。おかげで:
ロヒスマダヴァン14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.