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