Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

Debian Jessie 8.0 に Wnn7 をインストール

以前,Wheezy の時に同じようなものを書いていますが,アップデートしておきます.主には自分用のメモという目的ですけどね.

最初に wnn7 のパッケージを omronsoft のサイトからダウンロードします.ライセンスファイルは wnn7 を購入したときについてきたものを用意します.インストールするのは server と elisp, 辞書のみ.xclient は使わないので入れませんでした.

% wget http://www.omronsoft.co.jp/SP/pcunix/wnn7/support/modules/deb/wnn7-server_1.01-1_i386.deb
% wget http://www.omronsoft.co.jp/SP/pcunix/wnn7/support/modules/deb/wnn7-maindic_1.01-1_all.deb
% wget http://www.omronsoft.co.jp/SP/pcunix/wnn7/support/modules/deb/wnn7-optiondic_1.01-1_all.deb
% wget http://www.omronsoft.co.jp/SP/pcunix/wnn7/support/modules/deb/wnn7-utils_1.00-1_i386.deb
% wget http://www.omronsoft.co.jp/SP/pcunix/wnn7/support/modules/deb/wnn7-elisp_1.02-1_all.deb
% wget http://www.omronsoft.co.jp/SP/pcunix/wnn7/support/modules/deb/dpkey7_1.01-1_i386.deb

今回は,x86_64 環境に i386 の wnn7 を入れるので Debian 上でアーキテクチャを追加.その後,i386 用のパッケージを入れるためにデータベースを update.

% dpkg --add-architecture i386
% apt-get update

必要なライブラリの取得.apt でとってこれないものがあるので,手作業でダウンロード.

% wget http://archive.debian.org/debian/pool/main/g/gtk+1.2/libgtk1.2-common_1.2.10-18.1_all.deb
% wget http://archive.debian.org/debian/pool/main/g/gtk+1.2/libgtk1.2_1.2.10-18.1_i386.deb

そのままだとエラーになるので libgtk1.2-common をいったん展開して architecture を書き換える.その後,再パッケージング.ファイル名は common の個所を i386 に変更.

% dpkg-deb -x libgtk1.2-common_1.2.10-18.1_all.deb libgtk1.2-common_1.2.10-18.1_all
% dpkg-deb -e libgtk1.2-common_1.2.10-18.1_all.deb libgtk1.2-common_1.2.10-18.1_all/DEBIAN
% vi libgtk1.2-common_1.2.10-18.1_all/DEBIAN/control
Architecture: i386
% dpkg -b libgtk1.2-common_1.2.10-18.1_all libgtk1.2-common_1.2.10-18.1_i386.deb

再パッケージングした deb とダウンロードしてきた deb をインストール.

% dpkg -i libgtk1.2-common_1.2.10-18.1_i386.deb
% dpkg -i libgtk1.2_1.2.10-18.1_i386.deb
% dpkg -i libglib1.2ldbl_1.2.10-19_i386.deb

一応,依存関係を解決するために apt で依存パッケージインストール.

% apt-get -f install

次,wnn7 関係.

wnn7-server も依存関係でインストールに失敗するので,Depends を書き換える.方法は libgtk1.2-common と同じような感じ.ファイル名は 1.01-1 を 1.01-1p1 に変更しておく.

% dpkg-deb -x wnn7-server_1.01-1_i386.deb wnn7-server_1.01-1_i386
% dpkg-deb -e wnn7-server_1.01-1_i386.deb wnn7-server_1.01-1_i386/DEBIAN
% vi wnn7-server_1.01-3_i386/DEBIAN/control
Depends: libc6 (>= 2.1.2), libglib1.2ldbl (>= 1.2.0), libgtk1.2 (>= 1.2.7-1)
% dpkg -b wnn7-server_1.01-1_i386 wnn7-server_1.01-1p1_i386.deb

wnn7 の server, maindic, ooptndic などをインストール.

% dpkg -i wnn7-server_1.01-1p1_i386.deb
% dpkg -i wnn7-maindic_1.01-1_all.deb
% dpkg -i wnn7-optiondic_1.01-1_all.deb
% dpkg -i wnn7-utils_1.00-1_i386.deb

一応,依存関係を解決するために apt で依存パッケージインストール.

% apt-get -f install

最後に,dpkeyserver 関係.

dpkeyserver をインストールする前に,購入した wnn7 の CDROM をあらかじめマウントしておきます,dpkeyserver インストール途中に,dpleylist の場所を聞かれるので,CDROM 中の dpkeylist などを指定します.

% dpkg -i dpkey7_1.01-1_i386.deb

念のために,依存関係を解決するため apt で依存パッケージインストール.

% apt-get -f install

依存関係上,普通に動作させ得ることができないので,sarge の libc をとってきて別ディレクトリに dpkeyserver の動作環境を構築します.スクリプト中から chroot でそのディレクトリを指定して dpkeyserver を動作させます.

% wget http://archive.debian.org/debian/pool/main/g/glibc/libc6_2.3.2.ds1-22sarge6_i386.deb
% mkdir /var/dpkey7root
% dpkg -x libc6_2.3.2.ds1-22sarge6_i386.deb /var/dpkey7root
% cd /var/dpkey7root
% cp /usr/sbin/dpkeyserv usr/sbin/.
% mkdir -p etc/dpkey
% cp /etc/{hosts,nsswitch.conf,protocols,services,resolv.conf} etc/.
% cp /etc/dpkey/dpkeylist etc/dpkey/.
% vi /etc/init.d/dpkey7
DPKEY_ROOT=/var/dpkey7root
CMD_NAME=dpkeyserv
start-stop-daemon --start --quiet --chroot $DPKEY_ROOT --exec $DAEMON
start-stop-daemon --stop --oknodo --quiet --name $CMD_NAME

こんな感じですかね.