5 : 15 RK書庫とRKUC

← 5 - 14 p↑ もくじ i 5 - 16 n →

超高圧縮: RK書庫とRKUC

2002年 4月20日
記事ID d20420

ZIPで圧縮すると、もとのファイルの半分くらいの大きさになるが、RKにすれば、そのZIPのさらに半分くらいにまで小さくすることができる。超高圧縮書庫として有名なRK。だが、RKUCを使うとさらに小さくできる――。

巨大テキストの圧縮例
形式サイズ
オリジナル59.06MB
GZIP21.74MB
ZIP21.72MB
yz2a618.83MB
SIT16.92MB
RAR16.73MB
ACE16.69MB
BZIP216.67MB
ZZIP16.13MB
GCA15.95MB
RK15.48MB
7-ZIP15.29MB
SZIP14.81MB
RKUC12.98MB

以下では、初心者でも簡単にできる「GUI経由のRKファイル処理」について説明したあと、自己解凍形式のRK書庫のカスタマイズ法と、RKUC圧縮のオプションについて書く。

RK入門

RK書庫が世界最高級の高圧縮であることは、よく知られている。世界中のいろいろな書庫の性能比較で有名なArchive Comparison Test (ACT)を見ても、テキスト圧縮実行ファイル圧縮ほか多くの分野で RK が圧縮率トップを誇っているのが分かる。このサイト(妖精現実)の2001年6月の記事「bzip2 と書庫いろいろ」でのサンプルでも、やはり RK が圧縮率第一位だった。

実用的には、圧縮率が高ければそれで良いというものでもなく、圧縮速度、解凍速度、安定性など、いろいろな要因が関係する。そうは言っても、このようなすごい高圧縮をはじき出すソフトに興味を持つのは、自然なことだろう。

RK自体はコマンドライン・トゥール(GUIでなくDOS窓をひらいて、コマンドをキーボードからタイプするスタイルのソフト)で、詳しい説明は付属の readme に書いてあるが、最近、サードパーティーによって、GUIのフロントエンド(ふつうの Windowsプログラムのように、マウスクリックなどで使えるようにする方法)も提供されてるので、初心者でも簡単にRKで遊ぶことができる。フロントエンドも日本製のフリーウェア Noah や Deaces などいろいろある。以下では、Noah を使う。

インストール

Noah のページからインストーラ付きの書庫をダウンロードして、クリックすれば簡単にインストールできる。すでに使い慣れている解凍ソフトがインストール済みの場合は、関連付けを変更しないように気をつけよう。関連付けのチェックをとりあえず全部外して(必要ならあとからまた変えれるので深く考える必要なし)、ショートカットの「送る」にだけチェックを入れておけば良いだろう。

Noahのインストーラーには、アーカイブ関連で必要なDLLをネットから最新版を自動ダウンロードするべんりな機能(caldix)もある。まかせておけば良い。

次に、RK Software のダウンロードページ から RK Archiver - english Win32 をダウンロード。現時点(2002年4月)のバージョンは 1.04.1 で、ファイル名は rk104a1w.exe 。クリックすると英語での紹介文が出るので OK を押す。どこに解凍するか聞いてくるので、browse をクリックして適当なフォルダ(あらかじめ新規作成しておくと良い)を指定。出てきた rk.exe を Noah のフォルダにコピーする。(本当は初めから Noah のフォルダに解凍しても良いのだが、2種類のソフトの付属ファイルが同じフォルダでごちゃまぜになるのは良くない。)

コマンドライン版の圧縮解凍ソフトでも、対応する「b2eファイル」を用意することで、Noah から GUI的に操作できるようになる(ただし、コマンドラインから使える全機能がサポートされるとは限らない)。具体的には、「b2eとか」の「b2e を一括ダウンロード」ってとこからLZH形式またはGCA形式で配布されている書庫をダウンロード、解凍すると ~.b2e というファイルがうじゃうじゃ出てくるので、ぜんぶ Noah のフォルダのなかの b2e フォルダに入れる。

rk.exeは四角い紺と白のアイコンだ。

rk.exeを Noahフォルダに、rk.b2e を b2eフォルダに入れる。

設定

Noahを起動(スタートメニューから、またはアイコンを直接Wクリック)して設定を行う。

圧縮タブ

圧縮先フォルダは「元のファイルと同じ場所」で良いだろう。「圧縮後開く」は必要なければチェックを外す。「圧縮形式」ではプルダウンリストから本題の RK を選ぶ。するとすぐ右のリストにも選択肢があらわれるので、best(=圧縮率優先)にしておこう。

