[centos-users 1649] Re: -O cp932 オプションの使える unzip 用の yum repo

Kenzi NOIKE knoike @ gmail.com
2014年 10月 7日 (火) 22:03:58 JST


野池です.

だいぶ前の自分の投稿ですが,ふと思い出しましたので,
自分の取った解決策を投稿します.
CP932 対応 unzip コマンドの件です.
「Windows 上で作られた,いわゆる日本語ファイル名を持つファイルを含んだ .zip ファイルを,
Linux 上で元どおりのファイル名で展開する」ことが目的です.


まず,
パッチを当てなくても unzip の 6.10b BETA から
-O cp932 オプションが使えるようになっていました.
http://sourceforge.net/projects/infozip/files/unreleased%20Betas/UnZip%20betas/

ただし,この機能はデフォルトでは有効になっておらず,
USE_ICONV_MAPPING マクロを定義してコンパイルする必要があります.

$ make -f unix/Makefile LOC=-DUSE_ICONV_MAPPING generic_gcc

ちょっと試してみた範囲では,期待どおりに動作しました.


次に,
なるべくならこの unzip 6.10b BETA を yum でインストールしたいところなのですが,
このバージョンの unzip を含んだリポジトリを見つけ出すことができませんでした.

そのため,私は,自分でコンパイルして生成した unzip コマンドを,
yum でインストールされる unzip コマンドとは別の場所に置いて
使用しています.

なお,yum でインストールされる unzip コマンドのバージョンは,
6.00 でした.


蛇足になりますが,
CP932 非対応の unzip では,そもそも正しいファイル名が取り出せていないらしく,
convmv などによる,単なる文字化け対策では,元のファイル名が復元できませんでした.

それと,最近になって unar(unrar ではなく,unar) というコマンドがあることを知り,
これなら特に何も考えることなくうまく展開できるらしいことを知りました.
unar を含んだ CentOS の 6.x 用の yum リポジトリを探しましたが,見つかりませんでした.
ソースからコンパイルして実行ファイルを生成しようとしましたが,
Makefile の修正だけでは済まず,かなりの箇所のソースコードを修正しても
満足に動作する unar コマンドが生成できなかったため,今回はあきらめました.

Fedora の 20 あたりからは,yum で unar をインストールできるらしいです.


theunarchiver - Multi-format unarchiver app for OS X. - Google Project Hosting
https://code.google.com/p/theunarchiver/

The Unarchiver
http://unarchiver.c3.cx/unarchiver


以上です.


2014年1月26日 21:50 Kenzi NOIKE <knoike @ gmail.com>:
> 野池と申します.
>
> どなたか,
> -O cp932 オプションの使える unzip コマンドを
> yum でインストールできるようにパッケージングして
> .repo ファイルを公開してくださっているサイトをご存知ないでしょうか.
>
> 去年くらいまでは,
> 「IKOINOBA YUM/APT repository - 憩いの場」
> http://linux.ikoinoba.net/index.php?mode=page&aim=rpm_deb
> の .repo をありがたく使用させていただいていたのですが,
> 最近は CentOS / ScientificLinux 用のパッケージは
> サイトに置いていないようです.
>
> 野良リポジトリでも構いません.
> それさえもないときは,Ubuntu 用のソースから
> コンパイルしてインストールしようと思っています,
>
> どうぞよろしくお願いいたします.
>
> --
> // Kenzi NOIKE



-- 
// Kenzi NOIKE


centos-users メーリングリストの案内