[1-1] Windows に管理者用アカウントとして rootをを作成します。
[コントロールパネル] ⇒ [管理ツール] ⇒ [コンピュータの管理] を開きます。
[1-2] 写真を参考にユーザーrootを追加して下さい。
[1-3] 管理者グループ Administrators のメンバに先ほど作成したグループ root を追加します。
[1-4] Windows に root でログインします。
※Unix環境ではなくWindowsへのログイン
[1-5] root ユーザのパスワードを設定します。
※手順は省略(コントロールパネルのコンピュータの管理より行う)
[1-6] boot.ini の編集
SFU・SUAに収録されている GCC (GNU C Complier / GNU Compiler Correction) 等のコンパイラでUnixアプリケーションのビルドを実行するために下記の変更が必要となります。
boot.ini はCドライブ直下に置かれており、メモ帳などで編集します。
エクスプローラのアドレス欄に C:\boot.ini と直接打ち込んでも開けます。
※boot.ini は隠しファイルなので通常は表示はされていません
【注意】本項目はセキュリティーに関する設定ですので注意深く行って下さい。本環境は仮想環境上のOSであるため noexecute を解除することとします。
変更前
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=option /fastdetect
|
変更後
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=AlwaysOff /fastdetect
|
[2-1] Services for Unix をインストールします。
デフォルトのインストールでは pkgsrc は動作しませんので注意深く設定を行います。デフォルトのままで良い箇所は原則説明を省略し、特別に設定が必要な部分のみ解説したいと思います。
[2-2] カスタムインストールを選択します。
[2-3] 下記の4点をインストールします。
1. ユーティリティのBaseユーティリティ [※ UNIX perl はインストールしないで下さい]
2. Interix GNU コンポーネント [すべて選択]
3. Interix SDK
[すべて選択]
4. リモート接続
その他にNFSなどのツールを利用する場合は合わせてインストールしておきます。pkgsrc を利用する場合は UNIX perl だけは外しておく必要があります。
[2-4] 下記2点にチェックをいれます。後はデフォルトのまま進めて下さい。
[3-1] pkgsrc をインストールする準備
本インストール例では事前に bash tar which などをインストールしたり .bashrc を作成したり、作業をしやすくしております。その辺りの工夫は各自で自由に行ってください。しかし、この準備はなくてもインストール作業そのものは行えます。
準備
・Interix telnetd の起動 (Teraterm上で作業を行うため)
・Windows TELNETサービスが無効であることを確認(TELNETで作業を行う場合のみ)
・BEEPサウンドの無効化 (音がうるさいので・・)
・bash のインストール
(使い慣れているため)
本サイトに手順がありますので参考にして下さい。
[3-2] pkgsrc パッケージのダウンロード
root でWindowsにログインし、
ウェブブラウザなどから pkgsrc.tar.gz をダウンロードし、Cドライブ直下に保存します。
他にも .tar.bz2 や .tar.xz などいくつかの種類のアーカイブファイルがありますが、デフォルトのSFUで解凍できる .tar.gz 形式が良いでしょう。
pkgsrc_2014Q4 pkgsrc:ftpサーバ mirror :pkgsrc-2014Q4.tar.gz
[3-3] Unixシェルに root でログインする。
※仮想マシンや家庭内での作業など限定で telnet 接続をお勧めしますが、telnetは暗号化されていませんので、使用する際はご注意下さい。
Teratermからtelnetで接続しました。作業はやりにくいですが、ローカル環境のUnixシェルでもかまいません。
[3-4] pkgsrc をインストールする。
[bash4.2 - root: /]# mv /dev/fs/C/pkgsrc.tar.gz /
⇒ pkrsrc のアーカイブを / に移動
[bash4.2 - root: /]# ls -l /
⇒ pkgsrc のファイル所有者、属性を確認します。所有者は root であることを確認し、そうでない場合はrootに変更して下さい。
[bash4.2 - root: /]# gunzip pkgsrc.tar.gz
[bash4.2 - root: /]# tar xf pkgsrc.tar
⇒ .tar.gz アーカイブの解凍(※ SFU のデフォルトの tar は zオプションを使えないため # tar zxf pkgsrc.tar.gz は不可)
[bash4.2 - root: /]# cd pkgsrc
[bash4.2 - root: pkgsrc]# pwd
/pkgsrc
[bash4.2 - root: pkgsrc]# ls
CVS converters games misc security
Makefile cross geography mk shells
README databases graphics multimedia sysutils
archivers devel ham net templates
audio distfiles inputmethod news textproc
benchmarks doc lang packages time
biology editors licenses parallel wm
bootstrap emulators mail pkglocate www
cad filesystems math pkgtools x11
chat finance mbone print
comms fonts meta-pkgs regress |
上のように/pkgsrc 配下にビルド環境が展開されました。
次にインクルードファイル を作成。符号なし64bit整数の別名 uint64_t を定義しておきます。
[bash4.2 - root: pkgsrc]# touch /usr/include/inttypes.h
[bash4.2 - root: pkgsrc]# chmod 664 /usr/include/inttypes.h
[bash4.2 - root: pkgsrc]# vi /usr/include/inttypes.h
typedef unsigned long long uint64_t;
|
※ pkgsrc 使ってて uint32_t が定義されていないと怒られた場合は typedef unsigned int uint32_t; を inttypes.h に追加して下さい。
以上でインクルードファイルの作成は終わります。
[bash4.2 - root: pkgsrc]# cd bootstrap
[bash4.2 - root: bootstrap]# ls
Interix向けのREADMEが置かれています。
CVS README.IRIX README.OpenBSD
README README.IRIX5.3 README.OpenServer5
README.AIX README.Interix README.Solaris
README.Cygwin README.Linux bootstrap
README.FreeBSD README.MacOSX cleanup
README.GNUkFreeBSD README.Minix3 macpkg.pmproj.in
README.HPUX README.MirBSD testbootstrap
README.Haiku README.OSF1 |
[bash4.2 - root: bootstrap]# cat README.Interix
⇒ 念のためREADMEを読んでおきます。
$NetBSD: README.Interix,v 1.15 2012/01/11 01:15:17 riz Exp $
Please read the general README file, and the Interix installation
instructions in the pkgsrc Guide at:
http://www.NetBSD.org/docs/pkgsrc/platforms.html#interix
A prebuilt bootstrap kit and prebuilt binary packages for Interix 3.5 are
available from the pkgsrc information page:
http://www.NetBSD.org/docs/software/packages.html |
この情報は古く prebuild binary packages for Interix 3.5 are available と書かれていますが、2013年頃に Interix 向けのバイナリはNetBSDのサイトから削除されており現在は利用できません。自分でビルドしたバイナリをパッケージとして公開したり、他のSFU環境へインストールすることは可能です。
[3-5] pkgsrc 環境のビルドを行う。
いよいよ pkgsrc 環境を構築します。下のシェルスクリプトを走らせると bmake pkg_admin openssl tnftp などのビルドが次々と進んでいき、pkgsrc システムが構築されていきます。コンピュータの性能次第ですが10分程度要します。
[bash4.2 - root: bootstrap]# ./bootstrap
Please remember to add /usr/pkg/bin to your PATH environment variable
and /usr/pkg/man to your MANPATH environment variable, if necessary.
An example mk.conf file with the settings you provided to "bootstrap"
has been created for you. It can be found in:
/usr/pkg/etc/mk.conf
You can find extensive documentation of the NetBSD Packages Collection
in /usr/pkgsrc/doc/pkgsrc.txt.
Hopefully everything is now complete.
Thank you for using pkgsrc!
===========================================================================
===> bootstrap started: Sun Jan 18 13:48:19 JST 2015
===> bootstrap ended: Sun Jan 18 13:52:52 JST 2015 |
以上で pkgsrc システムの構築が終わりました。さらに必要であると思われる pkgfind 等もパッケージのビルドの練習も兼ねインストールしておこうと思いましたが、またの機会にしたいと思います。
|