web-dev-qa-db-ja.com

標準のLinuxツールで7zファイルを抽出しますか?

.7z 7-Zipのファイル。

これを実行できる別の標準Linuxプログラムはありますか?多分これらの1つ

tar
bzip2
xz
gzip

bsdtarはこれを実行できますが、すべてのシステムで使用できるわけではありません。

31
Steven Penny

いいえ。7-ZipアーカイブはLZMAとLZMA2を使用します。これらは標準ツールではサポートされていません(bzip2も使用しますが、ヘッダーをデコードする必要があります)。

Linuxでは、7-Zipアーカイブはp7Ziphttp://p7Zip.sourceforge.net/ )で抽出できます。 Debian、Fedora、Ubuntu、そしておそらく他のディストリビューションのリポジトリにも含まれています。

(小文字のL、リスト用)を使用してリストの内容:

7za l myarchive.7z 

内容を抽出:

7za x myarchive.7z 
32
Mike Fleetwood

Unixで7-Zipアーカイブを処理する「標準」の方法は、 P7Zip を使用することです。ただし、7-Zip形式は主にWindows用に設計されているため、実際にはP7ZipデフォルトでLinuxディストリビューションにインストールされます。

UnixでのLZMA圧縮の利点が必要な場合は、 XZ Utils を使用してください。

2
jjlin

RHEL/CentOSのyumリポジトリーで7zaを見つけることができなかったので、sourceforge.netから最新バージョンのソースをダウンロードしました。

$ wget https://sourceforge.net/projects/p7Zip/files/p7Zip/16.02/p7Zip_16.02_src_all.tar.bz2

(ダウンロードしようとしたときに、上記の「16.02」を最新のバージョンに変更してください。 https://sourceforge.net/projects/p7Zip/files/p7Zip/ にアクセスして確認できます)。

P7Zipアーカイブをダウンロードしたディレクトリにあるので、解凍します。

$ tar -xvjf p7Zip_16.02_src_all.tar.bz2

次に、展開したフォルダー内でrootユーザーとしてmakeコマンドを実行します。

# make
# make install

7zaバイナリ/usr/local/binディレクトリ(少なくともRHEL7を使用している場合):

$ whereis 7za
7za: /usr/local/bin/7za
1
Tagar

7zaバイナリは、p7Zipパッケージの一部であり、そのために使用できます。 RHEL/OL/CentOS(RHEL6/RHEL7でテスト済み)を使用している場合は、epelリポジトリからインストールできます。

RHEL6、7:

# rpm -Uvh http://mirrors.kernel.org/Fedora-epel/6/i386/epel-release-6-8.noarch.rpm
# yum install p7Zip

このパッケージは長い間更新されていませんが、ファイルの抽出に使用できます:

$ 7za x xyz_7zfile.7z
0
Gryu

私は最初に7zaを試しましたが、うまくいきませんでした。同じオプションで7zを使ってみましたが、うまくいきました。以下に例を示します。To Extract: 7z e xy213file.7z

0
Avinash