Ubuntu で 7-Zip を使う

以前、ノートPC で Fedora を使っていた際に 7-Zip を導入しました。

今回、Ubuntu(Lubuntu 18.04 LTS)でも 7-Zip を使いたくなったので導入することにしました。

目次

パッケージの確認

まず 7-Zip のパッケージ名 p7zip でリポジトリを検索します。

$ apt-cache search p7zip

liblzma-dev - XZ-format compression library - development files
liblzma5 - XZ 形式の圧縮ライブラリ
p7zip - 7zr file archiver with high compression ratio
forensics-extra - Forensics Environment - extra console components (metapackage)
p7zip-full - 7z and 7za file archivers with high compression ratio
p7zip-rar - non-free rar module for p7zip

7-Zip 関連でリポジトリから直接導入できるパッケージは以下の3つになります。

  • p7zip
  • p7zip-full
  • p7zip-rar

p7zip - ArchWiki
このページの最終更新日時は 2019年4月20日 (土) 23:54 です。
7z,7za,7zr バイナリの違い
7z は圧縮ファイルを展開するために外部のプラグインを使用します。
7za はスタンドアローンの実行ファイルです。7za は 7z に比べて対応しているアーカイブ形式が少ないですが、他のものを必要としません。
7zr はスタンドアローンの実行ファイルです。7zr は 7za よりも、扱えるアーカイブ形式が少ないですが、他のものを必要としません。7zr は 7z アーカイブを扱うだけの 7za の"軽量版"です。

それぞれをまとめると、以下のようになります。

p7zip

  • 7zr file archiver
    7zr は 7za の簡易版です。
    7z 形式のみであればこれで問題ないようですね。

base on Debian -- buster の p7zip パッケージに関する詳細

p7zip は次の二種類のプログラムを提供します:

  • /usr/bin/7zr
    7-zip ツールのスタンドアロン最小バージョンで、7z、LZMA と XZ アーカイブ
    のみ扱います。7z 圧縮は、ZIP 圧縮よりも 30-50% 良好です。
  • /usr/bin/p7zip
    7zr への gzip ライクなラッパー。

p7zip-full

  • 7z and 7za file archivers
    7z は外部プラグインを利用する前提のパッケージです(自身では圧縮・解凍できない)。
    7za は単体で利用可能な 7z の簡易版です。
    7zr よりサポートしている形式が多く、Zip や bzip2(.bz2), tar などに対応しています。
    7za であれば、普段使いでも問題は出なさそうです。

base on Debian -- sid の p7zip-full パッケージに関する詳細

対応している形式一覧:

  • 圧縮・展開: 7z, ZIP, GZIP, BZIP2, XZ, TAR
  • 展開のみ: APM, ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO,
    LZH, LZMA, LZMA2, MBR, MSI, MSLZ, NSIS, NTFS, RAR (non-free の
    p7zip-rar パッケージがインストールされている場合のみ), RPM, SquashFS,
    UDF, VHD, WIM, XAR, Z

p7zip-rar

  • rar module for p7zip
    rar は高い圧縮率を誇るモジュールです。
    オフィスワークで使う機会は無いでしょう。

導入

今回は、7za を使う前提で p7zip-full をインストールすることにしました。

$ sudo apt install p7zip-full

使い方

以下、主要なオプションを抜粋しています。

$ 7za --help

Usage: 7za <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a : Add files to archive
  x : eXtract files with full paths

<Switches>
  -o{Directory} : set Output directory
  • 圧縮例
$ 7za a /tmp/test.7z /home/test.gqv
  • 解凍例
$ 7za x -o"/tmp" /tmp/test.7z