作成開始 : 平成17年03月27日(日)  最終更新日 : 平成22年10月15日(金)

Delegateでリバースプロキシを試す!


例によって経験則なので、このままやっても動かないこともあるかもしれません。(このやり方でよかったのかなぁー?)

私の自宅には、メインのサーバー(PC-9821Xc13 FreeBSD)以外にWindowsで動いているサーバーが2台あります。
今まではポート番号を指定 (Ex http://takaq1.plala.jp:8085/) して外部から閲覧ができるようにしていました。
しかし、これだとポート:80以外の外部へのアクセス制限されているイントラネットからは閲覧することができません。

そこでDelegateの登場です。
Delegateは以前に Windows2000 Professionalでプロキシサーバーとして動かしてみたことがあります。
その時に他のUNIX系OSでも動くことがわかりました。
また、一つのIPで複数の自宅サーバーを公開できることも見つけていました。

自分的に理想としては、複数のドメインを取得してそれぞれの名前で複数のサーバー機を公開したかったのですが、お金をかけたくなかったので次のようなことを考えました。

●自宅内サーバー機

1.PC-9821Xc13 (メイン機 FreeBSD + Apache)    → http://takaq1.plala.jp/ で公開
2.DynaBook SC220 (Windows NT Server4.0 + IIS)  → http://takaq1.plala.jp/DynaBook/ で公開
3.PC-9821Ne (Windows95 + ANHTTPD )        → http://takaq1.plala.jp/9821nemail/ で公開

1.構築したPCと構成概要

●Delegateインストール、稼動PC

NEC PC-9821v7

CPU : 100MHz (ODPで75MHz -> 100MHz)
MEM : 24Mbyte
HDD : 2.1Gbyte

こんな低スペックでも機能限定すればかなり
軽快に動作します。
平成19年09月14日(木)からのDelegate機

Akia T513V

CPU : 133MHz
MEM : 40Mbyte
HDD : 1.2Gbyte

友人からもらったやつ!快調に動いています。
平成22年10月15日(金) delegate機引退
平成22年10月15日(金)からのDelegate機

Toshiba dynabook 220CS

CPU : 133MHz
MEM : 32Mbyte
HDD : 2.1Gbyte

こんな感じで公開したーーーーーい!


2.Delegateの紹介

Delegate Home Pageを参照ください。(英語のサイトです)
日本語で見たい場合は検索エンジンで検索すればたーくさんヒットします。

3.(特に)参考にしたサイト

Delegateのインストール  Dreem-Seed 自宅サーバーの解説・・・・ここにある Computer -> DeleGateを圧縮プロキシとして使う
その他のサイトはごめんなさい検索しまくりで一通り拝見させていただきました。
この後、微調整などしたいと思いますので、その都度リンクいたします。
日本語マニュアル

4.配布ファイルの準備

ftp://ftp.delegate.org/pub/DeleGate/ からダウンロードできます。
delegate8.11.1.tar.gz(1,280,675byte ->1.22Mbyte)をダウンロードしました。

5.インストールと設定

・Windowsクライアントで取得した delegate8.11.1.tar.gz をftpでアップロードします。

・環境を構築するサーバーに telnet でログインしスーパーユーザ(root)に移行します。

・カレントディレクトリを /usr/local に移動します。

・ソースを保存・展開するディレクトリ src を作成します。既にある場合は読み飛ばしてください。

・カレントディレクトリを /usr/local/src に移動します。

・delegate8.11.1.tar.gz をコピーします。

・パッケージの解凍・展開をします。

 tar xvfz delegate8.11.1.tar.gz [Enter]

 これによりディレクトリ delegate8.11.1 が作成され配下に関連ファイル群が解凍されます。

・カレントディレクトリを /usr/local/src/delegate8.11.1 に移動します。
・コンパイルを実行します。

 make [Enter]

 この非力なPCでは1時間半くらいかかりました。

 makeの途中でADMIN(管理者のメールアドレス)の入力を求められますので、適宜入力します。

・コンパイルが終わると、srcディレクトリに「delegated」というバイナリが出来上がっているので、好きなところにコピーします。
 私は「/usr/local/bin」にコピーしました。

・次に、delegate用のキャッシュディレクトリとログディレクトリを作成します。このディレクトリはなくても動作しますが、作っておかないとキャッシュやログを作成してくれません。

私は 次のように作成しました。

 カレントディレクトリを /var に移動します。
 delegate用のディレクトリ delegate を作成します。
 カレントディレクトリを /var/delegate に移動します。
 キャッシュ用のディレクトリ cache を作成しオーナーをnobodyにします。
 ログ用ディレクトリ log を作成しオーナーをnobodyにします。

 ※delegateはnobody権限で動くみたいで、キャッシュやログディレクトリのパーミッションが違っていると起動時にエラー出します。
・起動時に実行すべき内容を書いた conf ファイルを作成します。
 私は /usr/local/etc に作成しました。
注意.:下の内容をそのままコピペしない方がいいと思います。漢字コード(全角スペース)などが入ると変になります。(特にLOGFILE, PLOTOLOG行)、コピペした場合は漢字文字がわかるエディタ上で除去しときましょう。
# delegate リバースプロキシ環境ファイル : httpmount.conf

MANAGER=root@9821v7.takaq.jp            # 管理者メールアドレス
SERVER=http                        # サーバー・モード http

MOUNT=/* http://takaq1.plala.jp:80/*         # 9821Xc13 & FreeBSD
REACHABLE=192.168.2.5                 # 9821Xc13 以外へアクセスできないようにする

MOUNT=/DynaBook/* http://DynaBook.takaq.jp:80/*  # DynaBook & Windows NT Server4.0
REACHABLE=192.168.2.9                # DynaBook 以外へアクセスできないようにする

MOUNT=/9821nemail/* http://9821nemail.takaq.jp:80/* # PC-9821Ne & Windows 95
REACHABLE=192.168.2.8                # PC-9821Ne 以外へアクセスできないようにする

RELIABLE=*                        # 全ての接続を許可する

CACHE=do                         # キャッシュを使う
CACHEDIR=/var/delegate/cache           # キャッシュディレクトリ
LOGDIR=/var/delegate/log             # ログディレクトリ

EXPIRE=3d                         # キャッシュの有効期限 3日前のものは無視
CRON="0 2 * * * -expire 3d"             # 毎日午前2時にチェックして3日以上前のものは削除

CACHEFILE='$[server:%P]/$[hash:%H]/$[server:%L/%p]' # キャッシュの保存形式
LOGFILE=' '                        # ログを取らない
#LOGFILE='${LOGDIR}/${PORT}[date+%d]'     # ログの保存形式
PROTOLOG='${LOGDIR}/${PORT}/[date+%d].${PROTO}'  # httpd log 日付付きでローテートします。(Ex 27.http)
CONNECT=c,d:*:*:*                    # キャッシュを検索し、無かったら各サーバーへ直接接続する

# 微調整に応じて変更していくこととします。

# MOUNTのところでは、最初LAN内のIPアドレスを書いていましたが、それだとWindowsNT+IISのBasic認証で
# LAN内のIPアドレスを認証ボックスに表示してしまうので /etc/hosts に書いてあるFQDNを記述しました。
# もちろん、DNSなどの名前解決手段がある場合は該当のアドレスを書くとよいでしょう。

# CACHEFILEは${CACHEDIR}しなくても/var/delegate/cacheに保存してくれます。
# 書くと/var/delegate/cache/${CACHEDIR}の下に'$[server:%P]/$[hash:%H]/$[server:%L/%p]ができちゃいます。

# httpd log については、一回りローテートすると .old という拡張子でバックファイルを作ります。
# このままだとディスク圧迫するので cron で毎日午前6時に .old ファイルを削除するようにしました。
・DynaBookと9821nemail用のアクセス環境設定

 /var/spool/delegate-nobody にディレクトリ DynaBook9821nemail を作成、オーナーを nobody にします。
・次のようにして実行確認します。

 /usr/local/bin/delegated -P80 +=/usr/local/etc/httpmount.conf [Enter]

 これでエラーを出さないで起動すればOKです。
 エラーがある時やブラウザからうまく接続できない時は、上のconfファイルのLOGFILEを生かしてログ見ながら調整するとよいでしょう。

 top で見るとdelegateが動いているのがわかります。

 そしたら、クライアントPCから動作確認をします。
 私のルータはLAN内から直接ドメイン名を入力するとルータの認証画面が表示されてしまいます。
 なので、WINDOWS\system32\drivers\etc\hosts に次の一行を追加しました。(WindowsXPの場合)

 192.168.2.12 takaq1.plala.jp    # Delegate PCのアドレス

 そして、いよいよブラウザからの確認です。

 http://takaq1.plala.jp/             → PC-9821Xc13のドキュメントルートを表示しました。
 http://takaq1.plala.jp/DynaBook/      → DynaBookのドキュメントルートを表示しました。
 http://takaq1.plala.jp/9821nemail/     → 9821nemailのドキュメントルートを表示しました。
・インターネットからの確認

 ルータのポートマッピングでポート:80を192.168.2.12に向かうようにしました。
 ファイヤーウォールの設定でポート:80を192.168.2.12に向かうようにしました。

 クライアントPCのブラウザで外部プロキシを使うようにしました。(CyberSyndrome - The Proxy Search Engine参照)
 そして、再度ブラウザからのテストです。

 http://takaq1.plala.jp/             → PC-9821Xc13のドキュメントルートを表示しました。
 http://takaq1.plala.jp/DynaBook/      → DynaBookのドキュメントルートを表示しました。
 http://takaq1.plala.jp/9821nemail/     → 9821nemailのドキュメントルートを表示しました。
・自動起動ファイルの作成

/usr/local/etc/rc.d にdelegate.sh を作成します。

if [ -x /usr/local/bin/delegated ]; then
    echo -n ' delegated'
    /usr/local/bin/delegated -P80 +=/usr/local/etc/httpmount.conf > /dev/null 2>&1
else
    echo -n "delegated start error"
fi
exit 0
# もうちょっとカッコいい書き方があるかも・・・検討します。
とりあえず、 sh /usr/local/etc/rc.d/delegate.sh [Enter] で動かして確認します。
OKであればリブートしましょう。
リブート後にdelegateのプロセスが動いていたらOKですね。

6.付記・追記

少し設定、動作確認に時間かかりましたが、うまく動いてくれています。
少しずつマニュアル読んで微調整していきたいと思います。

直接、各Webサーバーへのアクセスが抑止できましたし、キャッシュのおかげで各Webサーバーの負荷が小さくなりました。

難点としては、各サーバーでアクセス集計のCGI置いていますが、接続してくる相手のドメインを取得できない(つーか、全て192.168.2.12から来るので・・・)ので、接続ホストの集計が全て *takaq.jp になってしまうことでしょうか。
それと、訪問者のIPアドレスで現在アクセス数のカウントができない。
CGIなどで訪問者のIPアドレスによるリロード時のカウント抑制や設定URLとブラウザのURLで直リンク禁止なんかしている場合はおかしくなります。ですので、スクリプトをチビッといじりました。   

●平成18年09月14日(木) 追記

あまりに不正アクセス(スパム投稿など)が多いのでIPアドレスによるアクセス制限をしてみました。
これにより、該当のIPアドレスから来るアクセスは 403エラー となり REJECT されます。
設定は上記の httpdmount.conf に次のような記述を追加しました。
もっと美しいやり方があるのでしょうが、私のスキルではここまでです。
                 ・
              (途中省略)
                 ・
RELIABLE=*                        # 全ての接続を許可する

HOSTLIST=denyhost:60.28.17.32,203.113.13.5,195.225.177.40 # 制限したいIPアドレスを「,」で区切り書く

REJECT=*:*:denyhost                         
# 全てのprotocol、Hostへのdenyhost記載のクライアントからのアクセスをREJECTする。
                 ・
              (以降省略)
                 ・
※protocolはポート:80のリバース・プロキシなので「*」としてもポート:80だけですけどね・・・・

●平成20年01月25日(金) 追記

平成20年 1月18日(金)に帰宅し何気なく画面を見てみたら次のようなメッセージがあった。

pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1488 (delegated), uid 65534 on /var: out of inodes
pid 1493 (delegated), uid 65534 on /var: out of inodes
Jan 18 01:25:41 t513v last message repeated 11 times
Jan 18 01:26:41 t513v /kernel: pid 1493 (delegated), uid 65534 on /var: out of inodes
pid 1498 (delegated), uid 65534 on /var: out of inodes
Jan 18 01:28:07 t513v /kernel: pid 1498 (delegated), uid 65534 on /var: out of inodes
pid 1499 (delegated), uid 65534 on /var: out of inodes

また、セキュリティチェックメールにも次のようなのがある

> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1488 (delegated), uid 65534 on /var: out of inodes
> pid 1493 (delegated), uid 65534 on /var: out of inodes
> Jan 18 01:25:41 t513v last message repeated 11 times
> Jan 18 01:26:41 t513v /kernel: pid 1493 (delegated), uid 65534 on /var: out of inodes
> pid 1498 (delegated), uid 65534 on /var: out of inodes
> Jan 18 01:28:07 t513v /kernel: pid 1498 (delegated), uid 65534 on /var: out of inodes
> pid 1499 (delegated), uid 65534 on /var: out of inodes


これは何?
Delegateを経由してのWebページ閲覧は問題なくできている。
しかし、気になったのでとりあえずリブートしてみた。
リブート直後はしばらくメッセージ表示しないのだが少し経つとまたエラーを出力する。
んー・・・で調べてみた。

ディスクが残り少ないようなことを書いている記事もあったのだが、dfで見ても 66% の使用率である。
しかし、/var で vi にて新規ファイルを開くと「non space on dev」を表示する。
「やっぱり残り少ないのかなー」・・・で Delegateのログを削除してOS再起動してみた。
この時点の df では 51% の使用率である。
再起動からしばらくはエラーもなく稼動している。しかし、翌朝見るとやっぱりエラーを表示している。

んんーーー・・・でまた調べてみた。
そうしたら、「inodeの使用が一杯になっている」というページを見つけた。
それによると df -i で見ると inode の使用率が分かるらしい。

どれどれ

t513v# df -i /var
Filesystem  1K-blocks   Used   Avail  Capacity  iused  ifree  %iused Mounted on
/dev/ad0s1g 273134   132338 118946     51%  34302    0   100%  /var

おぉーーーー inodeの使用率が 100% になっている。
それで書けないでいるのかぁー
delegateでは自身のログやWebページのキャッシュを残すようにしているし、その他も色んな管理情報をファイルに出力している。

じゃーこれを何とかする方法はあるの?
で、調べた・・・
---------------------------------------------------------------------------
newfs の -i オプションでファイルシステム中の i ノードの密度を設定できるらしい。

ディフォルトは 8096 のようだ。

i ノード数を少なくしたい場合は大きな値を指定し、 iノード数を多くしたい場合は小さな値を指定します。・・・とのことであった。
次のようにしてしてみるといいらしい。

# newfs -U -O -i 2048 /dev/ad0s1g

コマンドリファレンスによると・・・・

-U
ソフトアップデートを新規ファイルシステム上で有効にします。
デフォルトは 16 です。
最大値は、他の多くのパラメータ、特にブロックサイズに依存します。
特定のファイルシステムに対する最大値を知るための最良の方法は、とても大きな値を指定しようとすることです。
newfs は最大値を表示します。

?O filesystem-type

UFS1 フォーマットのファイルシステムの構築には 1 を使用し、 UFS2 フォーマットのファイルシステムの構築には 2 を使用します。
デフォル トでは UFS2 フォーマットです。

i bytes

ファイルシステム中の inode の密度を設定します。
デフォルトは、 (4 * frag-size (フラグメントサイズ)) バイトのデータ領域ごとに 1 つの inode を作ります。
inode 数を少なくしたい場合は大きな値を指定し、 inode 数を多くしたい場合は小さな値を指定します。
各ファイルに対して inode が 1 個必要ですので、ファイルシステム上の平均ファイルサイズを、この値は事実上指定します。


# newfs -U -O -i 2048 /dev/ad0s1g
# newfs failed : Device Busy


あれぇー使用中だってさー・・・・色々調べたけれど挫折 _| ̄|○
------------- newfs って新しいファイルシステムの作成だよね!!---------------------


なので最後の手で delegate 関連ファイルを削除することにした。
/var/delegate/log/var/delegate/cache はとりあえずそのままにして /var/spool/delegate-nobody の下にあるのを全て rm した。
そして df -i /var とすると・・・・・

Filesystem  1K-blocks  Used    Avail Capacity iused  ifree %iused Mounted on
/dev/ad0s1g   273134  6578  244706    3%   140 34162   0% /var


なんてこった、delegateだけで Capacityが63% で inode のほとんどを使っていたのだぁー
このPC非力だから次に発生したらこれしなくちゃー
(平成19年 7月 4日にDelegateをインストールしたから約7ヵ月かぁー)

でOSをリブートしてOKであった。Delegate起動で/var/spool/delegate-nobody の下は新規に作成される。

inodeとは、ハードディスクドライブに作成可能なファイルの総数で、これが不足するとディスク容量自体は使用率が100パーセント未満でも、新たなファイルの書き込み等が出来なくなります。主にサイズの小さなファイルやログが大量に生成されるプログラムが実行されている場合などにこの現象が発生します。この場合、必要の無いファイル群を消去することで問題が解決します。

ディスク容量が上限に満たない場合でも、inodeが不足している場合(inodeの使用率が100パーセントの場合)には、新たなファイルをアップロードすることができない場合があります。

●平成20年01月30日(水) 追記

難点としては、各サーバーでアクセス集計のCGI置いていますが、接続してくる相手のドメインを取得できない(つーか、全て192.168.2.12から来るので・・・)ので、接続ホストの集計が全て *takaq.jp になってしまうことでしょうか。
それと、訪問者のIPアドレスで現在アクセス数のカウントができない。
CGIなどで訪問者のIPアドレスによるリロード時のカウント抑制や設定URLとブラウザのURLで直リンク禁止なんかしている場合はおかしくなります。ですので、スクリプトをチビッといじりました。
・・・・・・と上の追記で書いていますが、リモートアドレスをWebサーバーに渡す方法が見つかりました。
DeleGateを使ってLAN内部のサーバを公開する方法より引用

X-Forwarded-For
リバースプロキシにすると Webサーバから見たクライアントが、本来のアクセス元のホストではなくプロキシサーバに置き換わってしまうという現象が起きます。その結果、例えば掲示板CGIでアクセス元の IPアドレスを記録していると、それがプロキシサーバの IPアドレスになってしまい、全く意味がなくなってしまいます。

これを解決するにために以下のような対策をします。
1. DeleGateの設定(conf)に以下の 1行を追加する
  HTTPCONF="add-qhead:X-Forwarded-For:%a"
 これによって DeleGateから Webサーバに X-Forwarded-For ヘッダが追加され、アクセス元の IPアドレスが通知されるようになります。

2. 掲示板CGIにおいて環境変数 HTTP_X_FORWARDED_FOR を見る
 X-Forwarded-For ヘッダがあると Webサーバはそれを環境変数 HTTP_X_FORWARDED_FOR に設定します。掲示板CGIの中ではアクセス元の IPアドレスを $ENV{'REMOTE_ADDR'} で求めているはずなので、その個所を探し、それを $ENV{'HTTP_X_FORWARDED_FOR'} に書き換えます。これでリバースプロキシではなく本来のアクセス元ホストの IPアドレスが記録されるようになります。
・・・・ということでやってみたら見事にアクセス元の IPアドレス が通知されるようになりました。w

●平成20年01月31日(木) 追記

上記により Apache のログでもアクセス元のIPアドレスが記録されるように設定してみました。
覚書き、若しくは駄文を参考に下記のように httpd.conf を変更しました。やり方は色々あるでしょうが私は次のようにしました。
LogFormat "%h %l %u %t \"%r\" %>s %b" common
    ↓
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common
%h が入っている個所を \"%{X-Forwarded-For}i にします。
カスタムログは CustomLog /var/log/httpd-access.log common としています。
Microsoft IIS の場合は ここ をクリックしてください。

●平成20年08月18日(月) 追記

自動起動ファイルを次のようにしてみました。
-Fkill は delagated の引数です。

●平成22年09月23日(木) 追記

Akia T513V が時々リブートする現象が出ていました。このPCは delegate しか動かしていないのでそれに原因があることは感じていました。
そもそも、リブートしてしまうのは、メモリかハードディスクの異常に原因があることが多くみられます。
そこで、メモリだとどうしようもないので 例によって delegate の環境ファイルをクリアしようと思い、/var/spool/delegate-nobody の下にあるファイル群を削除しました。
そこは次のようになっています。
drwxr-xr-x 8 nobody nobody 512 9/23 09:28 act
drwxr-xr-x 4 nobody nobody 512 9/23 09:28 adm
drwxr-xr-x 3 nobody nobody 512 9/23 09:28 etc
drwxr-xr-x 2 nobody nobody 512 9/23 09:28 log
drwxr-xr-x 3 nobody nobody 512 9/23 09:51 tmp
drwxr-xr-x 3 nobody nobody 512 9/23 09:40 work
ここで、act を rm -rf act したらいきなりリブートしてしまいました。どうやらこれの下に原因があるようでした。
不良な領域があるのでしょうね。元々、Windows95 で使っていたものを譲り受けて そのまま FreeBSD をインストールしたものなので・・・・
リブート後は、他の全部を rm -rf しましたが、他は無事にできました。
次にディレクトリを /var/spool/delegate-nobody/act に移動しました。
そこは、次のようになっています。
drwxr-xr-x 17 nobody nobody 512 9/23 09:55 clients
drwxr-xr-x 3 nobody nobody 512 9/23 09:20 errors
drwxr-xr-x 3 nobody nobody 512 5/28 2009 locks
drwxr-xr-x 2 nobody nobody 512 9/23 09:40 pid
drwxr-xr-x 3 nobody nobody 512 12/ 5 2009 servers
drwxr-xr-x 28 nobody nobody 512 9/23 09:57 sockets
ここでは、rm -rf errors したらリブートしました。ディレクトリを /var/spool/delegate-nobody/act/errors に移動しました。
そこには drwxr-xr-x 20 nobody nobody 512 9/23 09:35 unknown しかありません。
ディレクトリを更に /var/spool/delegate-nobody/act/errors/unknown に移動してみると次のような感じです。
drwxr-xr-x 2 nobody nobody 96256 9/23 08:23 07
drwxr-xr-x 2 nobody nobody 103424 9/20 11:59 09
drwxr-xr-x 2 nobody nobody 99840 9/23 01:07 11
drwxr-xr-x 2 nobody nobody 105984 9/22 19:17 13
drwxr-xr-x 2 nobody nobody 112640 9/22 18:11 14
drwxr-xr-x 2 nobody nobody 112128 9/21 00:00 15
drwxr-xr-x 2 nobody nobody 99840 9/23 02:29 16
drwxr-xr-x 2 nobody nobody 94208 9/20 17:55 17
drwxr-xr-x 2 nobody nobody 107520 9/19 17:39 18
drwxr-xr-x 2 nobody nobody 89088 9/20 11:30 21
drwxr-xr-x 2 nobody nobody 94720 9/22 11:13 22
drwxr-xr-x 2 nobody nobody 88576 9/19 23:47 23
drwxr-xr-x 2 nobody nobody 97792 9/22 10:30 26
drwxr-xr-x 2 nobody nobody 95232 9/20 19:59 27
drwxr-xr-x 2 nobody nobody 93696 9/23 05:34 28
drwxr-xr-x 3 nobody nobody 94720 9/20 13:23 29
drwxr-xr-x 2 nobody nobody 104448 9/23 00:59 30
drwxr-xr-x 2 nobody nobody 96768 9/15 20:37 31
何やらいっぱいあります。ひとつずつ rm -rf していったら ディレクトリ 09 でリブートしてしまいました。
この下には小さなファイルがたくさんあります。とりあえず mv 09 09-org にしました。削除できないので・・・・
まだ他のを rm -rf してもリブートするのがありました。
最終的に mv したのは以下のものです。

09, 20, 22, 23, 27, 28, 29, 31

このディレクトリは何かローテートしているような感じです。
今回の処置は単にそのディレクトリに書かないようにしているだけなので、付け焼刃ですね。
これで少し様子見たいと思います。
次にリブートしたら HDD交換してOSインストールしたいと思います。

●平成22年09月24日(金) 追記

結局、この日の早朝にまた勝手にリブートしてしまいました。
HDD を交換し OS と delegate をインストールしました。

●平成22年10月09日(土) 追記

前回HDD交換したのに、この日の夕方勝手にリブートしてしまいました。交換したHDDも中古だったからなぁー

●平成22年10月13日(水) 追記

また勝手にリブートしたようです。こんなお知らせメールがありました。・・・・delageteのバグでしょうか?

●平成22年10月14日(木) 追記

今日は、5:30頃と17:30頃に自分が近くにいる時に勝手にリブートしました。
ここのところ届くお知らせメールにある「SIGILL」は調べると下記のようです。
SIGILL - 不正命令
通常、命令でないメモリ領域にジャンプしたときに発生(コールスタックのリターンアドレスが破壊されたときなど)。他に特権レベルが高くないと実行できない命令を実行しようとしたときなどにも発生する。
なので、21:25頃に DynaBook(同じOSバージョン)でコンパイルした以前のバージョンを t513v にアップして稼動開始しました。
これで様子みます。
勝手にリブートするのと「SIGILL」が関係しているか切り分けです。

●平成22年10月15日(金) 追記

やっぱり勝手にリブートしちゃいました。
なので、Akia T513V は delegate機引退し、Toshiba dynabook 220CS をdelegate機にしました。

FreeBSD構築苦労談へ戻る

サイトトップへ