2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

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を入れちまえば良い。

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

以上

コメント