Debian Interix Portのインストール方法を日本語訳しました。超訳ですが悪しからずご了承ください。
【追記】インストールレポートはid:n7shi:20091215をご覧ください。
Installing Debian GNU/Interix
=============================
last updated: 2009-06-13 mkoeppe@gmx.de
translated : 2009-12-14 7shi@live.jp
以下の環境で動作を確認しています。
- SFU 3.5 on Windows 2000 SP4
- SFU 3.5 on Windows XP SP2, SP3
- SUA 5.2 on Windows Server 2003 R2
- SUA 6.0 on Windows Vista SP0, SP1
Debian GNU/Interix 環境構築方法:
-------------------------------------------------------
* この手順は Administrator でログインして行ってください。
Administrator グループでは不十分です!
ksh を「管理者として実行」するのも不十分です。
実際に Administrator としてログインしてください!
Vista では後述の手順で Administrator アカウントを有効にしてください。
* Administrator かどうか確認してください。
Interix のシェルで "id -u" を実行して 197108 と表示されるはずです。
これは Administrator の UID です。
(「管理者として実行」した場合でも 197108 と表示されます)
* Administrator アカウントの有効化:
Vista はデフォルトで Administrator アカウントが無効化されています。
ドメインに参加していれば「コンピュータの管理」で以下を開いて、
・システムツール -> ローカルユーザーとグループ
Administrator アカウントを有効化してパスワードを設定してください。
ドメインに参加していなければ以下を参照してください。
http://www.interopsystems.com/community/tm.aspx?m=10345
* Windows XP では「簡易ファイルの共有」を使用しないでください。
* SFU 3.5 または SUA utilities をダウンロードしてインストールしてください。
インストール時のオプションは以下を選択してください。
- Utilities -> Base Utilities
- Interix GNU Components -> Interix GNU Utilities (/lib/ld.so.1 が必要)
- Interix GNU SDK (ar が必要)
- setuid と case sensitive file system を有効にしてください。
- Vista では SuToRoot を有効にしてください。
(既にインストールしていた場合はトラブルシューティングを参照してください)
UNIX Perl は古い (ver.5.6.1) ためインストールしないでください。
Debian GNU/Interix には 5.10 が含まれています。
ActiveState Perl もインストールしないでください。
どうしても必要な場合は以下から最新版をダウンロードしてください。
http://www.activestate.com
* SFU 3.5 では以下の更新を適用してください。
- 913030: http://support.microsoft.com/kb/913030/en-us (rollup package)
- 942312: http://support.microsoft.com/kb/942312/en-us (ld.so update)
- 973389: http://support.microsoft.com/kb/973389/en-us (最新のコアファイル)
ダウンロードをリクエストすると Microsoft からメールが送られてきます。
更新の詳細については以下を参照してください。
http://www.debian-interix.net/hotfixes/
* Server 2003 R2 / SUA 5.2 では以下の更新を適用してください。
- 945449: http://support.microsoft.com/kb/945449/en-us (コアファイル)
- 948918: http://support.microsoft.com/kb/948918/en-us (libdl.so)
* 最新の Windows Update を適用してください。
ただし KB920958(2006-09-26) を適用すると Windows 2000 で
Interix の速度が低下します。
* 環境構築用ファイルをダウンロードしてください。
ftp://debian-interix.net/debian-interix/install.zip
適当なフォルダに展開してください。 例: C:\SFU\tmp\install
スペースを含むパスではインストールに失敗します。
このアーカイブに含まれるファイルは以下で確認できます。
ftp://debian-interix.net/debian-interix/install/
* インストールを中断して最初からやり直す場合は、
以下のファイルやフォルダを削除するかリネームしてください。
これらが存在すると先に進めなくなります。
- /debootstrap/debootstrap.log
- /usr/local/man/man
- /var/cache/apt/
- /var/lib/apt/
- /var/lib/dpkg/
* 64-bit 環境では標準でインストールされる ar コマンドは 64-bit 用です。
32-bit のものに置き換えてください。
例: /bin/ar を /bin/ar.amd64 にリネームして、
/opt/gcc.4.2/bin/ar を /bin/ar にコピーします。
* Korn Shell を開いて Administrator (uid 197108) かどうか確認してください。
$ id -u
197108
* /sbin と /usr/sbin にパスを通してください。
/etc/profile.lcl に以下の行を追加すると便利です。
export PATH=/usr/sbin:/sbin:$PATH
* 互換性のないコマンドが使われないか確認してください。
たとえば /usr/local/bin などに他のパッケージのコマンドがある場合、
/usr/local/bin などより先に /bin や /usr/bin にパスを通せば
アンインストールする必要はありません。
* 環境構築用ファイルのフォルダに移動してインストールを開始します。
$ cd /tmp/install
$ ksh setup
パッケージをダウンロード・検証・展開してインストールされます。
非常に長い時間が掛かることがあるようです。(特に Windows 2000)
インストールが完了すると以下のように表示されます。
"Base system installed successfully."
警告やエラーはログファイルで確認できます。
/debootstrap/debootstrap.log
* /etc/apt/preferences を以下の内容で作成してください。
Package: *
Pin: release a=unreleased35
Pin-Priority: 800
これは debian-interix で arch:all パッケージを使用するのに必要です。
詳細については apt_preferences(5) を参照してください。
* パッケージの整合性を確認してください。
$ apt-get update
$ apt-get upgrade -f -V
(これらのパッケージをアンインストールしないでください。
ここでパッケージが更新されることはないはずです。
何か問題があれば debian-interix.net のバグかもしれないので、
報告をお願いします。)
* パッケージのインストール方法:
$ apt-get install <package> ...
例:
$ apt-get install perl mc less dialog
パッケージのアンインストール方法:
$ apt-get remove <package> ...
curses ベースの dselect を使用することもできます。
(dselect より新しい aptitude はまだ Interix に移植されていません)
* 現時点で coreutils のパッケージは提供されていません。
coreutils の cp (-a を使用), install, readlink, tac などが必要なときは
私 (Martin Köppe) がビルドしたバイナリが以下にあります。
http://debian-interix.net/debian-interix/bootstrap-tools/
* パッケージを作成するには以下が必要です。
これらは arch-all のものに修正が必要です。
- dpkg-dev
- debhelper
- cdbs
- debootstrap
たとえば dpkg-dev は以下のようにインストールします。
$ apt-get install dpkg-dev/unreleased35
Debian/Interix 用にインストールされるパッケージを確認する場合、
以下から手動で dpkg-dev_*_all.deb をダウンロードして
http://www.debian-interix.net/debian-interix/pool/unreleased35/main/d/dpkg/
インストールする方法もあります。
$ dpkg -i dpkg-dev_*_all.deb
標準の Debian のパッケージが更新されても、手元のバージョンを固定化するには、
以下のようにします。
$ dpkg --set-selections <<EOF
dpkg-dev hold
debhelper hold
EOF
Debian-Interix の arch:all パッケージを更新する必要があっても、
大抵は標準な Debian のパッケージの方が新しいです。
しかし新しいパッケージはうまく動かないことが多いため、
Debian-Interix の方をインストールしてください。
(常に最新のものに追随するのは時間的に難しいです)
これらの問題に対処するには以下の内容で /etc/apt/preferences を
作成してください。
Package: *
Pin: release a=unreleased35
Pin-Priority: 800
こうしておけば自動的に Interix 版のパッケージが選択されます。
トラブルシューティング
---------------
既に SFU 3.5 や SUA utilities をインストールしていて、setuid や
case sensitivity や su-to-root を有効にしていなかった場合、
レジストリを書き換えて再起動してください。
case sensitivity:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive
0 for case sensitive; 1 for insensitive
setuid:
HKLM\SOFTWARE\Microsoft\Services for UNIX\EnableSetuidBinaries
or
HKLM\SOFTWARE\Microsoft\SUA\EnableSetuidBinaries
1 to turn on; 0 (zero) to turn off
su-to-root:
HKLM\SOFTWARE\Microsoft\SUA\EnableSuToRoot
1 to turn on; 0 (zero) to turn off
Interix で root に相当する権限のあるユーザーの UID:
66834 = 0x10512 SYSTEM
197108 = 0x301F4 local Administrator
1049076 = 0x1001F4 domain Administrator
"ksh setup" の後、インストールに成功したかどうか確認する方法。
- "dpkg -l" としてすべてのパッケージの状態が "ii" かどうか。
- "apt-get check" として以下の 2 行が出力されるかどうか。
Reading package lists... Done
Building dependency tree... Done
- /etc/apt/sources.list に少なくとも以下の 3 行が含まれているかどうか。
deb http://debian-interix.net/debian-interix unstable35 main
deb http://debian-interix.net/debian-interix unreleased35 main
deb http://ftp.de.debian.org/debian dists/unstable/main/binary-i386/
最後の行が適切な Debian のミラーかどうか。
- /debootstrap/debootstrap.log に以下のエラーが含まれていないかどうか。
"dpkg: error processing xyz"
既知の問題と制限
----------------------------
- "apt-get update" でパッケージリストを更新するときに
GPGで署名が無効だというエラーが発生します。
debian-interix.net で提供されるパッケージは署名されていないため
無視してください。
- パッケージをインストールする際に以下が表示されることがあります。
"debconf: falling back to frontend"
dialog パッケージをインストールすれば解消します。
$ apt-get install dialog
- もし何らかの理由でパッケージのセットアップに失敗する場合、
以下にあるパッケージ化されていない GNU coreutils を試してみてください。
http://debian-interix.net/debian-interix/bootstrap-tools/coreutils/bin.tgz