従来の「lha」コマンドは?
以前、郵便番号の一覧をダウンロードしてMySQLに取り込む処理について書かせてもらいました。
MySQLに郵便番号CSVファイルを取り込むPartt2 スクリプトを使用する
ところが今回のサーバトラブル→復旧に伴い、同様の処理を走らせるようSQLファイルとスクリプトを配置して動かしてみたところエラーが発生。
内容を見るとどうやら「lhaコマンドがインストールされてない」様子。
そういえばわざわざapt-getでインストールしたような気がします。ってか自分の投稿を見直せ!って話ですよね~
なので今回改めてインストールを試みたところ・・・
「パッケージが存在しない」
という膠も無い答えが返ってくるじゃないですか(怒
いったいどうすりゃいいんでしょ?
その答えは「apt-get install lhasa」
ということです。
Ubuntu12.10以降はこっちに変わったんですって。なんでも従来のlhaコマンドは「LHa for UNIX」というパッケージだったんだそうですが、こいつ完全にフリーなライセンスというわけではなかったよう(詳しくはわかりませんが)。
で、DebianやUbuntuの理念から外れるということでパッケージングの対象から外れちゃったようです。
その変わりに導入されたのが今回インストールした「lhasa」というパッケージ。ちなみにこいつ、Windowsでよく使用する「Lhasa」とは無関係みたいです。どうでもいいですが。
ちょっと話がズレましたが元に戻って「apt-get install lhasa」にてインストールを行います。
コマンドで使用する際は以前と同様「lha」で動くようなので特にスクリプトの修正もなし。よかった~
これで一通りの処理が流れるようになりましたとさ。
まとめ
というわけでUbuntu12.10以降を使用する環境においては同じ「lha」コマンドを走らせるにしてもlhasaのインストールが必要ということです。
以前のOSは12.04だったのでギリギリlhaパッケージで対応できたということでしょう。
しかし、今更LZH形式の圧縮ってどうなんでしょうね?以前は会社のファイルとかでも当たり前みたいに使われましたがもともと日本でしか普及してなかったようですし、その日本でも現在はWindowsも含めてZIP形式とかが主流のような。
取り扱うファイル形式を増やすとか(それって日本郵政にとっては負担かな?)、いっそファイル形式を変更するとかしてもいいんじゃないのぉ~?なんて思ってしまいましたとさ。