第79日目:【リハビリ】FreeBSD 7.1Rをインストールしてみましたよ
|
どうも、('A`)です。
ちょっと疲れが溜まってきたのか、左の頸動脈のあたりがちょっと張ってきた。
(体ガタガタなんですよ。左の頸動脈が梗塞の為、普通の人の60%の太さしか無いんです。
あ、この話のつつきはこちらで書きますね)
むむむさんも検査入院されるとの事ですが、むむむさんも含め昨年倒れてしまった方たちの
回復を祈っています。・・・('A`)も無理しない様に気をつけながら過ごしています。)
まあ、明日はお休みなので、今日一日頑張ろう。
昨日、FreeBSD7.1Rをインストールしてみました。後であぶらみくん( `э´)に
動作チェックをお願いして、ApacheとかPHPが問題なく動くか確かめてもらおう。
で、今日はpatchについてサラッとですがお話してみます。
「パッチってなーに?」と思う人もいるかもしれませんので、そこのところから説明しますね。
(実際('A`)もサーバと関わりだした当初は何にも判っていませんでしたので・・・)
パッチとはプロブラムに不具合とか問題(セキュリティホールなんか)があった時に
通常プログラムを更新して修正するんですが、その修正の為のデータの事を言います。
この話をすると、年代が古いと判っちゃうかもしれませんが、子供のころ外とかで遊んで
ジーパンとかに穴が開いてしまった時に、度々カーチャンJ( 'ー`)しが「又穴を開けたの?!
しょうがないねぇ、パッチあてとくから」と言って穴の上にあて布をあてて縫って穴を塞ぐ、
というのをやってもらった記憶、皆さんはありませんか?
その時に言っていた「パッチ」と意味合いは同じで、同じ英単語(patch)を使います。
最近では穴が空いたままで履くのがオシャレなのかもしれませんので、パッチを
知らないという人も多いのかなあ・・・・
7.1Rは今年の1月に公開されていますが、既にそれに関連するpatchも出ています。
もしこれからFreeBSDをインストールしてサーバを作る人がいるなら、本家サイトの
ココを見て下さい。
2009年になってから発表されたpatchは以下の通りです。
・FreeBSD-SA-09:01.lukemftpd
クロスサイトリクエストフォージャリのリモート脆弱性を解消
・FreeBSD-SA-09:02.openssl
中間者攻撃が可能となるリモート脆弱性の解消
(不正な日時がセットされる可能性が出てくる)
・FreeBSD-SA-09:03.ntpd
暗号による認証の回避という問題を解消
(不正な日時がセットされる可能性が出てくる)
・FreeBSD-SA-09:04.bind
OpenSSL由来のリモート脆弱性の解消
・FreeBSD-SA-09:05.telnetd
コード実行の脆弱性の解消
このうち、以下の3つは必要と思います。
telnetに関するパッチ(SA-09:05)
ntpdに関するパッチ(SA-09:03)
opensslに関するパッチ(SA-09:02)
(bindでDNSサーバを構築している人はSA-09:04、FTPでlukemftpdを使っている人は
SA-09:01も必要です。)
さて、今回はカーネル&World(ベースシステム)の再構築も行う関係上、以下の方法で
作業を進めました。
1) CDからサーバにFreeBSD 7.1R (amd64)をインストールする。
2) インストールが終わったら、Portsからcvsupをインストールする。
CPUTYPE=core2
pkg_add cvsup-without-gui-16.1h_4
rehash
|
3) /rootにcvsupの設定ファイルを作る
(ここではファイル名をFreeBSD7.1-standard-supfile.v1にします。)
中身は以下の通りです。こんなファイルです。
CPUTYPE=core2
# $FreeBSD: v 1.0 2009/02/26 DOKUO Exp $
#*default host=cvsup.jp.FreeBSD.org
*default host=cvsup4.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7_1
*default delete use-rel-suffix
# If you seem to be limited by CPU rather than network or disk bandwidth, try
# commenting out the following line. (Normally, today's CPUs are fast enough
# that you want to run compression.)
*default compress
## Main Source Tree.
#
# The easiest way to get the main source tree is to use the "src-all"
# mega-collection. It includes all of the individual "src-*" collections.
src-all
|
「*default host=」で指定されている処は、データの参照元サーバを指定します。
今回はアメリカにサーバがあるので、cvsup4(実はPIEが入っている200Paulにあったりします)
を指定しています。
日本でサーバを作っているならcvsup.jp.FreeBSD.orgを指定すると良いでしょう。
あと、*default release=cvs tag=で取得したいバージョン(ブランチタグ)を指定します。
今回は7.1RなのでRELENG_7_1と記述します。ブランチタグはココで一覧が判ります。
で、最後の行に「src-all」と書いていますが、これはソース全部を持ってくる対象とする、
事を意味します。
4)以下のコマンドを実行してcvsupを実行して最新ソースを取得します。
cvsup -g -L2 /root/FreeBSD7.1-standard-supfile.v1
|
回線スピードによって違ってきますが、10Mbpsの回線だったら1時間位で終わります。
このcvsupでCDに収録されたソースに変更があった場合、最新ソースに置き換わります。
5)再構築に必要なコンパイル用のパラメータを指定します。
まずは /etc/make.confです。
今回はT-Banana2009のマシンを使っているので、CPUはCore2DUOです。なので、
CPUTYPE=core2
CFLAGS= -O1 -fno-strict-aliasing -pipe
COPTFLAGS= -O1 -fno-strict-aliasing -pipe
|
と書きます。
それから/etc/sysctl.confに以下のパラメータを追加しておきます。
echo "net.inet.tcp.rfc1323=0" >> /etc/sysctl.conf
echo "net.inet.tcp.sack.enable=0" >> /etc/sysctl.conf
|
で追加したらsysctlを以下のコマンドで再起動して、パラメータを反映させます。
さて、ここでようやくpatchを当てる事ができるようになりました。
今回は以下の手順でopenssl、ntpd、telnetdの3つのpatchを適用します。
opensslは色んなプログラムに関連するので、それらに今回の修正を反映させる為に
Enterの入力回数が多くなっています。
(普通のプログラムだと1回か2回なんですけど。関連性のあるプログラムだとこうなるのです。)
さてこれでpacheを当てたら、いよいよカーネル再構築です。で、その前に前準備を・・・
6)カーネル再構築の為の前準備
7.0R以降、/usrに収録されるportsとかのデータが多くなっているのと、OBJの使用領域を
ちょっと多めに確保しておかないと再構築中に/usrがあふれる、という事が起きちゃいます。
それを防ぐ為にゆとりのあるパーティション領域に(/homeとか)に
/usr/objを確保します。こんな感じで。(今回は/home/service上に作りました。)
rmdir /usr/obj
mkdir /home/service/obj
ln -s /home/service/obj /usr/obj
|
そしてカーネルコンフィグレーションファイルを作って、/usr/src/sys/amd64/conf/に
設置します。
(標準のGENERICのコンフィグレーションファイルは/usr/src/sys/amd64/conf/にあるので
これをコピーして作ります。今回はTBANANA64711という名前にしました。クリックすると
内容をご覧頂けます。)
いつもながら、('A`)ってネーミングセンスが無いよなあ・・・
なんで、カーネルを再構築するの?、って聞かれるとちょっと困りますが、
・余計なドライバーとかを取り込まないで、カーネルのコア部分を小さなサイズにする。
(メモリを余計に消費するのを避けます。)
・サーバログイン時に「GENERIC」以外の名前が表示されるのを見たいから。
例えばSSHでサーバにログインすると、こういう表示になります。
Password:
Last login: Thu Feb 26 18:44:07 2009 from 114.160.23.32
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 7.1-RELEASE-p3 (TBANANA64711) #0: Thu Feb 26 08:07:05 UTC 2009
big-server - http://www.maido3.com/server/
>
|
あ、補足言っとかなきゃ・・・patchを当ててからカーネル再構築しているので、
今回はFreeBSD 7.1-RELEASE-p3とp3が後ろについています。
で、今回のTBANANA64711はどこをどう直したかというと、、、、以下の2点です。
・identのところをGENERIC->TBANANA64711に変更した
(これで表示される名前が変わります。)
・以下のセクションに記述されているデバイスをコメントアウトし、ドライバが
組み込まれないようにしました。
これはT-Bananaサーバのハードウェアを考慮してコメントアウトにしているので、皆さんは
将来の増設などを考慮した上でご自身のサーバのハードウェアを把握してデバイスの追加・
削除を行って下さい。
-----------------------------------------------------
SCSI Controllers
SCSI peripherals
RAID controllers interfaced to the SCSI subsystem
(device twa だけ有効化)
RAID controllers
(device twe だけ有効化)
Wireless NIC cards
USB Ethernet, requires miibus
FireWire support
-----------------------------------------------------
で、第78日目でもお話していた様にスケジューラーはULEが標準で指定されています。
(options SCHED_ULE # ULE scheduler のところ)
7.0Rのバージョンの時は、ここを書き換えて指定しなければなりませんでした。
で、コンフィグレーションファイルの設置が終わったら、
7)World(ベースシステム)のコンパイル
cd /usr/src
make -j4 buildworld
|
ここでは並列でコンパイルが4つ走る様に「j4」とパラメータを指定しています。
8)Kernerlのコンパイル
make -j4 buildkernel KERNEL=TBANANA64711
|
ここでは並列でコンパイルが4つ走る様に「j4」とパラメータを指定しています。
KERNEL= の後に設置したコンフィグレーションファイルの名前(ファイル名)を指定して下さい。
9)Kernerlのインストール
make installkernel KERNEL=TBANANA64711
|
10)World(ベースシステム)のインストール
11)サーバを再起動する(reboot)
ここでサーバを再起動して、再びオンラインになったら一安心です。
失敗すると立ち上がりもしないですから・・・
で、 uname -a とコマンドを打って表示されるカーネル情報を確認しましょう。
まあ、インストール作業の高速化など、色々対応しなきゃいけない事もあるんですけど、
とりあえずは、1台サーバを作れたので、ちょっと安心しました。
うまく動いてくれるといいなあ。
さて次は何をしようかな。それでは、また。
|
|
【血管が細くなってるのは頸動脈だけじゃ無いのね(涙・・・】
えーと脳梗塞で入院してから、何度かMRI検査を受けて、色んな箇所の画像を撮りました。
MRIって省略形で言ってますが、正式には「核磁気共鳴画像法」って言うんですね。
CT検査は以前左足の腫瘍を手術で除去する前に受けた事はありますが、MRIは
初めてでした。
で、入院してから2週間後、家族を交えて「経過報告」と今後の治療についてお医者様と
お話する時にMRIで撮影された自分の脳の映像を見せて頂きました。
すると、動脈って背骨にそって上に伸びていて、ちょうど目の位置まで来たら耳の方に
伸びているんです。ふつうなら最後まで映っているんですが、右の脳の方は途中で
「消えて」無くなっているんです、血管が。
「これは、動脈硬化で血管があまりに細くなってしまったんで、映らなかったのですよ。」
とお医者様から説明を受けました。
動脈硬化の原因はいろいろあるのですが、私の場合タバコの吸い過ぎによるものが
主要な原因だったと思います。
この写真をみた瞬間、「タバコをやめよう」と決心しました。
そうそう、自分の脳を見れるものじゃないです。で、あるべきもの(血管)が「霧の様に」
消えているのは、すごく衝撃を受けました。
まあ、入院して点滴を毎日投与されていると、体の組成が本当に変わります。
血液の流れが変わった事を実感しました。
タバコを吸っていると、よく「肺がんになる」から呼吸器系の病気に気をつけようと
思っている人もいるんじゃないかと思うのですが、むしろ「血管が傷ついてしまう」
ので、ダメージは広範囲に渡るのです。
で、退院してから後に今通院している大学病院で首から胸にかけてMRIを撮ったら
心臓からでている動脈(特に左側の頸動脈)が梗塞状態になっていることが判りました。
映像で見ると血管自体がデコボコ伸びていて、途中何箇所かで細くなっているのです。
(比較的悪い箇所で正常な血管の6割程度の太さしかない)
まあ、すぐに血管の拡張手術が必要ではなく、投薬治療と食生活を注意して生活して
「今の状態よりも悪くならないように」気をつけています。
そういえば、大学病院で左の頸動脈をエコーで詳しく調べる時に面白い(けど、つらい)
経験をしました。
通常エコーを撮る時はセンサー部の先端にゼリーを付けて、体触れさせながら撮ります。
これは空気中ではエコーが通らないからです。
ところが首の頸動脈って頭の中に入っていく処がちょうど顎に隠れて移せないのです。
空気だけじゃなく、骨の中もエコーは通過しないんですよ。
じゃあどうするか、というと、病院で使うゴム手袋の指の部分にゼリーを注入し、
その中にセンサー部を入れます。で、そのゼリーとセンサーが入ってパンパンになっている
ゴム手袋の指を口からゴックンします。要は内側からセンサーを入れて撮るのです。
胃カメラよりも辛いかも、、、、胃カメラは一回入ったら後は奥まで突っ込まれるだけ
ですが、今回の撮影ではのどの処でセンサーを何度も動かされるので、息を止めていないと
いけないのです。
とても辛かったのですが、それで状況が判り手術の必要が無い事が判ったので良かったです。
まあ、自分の体がどうなっているか見るのは考えようによってはいい経験かもしれません。
自分だけの「NHKスペシャル」みたいな映像が見れますから。
|
|
|
|