BSD

2005年10月01日 土曜日

もう10月

最近日記を書くことをさぼっているのだけど、気がついたら10月。最近本当に時間の流れの感じ方が緩やかになってしまったと言うことか・・・

FreeBSD 5.4p7にアップデート

我が家のサーバのOSをアップデート。インストールしたときにFreeBSD 5.1から5.2にアップデートしたのであったが、そのときはサーバとして実運用に入る前だった。今回はサーバ運用を初めてから初の大規模なアップデートとなる。(とはいえ、入れ替えになるのはカーネルと基礎的なユーザーランドのコマンド・ライブラリだけで、パッケージとしてインストールするようなものは、それなりに追従しているので今回は対象外。)
基本的には、「OSを最新のRELEASEに更新する」と言う記事を元に、ソースをCVSupして、ユーザーランドをmake buildworldして、カーネルをmake buildkernelして、カーネルをインストールしてから再起動し、ユーザーランドをシングルユーザーモードでインストールすると言う感じなのだが・・・
注意する点としては、この手の大規模なバージョンアップの際にはパスワードテーブルとグループテーブルの書き換えが発生する(ユーザーが増える)ので、/etc以下はちゃんと保存しておきましょう。
他は特に問題なくアップデートが完了。おかげでXはX.orgに移行(とはいえライブラリしか使わない。)できて、Linuxエミュレータもインストールできた。次はLinuxの実行環境の構築だな。

2004年11月08日 月曜日

いろいろインストール

週末から自宅サーバの各種ソフトのバージョンアップなどを行っている。手始めにRubyを1.6.7から1.8.1へ、最近はやりになりつつあるSchemeの処理系であるGaucheの0.8.1をインストール。どちらもFreeBSDにインストールということで、iconv周りではまってしまった。うーむ、何とかならないもんかなあ。

2004年07月17日 土曜日

起きるの遅すぎ…

起床したら14時というのは、いったい…

Panasonic / Let’s Note R3(CF-R3D)

いろいろ検討してきた結果、どうにもならない状況に追い込まれているので、結局購入。追加した物はメモリを256MBほど。(あわせて512MBとなる。)
実物を見たときに_軽いなぁ_と言う印象だったが、実際に全てが入った箱の重さもえらく軽かったし、取り出してみて_本体とバッテリの重さが同じくらい_と言うところにもびっくり。(あわせて1kg無いのにねえ。)
早速パーティションを切り分けなおして、WindowsXPを再インストール。(HDDの中にリカバリディスクが入っているので結構速い。) 10日の日記に書き忘れたが、WindowsXP Home Editionではなく、Professional Editionが入っていることと、Microsoft Officeが入っていないことがさらに高評価なところである。(だいたいパーソナルなモバイル環境にOfficeは要りません。尤も自宅のメイン環境にもOfficeは入ってないし、家に帰ってまでExcelのアイコンを見たくないので。)
Windowsの再インストール+Windows Updateが終わったところで、おもむろにDebian GNU/Linux (Sarge)をインストールしてみる。インストーラーが素晴らしく良くなったと言う噂を聞いていたので期待していたのだが、これはなかなか良い感じ。インストーラーは直感的に操作できればいいのであって、バリバリGUIである必要はない。感じとしてはFreeBSDのインストーラーと同じ程度かな。最小限のインストールをしたあとに、必要な物を一気にネットワーク経由でapt-getとなるわけだが、回線を速くしてしまうとネットワークインストールに限るという状態。さくっとインストールが終わったのであるが、なぜかXが起動しない… うーむ。

2004年06月04日 金曜日

お休みなのだが…

今日は気持ちが良いほど抜ける青空の快晴でお休みなのだが、つまらん話を延々と聞かされるイベントに行って来た。全く利権団体というのはお気楽なものだ…

Diomidis Spinellis / Code Reading -オープンソースから学ぶソフトウェア開発技法

最近コンピュータ関連書籍を買いまくっているが、ここに来て妙に良書が多いので困っている。まず手始めに読んで楽しめそうなものから購入。この本は主にNetBSDのソースを手にとって、ソースの読み方、効率的に読むツールの使い方を見て、実際にReadingしていこうというなかなか面白い視点の本である。
せっかくソースが公にされているし、自由に使えるものはいくらでも題材になるのだから、読まねば損と言うことで、こういう本が翻訳されるのを待っていたというわけだ。それにしても監訳者はそうそうたる顔ぶれだなぁ。

2004年05月31日 月曜日

自宅サーバ設置 その4