解凍タブ
とりあえず「書庫と同じ場所」で良いだろう。「解凍後開く」は必要なければチェックを外す。
Windows拡張

「関連付け」の「他」という小さなボタンをクリック。左から「RK」を選んで「追加」をクリックし「RK」を右の欄に移動させてから、「実行」をクリックしてダイアログを閉じる。なお、「ショートカット」の「送る」にチェックが入っていることも確認しておく。

OK を押して「Noahのプロパティ」ダイアログを閉じる。

RKファイルを作ってみよう

てごろな大きなのファイル(1MB程度)のアイコンを右クリックして「送る」から「Noah」を選ぶ。

すると、一時的にDOS窓(このような黒いウィンドウ)が開いて、進行状況のパーセントが表示される。完了するとDOS窓は勝手に閉じる。同じフォルダのなかに、今のファイルがRK圧縮された新しいファイルができているはずだ。

卵の殻から鳥が出てくるアイコン

これで圧縮完了。zipやjpegやmpegのようなもともと圧縮されているファイルでなしにテキストやビットマップなどで試すとRKの圧縮効果が分かりやすい。

圧縮してできた .rkファイルを元に戻す(解凍する)には、単にそのファイルをWクリックすれば良い。ただし、Noah と rk がインストールされていない環境では、そんな簡単に解凍できないので、第三者に送るファイルを不用意にrk書庫にしてはいけない。

圧縮したいファイルをひとつのフォルダにまとめて、そのフォルダを右クリックからNoahに送れば、簡単に、複数のファイルが入ったrk書庫を作ることもできる。解凍方法も上と同じだ。

Noah と関連づけた場合の .rkファイルのアイコン(鳥のたまご)は、Noahに含まれる汎用アイコンです。使い方によっては、いろいろな形式のファイルがすべて同じNoahのアイコンになってしまいますが、フォルダオプションの設定からアイコンをカスタマイズすることもできます。こんなので良ければ、ご利用ください。
ただRKと書いてあるだけのアイコン ダウンロード

RK形式の自己解凍書庫

ここ以降は、ある程度の予備知識を前提とする(コマンドラインからの作業)。rk書庫の作成と解凍だけなら、上で説明した方法でだいじょうぶなので、以下のことは必ずしも理解する必要ない。

RKは自己解凍形式にすることもできる。コマンドラインの例:
rk -mx1 -SFX archive.exe *.txt
-SFXスイッチは大文字でタイプする。SFXでは自前のアイコンが自動的に用いられる: デフォルトの実行ファイルアイコンに似たアイコンで、RKという文字がある。

自己解凍型RK書庫には、解凍時のダイアログ等を指定するための特別なスクリプトを付け加えることができる。
rk as archive.exe my.txt
スクリプト用のテキストファイルの書式は、readme 参照。例えば、次のようになる。

define destination ""
define overwrite yes
define paths full
define title "必要なら解凍先を指定して下さい"
on finished do
  open readme.txt # 解凍終了時に自動で開くファイル
end

手元で試した限りでは、現在、ダイアログのタイトルでのみ日本語文字(SJIS)が使える。そのほかの位置では日本語文字は化ける。また、destination を空文字列にすると(つまりダイアログの解凍先指定欄をデフォルトで空欄にすると)、そのまま解凍した場合、カレントに解凍される。

次のようにすると、解凍先等の指定に先立って、まえがき的なメッセージを出すこともできる。

text MyMessage
Welcome to our archive.

You are going to decompress our English-Russian dictionary.
The file size will be 24MBytes.
&end

on init do
  textdlg MyMessage cancel=quit
end

on quit do
  exit
end

カスタマイズされた解凍時スクリプトについては、vsコマンドで内容を確認できる。rsで削除できる。asで登録されている状態で、さらにasすると、確認のうえ、上書きできる。

RKUC

RK系のアーカイバないし圧縮トゥールは、いろいろある。ハンガリーのページ:
http://sac-ftp.externet.hu/pack14.html
のリストが充実している。RKUCはアーカイバ機能はなく、圧縮・解凍機能のみを提供する(アーカイブが必要な場合、あらかじめ tar等を使えば良い)。開発は終了ないし停止しているようだが、世界最高の圧縮率を誇る rk より、さらに高い圧縮をはじき出すことがあるので注意したい。

圧縮結果の表をふたたび見てみよう。ちなみに、これは英辞郎のデータ(英和辞典)を圧縮したものだ。

