Kozupon.com    
 
 Nature's Linuxインスコ


これは、おれにぴったりのデスビだ。なんて言ったりして(笑)。俺としては、Xと言う無用の長物がなしよ。と言うのが気に入ってる。
実は、 Nature's Linuxと言う日本のディストリビューションを見つけた。
雑誌でも紹介されているが、日本で初めての日本製のパッケージでローカライズされた製品のようだ。日本のディストリビューションとでも言おうか。だから、RHとかDebianとかのパッケージは一切使っていないと言うことである。 しかし、オリジナルとは言え内容はRHLとDebianを足して2で割ったような感がある。
パッケージ管理は、aptとdpkgなのでDebian、起動スクリプト管理はchkconfigなのでRHLになっている。しかし、一番の固有な特徴はchroot構造でroot構造がサービス領域vfs、システム領域rfsに分かれている。
この分離により、リモートアクセスしてもvfsのみにアクセスすることになり、rfsは隠蔽できる。そのため、セキュアーな環境を構築できる。
chrootは「ChangeRoot」の略である。
いわゆる、砂場(SandErea)を/home以下に / 以下全てを構築しそこで運用し、本来のシステムエリアと砂場を切り替えるためのコマンドである。砂場はいくらでも再構築可能である。本来のシステム領域が健在なら、砂場はいくらでも再構築可能である。クラックな方々に砂場を荒らされても、危険で有れば極端な話バックアップを使い、砂場の / 以下を全て消し去りもう一度初期状態へリストアが可能である。トカゲのしっぽ切り!本来これが「砂場」の考え方だと思う。
リモートでNature's Linuxへアクセスする場合、たとえばSSH 22番ポートでアクセスした場合には、vfs領域にアクセスできる。しかし、RFS領域にはアクセスできない(2022番を開けていればアクセスできるが当然ルータ等ではポートを閉めておくだろう)。

インストールマシン:
Celeron600 Socket370ベアボーンタイプ Memory 384MB HDD 15GB(別途増設)


秋葉原の中古ショップ ETS にて中古ベアボーン(CPU・マザー・ケース・メモリ・電源)を3000円にて購入。HDDが大きくて入らないため、かわいそうだが裸です(-.-;)。


1.Nature'sLinux(n-linux)1.3の考え方

流行というか、chrootの考え方というのはかなり昔から有る。セキュリティ的には非常に効果的なので現在はメジャーなFedraCoreでも普通に使っている。n-linuxで考え方を説明すると /home/develop 以下を表に公開するいわば仮想的な/(root)を構築して、本来のカーネルを含めた /(root)は隠蔽するのである(図1参照)。


図1

n-linux1.3では、adminメニューに標準でバックアップ機能が追加されたので本来のn-linux PMC-SSSFの考え方が生きてくる。この考えは、RFS領域とchrootであるVFS領域を分割する考え方であるが、VFS領域を”ディスク領域でのDMZ”と考える”トカゲのしっぽ切り”にはバックアップが当然必須である。

例えば、VFS領域へクラックな奴に侵入され”バックドア”を仕掛けられたとする、そのときに同期を取りながらVFSのバックアップが取られている”バックアップ用の非アクティブ領域VFS2”にすぐに切り替えられれば、ダウンタイムは最小限で済む。被害だって最小限(多分adminメニューでの、切り替え作業のみ)で済むのである。さらに、世代バックアップも同時に行えるとしたら一石二鳥である。
俺が思うに、今回の2005年3月リリースのバージョン1.3が本来のn-linuxのコンセプトに合ったリリースではないだろうか。


2.インストール

1)CDイメージを作る
ここ でisoイメージをゲットする。

2)CDからブートするが古いマザーは注意
インストールCDからBOOTさせるが、 ここ で対応するハード情報を良く確認した方がよい。
事実、俺の古いHXマザーでは勝手にRESETしてしまい使い物にならなかった。とりあえず、i686以上のスペックのようである。

3)画面の解像度の設定
ブートしたら、いきなり画面の解像度の設定になる。
1:VGA
2:SVGA
3:XGA
4:Rescue Mode

があるので、「1」を選ぶ。

4)HDDのI/Fを設定
1:Generic IDE
2:SCSI

自分のマシンがどちらかで選ぶ。

5)HDDのフォーマット
「Are you sure?」「y」でHDDの内容がすべて消えるので注意が必要!
Nature's Linuxは、同一HDDのパーティション分けによるデュアルブート環境は想定していない。
したがって、HDDをすべてフォーマットしてモジュールを自動インストールしてしまう。

6)自動インストール
以降、必要ファイルが自動インストールされる。
サーバ構築としては、非常に簡単である。

7)再起動
旨くインストール出来れば、「Hit Enter key to reboot」と表示されるので、Enterを押して再起動する。

8)rootアカウントのパスワード設定
再起動すると解像度を選択する画面が出る。
何も選ばないと640×480が選択される。まず、rootアカウントのパスワードを設定する(これは、vfsのrootアカウント)。
ニューパスワード:*********
リプライパスワード:*********

9)管理用アカウントの設定
管理用アカウントは、インストール後にシステムやネットワーク設定を変更する管理者メニューを使用する場合に使う。
ユーザ名:hoge-admin
パスワード:*********

10)vfsログイン用アカウントの設定
vfsのログイン用アカウントを設定する。
ユーザ名:vfs
パスワード:*********

11)vfs用ユーザアカウントの設定
vfsユーザアカウントを設定する。
ユーザ名:hoge
パスワード:*********