基本的なサービスで最後に残っている大物であるメールサーバを設置する。基本的には、qmailのドキュメント通りに進めればよろしい。

インストール前の準備

qmailのインストール前にqmailが使うアカウントを準備する。djbdnsに比べて多いので注意。 (僕も1カ所設定を間違えていたので。) /etc/passwdはvipwで編集すること!

qmail:*:9990:
nofiles:*:9991:
alias:*:9990:9991::0:0::/var/qmail/alias:/bin/true
qmaild:*:9991:9991::0:0::/var/qmail:/bin/true
qmaill:*:9992:9991::0:0::/var/qmail:/bin/true
qmailp:*:9993:9991::0:0::/var/qmail:/bin/true
qmailq:*:9994:9990::0:0::/var/qmail:/bin/true
qmailr:*:9995:9990::0:0::/var/qmail:/bin/true
qmails:*:9996:9990::0:0::/var/qmail:/bin/true

qmailのインストール

qmailのインストール自身は簡単で、DNSで運用したいサーバのMXレコードを設定してある状態にしてからやるといろいろ問題がなくて進めやすい。今回はdjbdns立ち上げ時にMXレコードを登録しておいたので、このまま作業を進める。
今回は広瀬さんが作成しているanti-badmailパッチとFujiwaraさんによるIPv6パッチがあたったものを使用する。
% cvs -d :pserver:anonymous@yatex.org:/qmail co -r v6-anti-badmail qmail
% cd qmail
% mkdir /r/var/qmail
% ln -s /r/var/qmail /var/qmail
% make setup check

2004年05月28日 金曜日

自宅サーバ設置 その3

今日はApacheのための準備をして chroot空間(/home/r/)のライブラリ群の設定。めんどくさい場合はchrootしたい環境の下にmake worldをして適当に削る。この場合の作業はざっくりこんな感じ。

# D=/home/r
# cd /usr/src
# mkdir -p $D
# make world DESTDIR=$D
# cd /usr/src/etc
# make distribution DESTDIR=$D

と言う感じ。うちのマシン(Celeron 1GHz)だとだいたいmake worldが3時間程度の模様。(make worldみたいな操作は寝ている間にがんばってもらう。) 終わったところで、chroot環境として動いてもらわねばならないので、/r/dev以下を生成する。FreeBSDの場合はDevfsになっているので、こんな感じにする。
# mount -t devfs devfs /r/dev
# devfs rule -s 10 delset
# devfs rule -s 10 add hide
# devfs rule -s 10 add path null unhide
# devfs rule -s 10 add path zero unhide
# devfs rule -s 10 add path random unhide
# devfs rule -s 10 add path uraondom unhide
# devfs -m /r/dev rule -s 10 applyset
/r/dev以下はnullとzeroとrandomとurandomのみにしてあとは隠すと言うルール。実際はこのコマンドは装置起動時もしくはデーモンの起動スクリプトで実行するのがよい。/r/etc以下は

2004年05月27日 木曜日

自宅サーバ設置 その2

今日からDNSサーバ、メールサーバ、Webサーバと言ったコアになるサービスの立ち上げを行う。DNSはdjbdns、メールサーバはqmailと言う感じでdjbが作ったサービスで固めることにした。HTTPサーバは言わずともしれたApacheを選択。

daemontool

daemontoolはdjb謹製のデーモン管理ツールである。デーモンの起動/停止/設定ファイルの読み直しなどの操作を統一的に扱えるようにできたり、ログローテーションができたり、必要なデーモンが常時起動しているか監視できるツールである。一昨日までの対応でdaemontoolは使えるようになっているので、あとはざくざくサービスを登録すればよいと言うわけだ。

準備

こんな起動スクリプト(FreeBSDの場合)を/etc/rc.d/に入れておけばdaemontoolはサーバ起動時に自動的に起動する。

