サーバー立てて遊ぼう

  1. NIS
  2. proxy ... squid
  3. tftp
  4. xfs
  5. xdm

VMware

  1. VMware 導入記

NIS 導入記

複数の FreeBSD マシン間で, ユーザー情報などを共有するために NIS を導入した。 せっかくだから覚え書きを作っておこう。 まずは全体の構成は, こんなもの。
  マシン構成:
      役割               ホスト名
      NIS master server  apollo
      slave server       -
      client (1)         mercury
      client (2)         venus

  NIS ドメイン名:
      SolarSystem

  共有する情報:
      ユーザー情報
        /etc/passwd (master.passwd)
        /etc/group
      マシン情報
        /etc/hosts

サーバー (apollo) について

/etc/host.conf ファイルで [無くてもよい ?]
    nis
/etc/rc.conf ファイルで
    nis_server_enable="YES"
    nis_yppasswdd_enable="YES"
    nis_yppasswdd_flags="-t /etc/master.passwd"
    nisdomainname="SolarSystem"
まず手動で初期化
    domainname SolarSystem
    ypinit -m
(メッセージに従って)
    cd /var/yp/ && make MASTER_PASSWD=/etc/master.passwd
      (ゼロでない大きさの /var/yp/passwd があればとりあえず OK)

ユーザーを追加する場合には, ローカルにユーザを追加してから NIS の情報を更新する。

    vipw
    cd /var/yp/ && make MASTER_PASSWD=/etc/master.passwd

クライアント (mercury, venus) について

vipw してファイルの末尾に
    +:::::::::
/etc/group ファイルの末尾に
    +:::
/etc/host.conf ファイルで
    nis
/etc/rc.conf ファイルで
    nis_client_enable="YES"
    nis_client_flags="-s"
    nisdomainname="SolarSystem"


proxy サーバ

クライアントの設定


TFTP サーバ

サーバ上のファイルは /tftp からの相対 PATH 指定。または絶対 PATH 指定。


X の font サーバ


xdm

X11 は導入済なので, xdm を起動するだけ。つぎのいずれか。

これだけじゃあ, 高岳の XMiNT に login window が出ない。しくしく。

うまく行きました。めでたしめでたし。


VMware 導入記

FreeBSD box に VMware for Linux を導入したので, その顛末を記録する。

化学 の分野では, ChemDraw というキラーアプリケーションがあって, また, もちろん Word 文書をあつかわざるをえない場合もある。 その他にも Windows 用のソフトしかない場合があって, 例えば図書館のシステムで学内から検索などできるのだが, 専用のクライアント・ソフトを使わなければいけなくて, それは Win または Mac 用しかないのだ。 そのために Windows とデュアルブートでパソコンを使用していた。

0) ライセンスの入手 (購入)

Unix Magazine 誌などでもときどき記事を見かけるようになり, 書籍も出たりしていて期が熟したかなということで, ぷらっとホームに 立ち寄ったおりにおいてあった, パッケージ版の VMware Workstation for Linux Systems を購入した。 封を開けるとバージョンは VMware-2.0.3-799.dl.tar.gz だった。 ports の emulator/vmware2 では 2.0.4-1142 だし, 最新のダウンロード版のビルド番号はもっと進んでいるようだけど, まぁいいか。

0.5) Linux emulation, linux_base の導入と /compat/linux/dev について

この VMware は Linux 用のバイナリなので, Linux emulation 機能を使える ようにする。 FreeBSD システムのインストール時に, この項目に [X] 印をつけていれば それ以上のことはなく, 次の節へ進む。 あとからこの機能を使うことにしたり, linux_base の package/port を いじるときは要注意。

まず, コマンドラインから linux と入力することで, KLD モジュールが ロードされる。確認は kldstat で。 あるいは /etc/rc.conf の設定ファイルに linux_enable="YES" の一行を 入れておくと, このモジュールは起動時に組み込まれる。

Linux バイナリの実行時に必要なライブラリは linux_base パッケージを インストールする。 このときにデバイスファイル /compat/linux/dev も生成される。

linux_base-6 を 7 にアップグレードするときに /compat/linux/dev も いったん消されちゃっうので, /compat/linux/dev/vmnet1 が無くなります。 これが無いと vmware は動きません。 このデバイスは emulators/vmware2/scripts/pre-install あたりで作るので, インストール順に注意が必要らしいです。

ということで, linux_base を再インストール/アップグレードしたら, その後で vmware の再インストールが必要です (しかるべきスクリプトの実行でも良いかもしれません)。

