上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- / Top↑
7-Zipはファイルアーカイバ(圧縮・解凍ツール)の一つです。
元々はWindowsから発生したツールのようで、あちらの世界では馴染があったようですが、今ではUNIX系などでも広く使用され始めてきているようです。

7-Zip(本家Homeページ)
http://www.7-zip.org/
7-Zip(本家Homeページ・日本語サイト)
http://sevenzip.sourceforge.jp/
7-Zip(wikipedia)
http://ja.wikipedia.org/wiki/7-Zip

7-Zipはメインの .7z だけでなく、他にも多数の圧縮フォーマットへの対応を行っているようです。
(本家サイトより抜粋)
The main features of 7-Zip
■High compression ratio in 7z format with LZMA and LZMA2 compression
■Supported formats:
 ・Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM
 ・Unpacking only: ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT,
            HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS,
RAR, RPM, SquashFS, UDF, VHD, WIM, XAR and Z.

また、通常データであれば従来の圧縮フォーマットより高率に圧縮できるそうで、サイズが大きくなるような配布ファイルなどへも多用されているようです。

普段の作業ではいつも使用しているアーカイバで事足りるのですが、今回は必要に迫られた場面での7-Zipのインストールでした。


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
skipping: 〜〜〜〜.*** need PK compat. v4.5 (can do v2.1)
というメッセージが表示され解凍できないzipファイル
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
(〜〜〜〜.***はファイル名とファイル種別です)

いつものように作業をしているとzipファイルの解凍で以下のようなメッセージが表示され、解凍できないzipファイルがありました。

(お断り)
ファイル名等はマスクしています。

$ unzip xxxxxxxxx.zip
Archive: xxxxxxxxx.zip
skipping: XXXXXXXXX.*** need PK compat. v4.5 (can do v2.1)

(注)
XXXXXXXXX.***は圧縮前のファイル名です。

「need PK compat. v4.5 (can do v2.1)」なんて初めて見るメッセージ形態でした。最初はさっぱり解かりませんでしたが、調べ進めてみると、どうやら7-zipの容量指定で分割圧縮したものなどで(GB単位の巨大ファイルの様に見えたり、実際にGB単位のデータもあるようです)、zipだからとそのままunzipした時などに出現するエラーのようです。単純に云えばZIPファイルにも種類があってOEL5.8標準のunzipでは当該ファイル形式を処理出来ない時に表示するエラーのようで、対応するには7-Zipを使用するしかないようです。

ちなみに私の当該.zipを見てみると、こんな内容でした。
$ unzip -l xxxxxxxxx.zip
Archive: xxxxxxxxx.zip
Length Date Time Name
-------- ---- ---- ----
4294967295 99-99-99 99:99 xxxxxxxxx1.***
4294967295 99-99-99 99:99 xxxxxxxxx2.***
4294967295 99-99-99 99:99 xxxxxxxxx3.***
4294967295 99-99-99 99:99 xxxxxxxxx4.***
-------- -------
17179869180 4 files

この.zipをCentOSの「書庫マネージャー」で見てみると、個別のデータは実際には十MB単位なのですが、1個が4GBなんてサイズに見えます。また、当然「書庫マネージャー」では解凍も出来ません。


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
7-Zipのインストール
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
前記、エラー対応の為に7-Zipをインストールします。インストールはyumなので安心です。

(注)
以降のメッセージはブログ表示の都合上、横幅を詰めています。

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
事前確認
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
$ yum search 7zip
Loaded plugins: fastestmirror, priorities, security
=======================Matched: 7zip=======================
lbzip2.i386 : Fast, multi-threaded bzip2 utility
p7zip.i386 : Very high compression ratio file archiver
p7zip-plugins.i386 : Additional plugins for p7zip
$ yum search 7-zip
Loaded plugins: fastestmirror, priorities, security
=======================Matched: 7-zip=======================
advancecomp.i386 : Recompression utilities for .PNG, .MNG and .ZIP files
p7zip.i386 : Very high compression ratio file archiver
xz.i386 : LZMA compression utilities
$

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
インストール
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
(注)
yum処理途中にはインストール最終確認の為の「y」入力があります。(インストールを止める場合は「n」を入力)

$ su
パスワード:
# yum install p7zip
Loaded plugins: fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* rpmforge: ftp.kddilabs.jp
* updates: mirror.neu.edu.cn
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package p7zip.i386 0:9.20.1-1.el5.rf set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================
Package Arch Version Repository Size
===========================================================================
Installing:
p7zip i386 9.20.1-1.el5.rf rpmforge 4.2 M

