Debianize script for Sophos Anti-Virus 解説 2004年 4月 28日 木曜日 19:21:06 PDT 〜はじめに〜 Sophos Anti-Virus は、Sophos の ウィルススキャンソフトです。 昔は Linuxと FreeBSD では、個人使用フリーとなっていましたが、 現在は違うようです。 30日の期限付きで、無料の評価版を使用することができます。 月に1回のペースでバージョンアップが行なわれています。 このスクリプトが対象としている 3.80 は、2004 年 4 月に 公開されました。 原理的には、これ以降のバージョンに対しても、スクリプトを少し 変更することで対応できるはずです。 このスクリプト santivirus-x.yy.script (x.yy はバージョンを表す数字) は、自分の Debian/GNU Linux マシンで Sophos Anti-Virus を 使用するに当たって、私が管理しやすいと信じる .deb 形式に変換する ために作成し、使用しているものです。 また、 santivirus-ide-x.yy.script (x.yy はバージョンを表す数字) は、日毎に更新されるウィルス ID ファイルをまとめた .zip ファイル を .deb 形式に変換するためのものです。 〜お約束事〜 1. このスクリプトは無保証です。 このスクリプトは正常に動作することを意図して作られており、 スクリプトの作者である私 DONE(done@drive.co.jp) のマシンに置いては正常に動作することを確認しています。 しかし、スクリプトの使用結果について、いかなることが起きても 責任を取ることはできません。 2. 悪意ある改造を禁じます。 このスクリプトは、バージョン 3.80 に特化しているため、 それ以外のバージョンに使用するためには修正が必要です。 (下記の解説参照) このスクリプトの改良版を公開することは特に問題ないと思います。 なにか、改良点・問題点があったら作者にも教えて下さい。 3. 上記 1., 2. を了承してくれる人に対してのみ、本スクリプトを フリーウェアとして公開します。 了承できない、という人は、使用しないで下さい。 4. Sophos Anti-Virus 作成元の Sophos, 日本での公開元 株式会社シー・エス・イー (CSE Co. Ltd) は、 このスクリプトに一切関わっていません。 また、このスクリプトを使用して作成した .deb ファイルを 公開することはできません。 上記の作成元、公開元の権利を侵害することになります。 〜必要なもの〜 1.Debian/GNU Linux の動いているシステム i386 アーキテクチャで動いている woody (Debian 3.0) でのみ、 動作確認しています。 2.以下のパッケージがインストールされていることが必要です。 libc6, gzip, tar, alien, coreutils, fakeroot, bash, sed, ldconfig, debhelper および、これらのパッケージが依存するパッケージ群。 インストールされていなければ、apt-get install するか、 または dselect で選択してインストールして下さい。 (もちろん dpkg -i を用いても構いません) いずれのインストール方法を用いるにしても、root 権限が必要です。 〜使用法〜 株式会社 Sophos のホームページ http://www.sophos.co.jp/ の 製品 ページから Sophos Anti-Virusを評価する をクリックします。 必要な情報を入力し、システムを選択して送信すると、 ダウンロード用の URL が電子メールで届きます。 このスクリプトは、評価システム環境として Linux (Intel, libc6 glibc 2.2) インターナショナル文字のサポート を選択した場合にダウンロードできるパッケージで使用できます。 届いた URL よりバイナリパッケージ linux.intel.libc6.glibc.2.2.tar.Z をダウンロードしてきて、 同じディレクトリに拙作のスクリプト santivirus-3.80.script を置いて $ sh santivirus-3.80.script で実行すると、.deb パッケージを作ります。 バージョン 3.80 に対しては、全自動なので、 作業が終るのを待つだけです。 #今後バージョンが上がると、全自動というわけにはいかず、 #変数 SAVVER を変更しなければなりません。 中身を確認してから実行して欲しいので、 頭に #!/bin/sh はつけてないです。 ざっとでいいので、下も参考にして目を通してください。 〜スクリプト解説〜 sh スクリプトなので、読める人には簡単に読めると思います。 スクリプトの中にも、説明に対応して番号を振ってあるので、参考にしてください。 1. まず、ダウンロードしてくるファイルは、 linux.intel.libc6.tar.Z という、tar.Z 形式になっています。 これを、alien コマンドが扱える tar.gz 形式にします。 2. alien で .tar.gz を変換し、.deb 作成用ディレクトリを構築します。 3. 最近の Linux のファイル配置標準 FHS をまねて、 各ファイルを適切な場所に移動します。 4. 設定ファイル sav.conf を作成します。 5. Debian Package 特有のファイルを作成/編集します。 # ここが一番苦労したところ。sed の勉強になりました。 control ファイルの作成時に、環境変数 EMAIL より メールアドレスを読み込みます。 6. Debian Package を構築します。 .deb ファイルができます。 7. 終了処理。 ディレクトリ santivirus-3.80/ はそのまま残します。 # デバッグしてた時の名残り、消すのが面倒だったとも言う。 なんらかの事情で、再度スクリプトを実行するときには、 このディレクトリを消す必要があります。 〜スクリプト解説ここまで〜 〜おまけのスクリプトについて〜 定期更新の間に、ウィルスデータのアップデートの必要が生じた時は Sophos に IDE ファイルが掲載されます。 santivirus-ide-x.yy.script (x.yy はバージョンを表す数字) は、この IDE ファイルをまとめた .zip ファイルに対して 使用します。 使用に当たっては、/etc/sav.conf を参照しますので、 santivirus パッケージがインストールされている必要があります。 〜おまけのスクリプトについて ここまで〜 履歴 Ver. 項目 3.80 ファイルの依存関係を宣言する行に余計な空白が含まれていて 正しく機能していなかったのを修正。 3.78d 久しぶりにバージョンアップ。 複数言語 の man ページが含まれているので、それぞれの ディレクトリにインストールするようにした。 3.72 久しぶりにバージョンアップ。(公開せず) Linux での使用がフリーでなくなっているようですね。 手元の動作確認環境が potato から woody になりました。 vdl??.vdb というファイルが追加されています。 3.55 libdvdread2 を参考にして、 config / remove 時の ldconfig 使用を見直しました。 /usr/lib/libsavi.so.2 というリンクが残ってしまっていたのを修正。 ウィルス ID ファイルのアーカイブ .zip ファイルを .deb に 変換するスクリプトを追加しました。 3.52 〜 3.54 大した変更はありません。 3.51 Vector に公開。 連絡先 DONE E-mail: done@drive.co.jp BBS : http://fc2bbs.com/bbs?uid=41407 WWW : http://hp.vector.co.jp/authors/VA014481/