vmware 起動時のエラーメッセージをのせておきます。 こんなデバイス関係のエラーメッセージが出たら要注意です。 まず /compat/linux/dev が無いと, こんなのが出ます。

   Cannot open /dev/tty0: No such file or directory.
   Virtual terminal initialization failed.
   Perhaps your kernel is not configured with virtual terminal support.
そして linux_base 再インストールで, こんどはこれ。
  Could not get interface address for vmnet1: Cannot assign requested address
  Failed to configure ethernet0.
こののち vmware の再インストールをすればダイジョブです。 システムやアプリケーションのアップグレード時にハマル可能性あり, と備忘録的に書いておこう。

1) Linux プロセスファイルシステムをマウントする。

/etc/fstab に以下の記述を一行加える。
linproc         /compat/linux/proc      linprocfs       rw      0       0
マウントする。
# mount /compat/linux/proc

2) VMware のインストール

ports の emulation/vmware2 を利用することにした。 しかしこの ports (Makefile の CVS バージョン管理情報 $FreeBSD: ports/emulators/vmware2/Makefile,v 1.39 2001/07/23 03:56:15 knu Exp $) が仮定しているものとバージョンが違うので, 以下の修正をした。 こうしておいて make する。
% make NO_CHECKSUM=yes
make の途中で二つ質問されるので, それぞれ答えた。
Do you want to use netgraph bridging? yes

To which interface would you like to tie the bridge? dc0
インストールする。
# make NO_CHECKSUM=yes install

3) 仮想 Ethernet カードの設定

# cd /usr/local/etc/vmware 
# vi config

vmware.fullpath = "/usr/local/lib/vmware/bin/vmware"
wizard.fullpath = "/usr/local/lib/vmware/bin/vmware-wizard"
dhcpd.fullpath = "/usr/local/lib/vmware/bin/vmnet-dhcpd"
loop.fullpath = "/usr/local/lib/vmware/bin/vmware-loop"
libdir = "/usr/local/lib/vmware/lib"
vmnet1.HostOnlyAddress = "192.168.0.1"
vmnet1.HostOnlyNetMask = "255.255.255.0"
ここの vmnet1.HostOnlyAddress に Global IP addressを設定する。 vmnet1.HostOnlyAddress には, たとえ bridgeing mode であっても, local IP address を設定する。 Global address を設定しようとすると vmnet1 に IP が設定されず, vmware が起動できない。 よってこの config ファイルはいじらなくて良い。 (Bridging mode で使う場合の global IP address は, ゲスト OS の方で設定すればいい。)

そこで単に FreeBSD システムの再起動または

# /usr/local/etc/rc.d/vmware.sh start
すると vmnet1 が利用可能になる。こんな感じ。
% ifconfig vmnet1
vmnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
	ether 00:bd:7b:0d:00:01

4) ライセンスファイルの設定

パッケージ版の場合は, CD-ROM 中のライセンスファイルのテンプレートを 自分のホームディレクトリにコピーしておく。
% mkdir .vmware
% cp $CDROM/vmware-distrib/lib/license2.0.1-com ~/.vmware
これで vmware を実行すると, 製品のシリアルナンバー 20 桁の 入力をうながすウインドウが表示されるので, 入力する。

<裏話> このへん, マニュアル通りにやろうとしてなにかハマッタ様な 気がするけど, もう覚えていない。

* その他参考情報

* ディスプレイについて

普通に (?)
% unsetenv DISPLAY
% vmware &
すると,
Error: Can't open display: 
と言われて終了する。 では,
% env DISPLAY=localhost:0.0 vmware &
すると,
This VM is running with a remote X server.  Full-screen mode will not be available.
If your X server is local, please make sure the X display name (DISPLAY environment variable or -display command-line argument) starts with a ":".  It is currently "localhost:0.0".
だそうだ。ウインドウモードではもちろん起動できる。 そこで,
% env DISPLAY=:0.0 vmware &
して, win98.cfg で Power On すると,
Unsupported host mouse type "sysmouse"
Unable to open host mouse device for full-screen VGA.
Full-screen VGA will not be available.
のメッセージが出る。 VMware の Settings というメニューから Mouse の項目
Host Mouse Type: Mouse Systems
Device /dev/sysmouse
とする。(実際のマウスは PS/2 であるが ...) ふう。

(一部修正: 2002-10-17)


rmiya@cc.hirosaki-u.ac.jp