12)ネットワークの設定
基本的にサーバ構築用Linuxで有るため、固定IPを設定する。
ホスト名:
Gateway:
DNS:
IPアドレス:
サブネットマスク:

以上を設定する。

13)インストール終了
ネットワーク設定が終わったら、インストール終了。


3.インストール後の環境設定

1)必要事項を追加する
このインスト完了状態だと、多分名前解決ができないだろう。それはリゾルバの設定が不完全だからである。以下の如く、 /etc/resolv.conf にsearchセクションもしくはdomainセクションでドメインを記述する。さらに、/etc/hostsも確認しよう。

# vi /etc/resolv.conf
search        kozupon.com
nameserver     192.168.255.103

2)adminメニューを立ち上げる

RFSloginから、インストール時設定した管理者用アカウントでloginするといきなり図2のようなメニューが出る。


図2

このメニューでいろいろなシステム及びネットワーク設定の変更を行う。
この管理者用アカウントを変更する場合は、以下の方法で行う。
■ 管理者用アカウントの変更方法

以前のアカウントを削除する
# userdel hoge-admin

新しいアカウントの作成
# useradd -d /usr/local/msl -s /usr/local/msl/menu/bin/msl_menu -m nl-admin

パスワードの設定
# passwd nl-admin
ニューパスワード *********
リプライパスワード *********

3)chrootでvfsのrootパスワードの設定
多分、インストール後の状態ではvfs領域のrootのパスワードは何も設定されてないと思う。そのため、以下の方法でvfs領域へloginしてパスワードを設定しよう。尚、RFS領域からvfs領域へスイッチする場合は RFS Loginから” vfs ”と入力すればvfsへスイッチできるが、以下のようにchrootコマンドでも行える。特に、ここではvfs領域のrootのパスワードを再設定するので後者の方法でloginする。

RFSのrootでログインする。

[root@nl-server home]# chroot /vfs1
chrootコマンドでVFS領域にloginする。

[VFS-root@nl-server /]# passwd root
ニューパスワード *********
リプライパスワード *********

VFS領域のrootのパスワードを設定する。
以降、vfs領域にloginするときはRFS領域からは以下のように、

[root@nl-server ~]# su - vfs

<<<<< VFS login phase >>>>>
info2 login: nl-user
Password:
Last login: Fri Jul 28 15:26:48 2006 from 192.168.0.25 on pts/0

[VFS-nl-user@nl-server ~]$ su -
passwd: *******

ユーザを作成するには、
[VFS-root@nl-server /]# useradd -g users -d /home/users/hoge hoge

4)apt-getでアップデート
既にアップデートモジュールがあるかもしれないので、アップデートする。

[VFS-root@nl-server /]# apt-get update
[VFS-root@nl-server /]# apt-get upgrade

5)開発環境を整える
開発環境が未設定で有るため、apt-get installでインスコする(予め入ってるようなら、必要ないっす)。

■ patch
■ autoconf
■ automake
■ libc6-dev
■ gcc
■ kernel-package
■ libdb42-dev

6)とりあえずラッパーを掛けておく

セキュリティのため、ローカルネットのみアクセス可能にしておく設定をしておく。

[VFS-root@nl-server /]# vi /etc/hosts.allow
ALL :  192.168.0.   : allow

[VFS-root@nl-server /]# vi /etc/hosts.deny
ALL  :   ALL

6)カーネルのアップグレード
カーネルアップが有るなら、アップグレードしておこう。

[root@nl-server root]# apt-get install kernel-image
Reading Package Lists... Done
Building Dependency Tree... Done
Package kernel-image is a virtual package provided by:
kernel-image-2.4.27p4up nl1
kernel-image-2.4.27p4smp nl1
kernel-image-2.4.27p3up nl1
kernel-image-2.4.27p3smp nl1
kernel-image-2.4.27p2up nl1
kernel-image-2.4.27p2smp nl1
kernel-image-2.4.27p1up nl1
kernel-image-2.4.27p1smp nl1
You should explicitly select one to install.
E: Package kernel-image has no installation candidate

自分の今現在のカーネルバージョンを確認する。
[root@nl-server root]# uname -r
2.4.27p2up

[root@nl-server root]# apt-get install kernel-image-2.4.27p4up

これで、再起動して終わり。


4.cronが違う

他のLinuxと違うところで目立つのは、cronだと思う。n-linuxの場合、 通常、cronがfcronとなっている。したがって、スケジューリングする場合は以下のコマンドでcronの内容を編集して運用する。

[root@nl-server root]# fcrontab -e

編集はvi使いなら解ると思う。


5.おーいmailコマンドがないじゃん(^^ゞ
メル鯖構築しようと思って、postfix入れたらmailコマンドないじゃん(-_-メ;)テメ・・・。 (^o^)/オーイ unix mailを入れといてくれーぃ〜。 おじさんは、こまってるんだぞぉ〜みたいな(ーー;)

[root@nl-server root]# apt-get install postfix21

ってしょうがないから、sendmailラッパーを使って配送テスト。

[root@nl-server root]# sendmail -t <宛先>
test mail
.
[root@nl-server root]#

こんな感じ。しかし、どうしてもUnix mailが使いたい人は、 ここ を参考にmailutilsを入れちまえば良い。

とりあえず、これだけ。
まだあるかもしれないので、随時更新する。

以上

 


 
 
 



Copyright 2005 Kozupon.com.