Services for Unix Interix入門
Unix Linux Interixの情報

[ Linux / Unix リファレンスガイド ] ⇒ [ Interix SFU/SUA ] ⇒ [Services for Unix Interix入門]


Services for Unix Interix入門

SFUは業務用でもWindowsサーバにインストールして、cronでDISKを監視したりといろいろ活躍していたのですが、SFUは趣味で使うにも業務で使用するにも非常におもしろいシステムなのでいろいろかいていきたいと思います。

Interixの準備と基本的な知識・仕様、Unixとの違いなど


◆ユーザ管理
デフォルトでは /etc/passwd を利用せずWindows側でアカウントを管理している。(オプションで選択)

◆InterixのスーパーユーザはAdministrator
SFUで su - をするとAdministratorになります。
Administratorのホームディレクトリ は / 。(昔のSolarisとかと同じ感じで .bashrc とか / 直下)

※ビルドする際、ユーザ名のチェックを行う場合があるため、各種ツールをソースからビルドする人は一般的なUnixにならいrootと言うユーザを作成し、管理者権限を持たせておくと良い。

◆ユーザー・グループ管理
一般的なUnixとの大きな違いとして、下記のようにGroup名の前に + をつける必要がある。

# chown Administrator:+Administrators file01

◆グループ所有のファイル
ファイル所有者が +Administrators (管理者グループ)や「なし」となっているファイルやディレクトリがいくつか存在する。
(これはWindowsNTの仕様と整合性をとるため?)

◆ドライブのパスは/dev/fsに
WindowsのCドライブ、Dドライブは /dev/fs 配下に置かれています。HDD・SSD・FD・光学ドライブはここからアクセスすることが可能です。光学ドライブ・USBメモリなどのマウントはWindows側で行っていますので mount 処理は不要です。なお、 次のようにWindowsの設定ファイルをInterixから操作することが可能です。

$ cat /dev/fs/C/boot.ini

◆inode
一般的なUnixと同様に inode の概念がある

bash-4.2$ ls -i
84518 X11       82352 bin       86548 include   82525 sbin
83367 X11R5     82353 contrib   82520 lib       82552 share
81893 X11R6     82512 examples  81901 local     

◆ランレベル
ランレベルの概念はないが /etc/rc2.d が存在する。ここにデーモン制御スクリプトが置かれている。

◆topコマンドについて
Unixでよく使われる top コマンドは Interix (SFU3.5) では用意されていない。Windows板が提供されているので、Windowsのコマンドプロンプトからコマンドを利用する。

※具体的には SFU/SUA の topコマンドについて で記述

◆文字コード
WidnowsなのでSJISとなっており、日本語の文字コードがS-JISなのでSJISのテキストを処理する時に便利

◆Windows環境とInterix環境の相互作用
WindowsサブシステムとInterixサブシステムとで相互に連携が可能で、Windows上に無理やりUnix環境を持ってきたようなものではなくかなりの精度での統合が試みられている。

◆Windows環境の強化
SFUのパッケージには grep.exe などUnixコマンドやUnixのツールを移植した Windows用実行ファイル (.exe) も含まれている。本製品のルーツがUnixツールのWindowsへの移植したツールセットアドオンであったことから、Unix互換環境 (Interix) 以外にそれら各種Unix ツール・コマンドのWindowsバイナリもあわせてインストールされる。そのため、SFU・SUAをインストールすると、Windows 環境もバッチ・スクリプト・ジョブ制御・コマンドライン操作などかなり強化されることとなる。

※具体的には Windows用にビルドされたUnixツール で記述

◆その他いろいろ気になったところや特筆すべき点
Windowsとの連携上どうしても独特な仕様になっているものの、わりと普通のUnixなのでビックリする
なんだかんだで動かないソフトも多い(make時にオプション指定したり、ソースコードの書き換え)