Transaction Summary
===========================================================================
Install 1 Package(s)
Upgrade 0 Package(s)

Total download size: 4.2 M
Is this ok [y/N]: y
Downloading Packages:
p7zip-9.20.1-1.el5.rf.i386.rpm | 4.2 MB 00:01
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : p7zip 1/1

Installed:
p7zip.i386 0:9.20.1-1.el5.rf

Complete!
#


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
使ってみる
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Redhat系のOS(私の場合はCentOS)では、7zipのコマンド名が以下の名称になります。
(CentOS,Scientific Linux) : 7za

■■■■■■■■■■■■■■■■■
help(パラメタ)確認
■■■■■■■■■■■■■■■■■
$ 7za --help

7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=ja_JP.UTF-8,Utf16=on,HugeFiles=on,1 CPU)

Usage: 7za [...] [...]
[<@listfiles...>]


a: Add files to archive
b: Benchmark
d: Delete files from archive
e: Extract files from archive (without using directory names)
l: List contents of archive
t: Test integrity of archive
u: Update files to archive
x: eXtract files with full paths

-ai[r[-|0]]{@listfile|!wildcard}: Include archives
-ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
-bd: Disable percentage indicator
-i[r[-|0]]{@listfile|!wildcard}: Include filenames
-m{Parameters}: set compression Method
-o{Directory}: set Output directory
-p{Password}: set Password
-r[-|0]: Recurse subdirectories
-scs{UTF-8 | WIN | DOS}: set charset for list files
-sfx[{name}]: Create SFX archive
-si[{name}]: read data from stdin
-slt: show technical information for l (List) command
-so: write data to stdout
-ssc[-]: set sensitive case mode
-t{Type}: Set type of archive
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
-v{Size}[b|k|m|g]: Create volumes
-w[{path}]: assign Work directory. Empty path means a temporary directory
-x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
-y: assume Yes on all queries
$

■■■■■■■■■■■■■■■■■
実際の使用
■■■■■■■■■■■■■■■■■
(お断り)
ファイル名等はマスクしています。

■■■■■■■■
リスト表示
■■■■■■■■
$ 7za l xxxxxxxxx.zip

7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=ja_JP.UTF-8,Utf16=on,HugeFiles=on,1 CPU)

Listing archive: xxxxxxxxx.zip

--
Path = xxxxxxxxx.zip
Type = zip
Physical Size = 11153312

Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
9999-99-99 99:99:99 ..... 10332156 1918458 xxxxxxxxx1.***
9999-99-99 99:99:99 ..... 17943095 3284725 xxxxxxxxx2.***
9999-99-99 99:99:99 ..... 18403106 3418958 xxxxxxxxx3.***
9999-99-99 99:99:99 ..... 14673642 2530525 xxxxxxxxx4.***
------------------- ----- ------------ ------------ ------------------------
61351999 11152666 4 files, 0 folders
$

■■■■■■■■
実際の解凍
■■■■■■■■
(注)
少し紛らわしいですが、下の例ではCommandが x(eXtract files with full paths)になります。

$ 7za x xxxxxxxxx.zip

7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=ja_JP.UTF-8,Utf16=on,HugeFiles=on,1 CPU)

Processing archive: xxxxxxxxx.zip

Extracting xxxxxxxxx1.***
Extracting xxxxxxxxx2.***
Extracting xxxxxxxxx3.***
Extracting xxxxxxxxx4.***

Everything is Ok

Files: 4
Size: 61351999
Compressed: 11153312
$

最初にエラーメッセージを見た時の悲壮感なんて木端微塵にされたように、あっけなく解凍出来てしまいました。とにかく良かった…。


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
最後に
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■今回インストールしたバージョンは 9.20 でした。CentOSパッケージインストールでのお決まりは「バージョンが古い」のが定番ですが、今回yumインストールした 7-Zipの場合、9.20 ですから最新バージョンと比較しても遜色のない新しさでした。(9.20は最新の安定バージョンのようです)


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
当作業の実行環境
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
◆オペレーティングシステム:CentOS release 5.11 (Final) CPU:32bit メモリ:512MB
◆p7zip Version 9.20

--- 以上 ---
2014.11.05 / Top↑
Secret(管理者にだけ表示を許可する)


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。