巨大テキストの圧縮例
形式サイズ
オリジナル59.06MB
GZIP21.74MB
ZIP21.72MB
yz2a618.83MB
SIT16.92MB
RAR16.73MB
ACE16.69MB
BZIP216.67MB
ZZIP16.13MB
GCA15.95MB
RK15.48MB
7-ZIP15.29MB
SZIP14.81MB
RKUC12.98MB

ZIP等の「旧式」の圧縮法だと20MB程度、ACE, RAR, SITに代表される「新しい」圧縮法だと16MB程度、RK、SZIPが15MBという場面で、RKUCは何と13MBを切って12MB台を叩き出している。これは、特にこうなる例を選んだわけでなく、無作為なサンプルだ。また、何かの間違いでないことを確認するために、再解凍したものとオリジナルとでMD5を比較し、1バイトのエラーも起きてないことを確かめてある。ついでながら、7-Zipも躍進がつづいているようだ。

Noah をフロントエンドとして RKUC を使うことも可能だが、現在、配布されている rku.b2e では、必ずしも高い圧縮率が得られない。コマンドライン経由のほうが良いだろう。上記の例では、試しに、次のようなオプションを利用した:

なお、RKUCで圧縮したファイルの拡張子は .rku が想定されている。test というファイルが存在しない状態で、
C:\ONLINE~1\RK>rkuc e test
とタイプすると、
ERROR 002: Unable to open file named 'test.rku'.
のように出力されることから、RKUCはデフォルトで、.rkuファイルを探していることが分かる。

ソフトの配布元

この記事のURL

テキスト版省パケ版XML版


あす首吊るので/ほか

2002年 4月19日
記事ID d20419

メモ(雑記)

2002-04-19

まめfile Explorer より多機能で使いやすいフリーのファイラーまめFileが 2.65正式版にバージョンアップ。細かい点がたくさん改善されました。なお、メモリの掃除屋さんにも新しいベータが出てます。

Mozilla 2001-04-19 Mozilla 1.0 Release Candidate 1 がReleases。(8:00) リリースノート

バージョン情報に Mozilla 1.0 と表示される

機能はあいかわらず発展途上だが記念すべき節目

2002-04-17

IEの中止ボタンがしいたけに見えて困る

明日首吊ので最後のオナニ用の画像下さい(.gzミラー)(

2002-04-17 米最高裁「児童ポルノ禁止法は言論の自由に反し、違憲」

IE6 SP1 beta3 と Q319182 を共存させる

FAQ. IE6 SP1 beta3 (2800.1005) をインストールしたあと、IE6用のパッチ(Q319182)がインストールできなくなります。どうすれば良いですか?

A. 結論から言うと、何もしないのがいちばん良いです。経験上、ie の beta が入っている状態でさらに小細工をすると、かえって泥沼にはまりやすいです。パッチの問題は、セキュリティの設定でしのいでください。

SP1のリーク版を入れると、FAQのような現象がよく発生します。beta2 (2813.3000) + Q316059 でも発生しました。beta3 では累積パッチよりさらに最新のファイルだからパッチは要らないと考えるかもしれませんが、例えば MSXML3.DLL は古いままです。以下の方法で強引にパッチを適用することはできますが、既存のファイルバージョンがパッチのファイルバージョンより大きいと、その部分はパッチのファイルに置き換わりません。それでもとにかく、どうしてもパッチを入れたいという場合は、以下の冒険をおためしください。

  1. レジストリエディタで、
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer
    にある 62800.1005 や 6.0.2800.1005 という文字列を、とりあえず対応する形式で 62600.0000 ないし 6.0.2600.0000 に戻してみるのが、基本ワザです。
  2. インストーラ書庫をツールで手動解凍して、なかの inf を右クリックからインストール。このときパッチも英語版でないとロケールが不整合と言われますが、強行可能です。または英語版のパッチを用意します。いずれも強引なワザです。いざというときいつでもOSを入れ直せるかた以外は避けてください。
  3. この状態でパッチがインストール可能になります。

ときどき sp1 beta のアンインストール法を教えてほしいとか、sp1 beta を入れて sp1 正式版に問題なくアップデートできるのか?という質問メールが来ますが、このサイト(妖精現実)のIE6SP1のページで公開されている情報は、そこにも書いてあるようにリスキーなものです。ハッキリいって、sp1 beta を入れるのは、幼稚で愚かしい遊びです。

レジストリの変更で、sp1があってもビルド2600に見える

この記事のURL

テキスト版省パケ版XML版



webmaster@faireal.net