#!/bin/sh
#
## daemontools by djb
#
DTdir=/usr/local/daemontools/bin
case "$1" in
 start)
    if [ -x $DTdir/svscan -a -d /service ]; then
        env - PATH=$DTdir\:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin \
        csh -cf 'svscan /service &' ; echo -n ' daemontools'
    fi ;;
 stop)
    $DTdir/svc -d /service/*
    (sleep 1; killall svscan)& ;;
esac

ただし上のスクリプトを読めば分かるように、/serviceを作らないとdaemontoolは使えるようにならないので、早速/serviceを作成する。/ ディレクトリにファイルを作るのに抵抗を感じないわけではないが、djb-toolを使うという時点で自分のポリシーよりもdjb先生の方法論を優先すべきだろう。ということで_躊躇なくディレクトリを作る。_(どうせこのディレクトリにはシンボリックリンクしか置かないし。気にしない。)
mkdir /service
chmod 755 /service

2004年05月25日 火曜日

自宅サーバ設置 その1

ぼちぼち作業しないと埒があかんということで、今週は自宅サーバの設置準備をすることにした。先週までにサーバ機にFreeBSDをインストールし終わり、BBルーターのDMZ/GapNAT設定ができたと判断し、作業を開始なのだ。
備忘録のため昨日と今日の作業のまとめをしておこう。

家系サーバの基本設定

家系レンタルサーバ(総本山)の山崎家から分家・のれん分けと言うことになる。FreeBSD4.x系のソフトが集められている三川家さんからアーカイブを取り寄せて、FreeBSD5.xに焼き直した設定にする。基本的にバイナリコピーで/usr/lib/compat/をつかうことになる。設定は覚えている範囲でメモ。

アーカイブのコピー

以下の手順でrsyncして持ってくる。rsyncがない場合は、/usr/iekei/bin/rsyncをローカルにscpして持ってくればよい。(Portsで入れても良いし、Packageで入れても良い。)こんな感じでrsync。家系セットは/usr/iekeiにコピー、chroot環境もしくはjailで動かしたいものは/home/r (実体は/usr/home/r/)にコピーし/home/rのシンボリックリンクを/rとする。
# mkdir /usr/iekei
# mkdir /home/r
# ln -s /home/r /r
# mkdir
# rsync -e ‘ssh -2’ –exclude log -avzH \自分のユーザ名@mike.mkwk.net:/usr/iekei/. /usr/iekei/.
# rsync -e ‘ssh -2’ –exclude log -avzH \自分のユーザ名@mike.mkwk.net:/r/. /r/.
(ここはできたら/r/bin, /r/etc, /r/lib, /r/usrだけでよい)
# mkdir /r/dev
# mkdir /r/var
と言う具合。あとパス周りの設定をするために、/etc/rc.confに以下の設定を追加。単純に言うとスタートアップ時に見るディレクトリを追加、ldconfigの検索パスの追加である。
local_startup="/usr/iekei/etc/rc.d /usr/X11R6/etc/rc.d"
ldconfig_paths=echo /usr/lib /usr/lib/compat /usr/*/lib /usr/iekei/*/lib

2004年05月05日 水曜日

FreeBSDをインストール

ついに我が家も自宅サーバの設置と言うことで、マシンを用意することとなった。これまでファイルサーバに使ってきたcosmosを明け渡すことにして、これにFreeBSDをインストールすることとなった。まぁOSはLinuxでもFreeBSDでも良いのだけども。FreeBSDの方がシンプルなので。いったん通常自分が使えるサーバに仕立てあげた後に、Web ApplicatonやIPv6環境での相互運用などの実験を行っていければ良いなと思っている。(IPv6というあたりでBSDを選んだわけであるが。)
非常に古い話ではあるが、僕がメールを書き始めたころはSunOS4.xでMHのコマンドを使ってだしていたもので、よくリモートログインしてプログラムを書いて実行したり、メールやニュースを投稿したり、Web(当時は絵が出なかったが)を見たりしたものだ。そんなことで初めて触ったUnix系OSがBSD風だったこともあり、SunOS->FreeBSD 1.xと言うのが自然な流れだったのだが、BSDの訴訟問題やら当時購入したばかりのPC互換機でATAPI CDROMをサポートしてなかったとか言う_ちょっとした理由_で、それ以来Linuxなのである。今日久しぶりにインストールしておおよそ10年ぶりと言うことになる。(バージョンも1.xだったのが5.2になっているしねぇ。)
まぁぼちぼち中身を追っかけていくこととしよう。

2004年04月28日 水曜日

明日から大型連休

明日からゴールデンウィークということで、僕も就職して以来初めての大型連休なのである。明日から5日までお休み。帰りに武蔵野線の上から東北道を眺めたら下り方向に渋滞してました。_アレが帰省・行楽渋滞って奴なのか_と思っちゃいました。

はじめる?IPv6 - Windows LinuxでIPv6しよ!

IPv6に関する入門書みたいな本。一通りIPv4の基礎(と言ってもアドレスとNATのことしか書いてないが)を説明した後、IPv4の問題点とIPv6の概要が説明される。あとはIPv6の実際の導入(WindowsXPとLinux)とアプリケーションの動作までがざっくり書いてある。文章はサクサク読める本だと思うのだが、この絵は何とかならんものか…