2012年1月19日 (木)

make worldの行方

make world自体は特にこれと言った不具合は起きずに終わったのだが、再起動して動かしてみると、どういうわけかインターネットにアクセスできない。
netstat -rnとかやると、デフォルトのルートがどういうわけか入っていない。
「はて?defaultrouterは書いていたはずだが?」ということでrc.confのmanpagesを読んでみてもtypoではなさそう。
違うことと言えば、CPUTYPEのオプションを外してコンパイルしたくらいだが....。
まさか、ね?

| | コメント (0) | トラックバック (0)

2012年1月14日 (土)

make world (8-STABLE to 9.0-RELEASE)

うちのサーバは8-STABLEでmake worldしているのだが、このほどFreeBSD 9.0-RELASEがリリースされた、というのでアップグレードすることにした。

そういえば、最近はfreebsd-updateっていう便利なコマンドがあったよね、ということでfreebsd-update fetchなんてやってみたが、STABLE→RELEASEへの更新は現状は非対応、とのことらしい。むぅ、残念。

ということで、ハンドブックの記述を参考にmake worldを行うのだが、csupでの取得はRELENG_9_0としてソースを取得。
前回make worldを行ったのは昨年の11月1日以降だったので、/usr/src/UPDATINGにはこれといった注意点は書いてなさげ。

今から実際にmake worldに入るが、うまいこといってくれますように....

| | コメント (0) | トラックバック (0)

2008年3月26日 (水)

OpenOffice.orgをビルドしてみた

 先日8年近く使ってきた17インチCRTモニタが煙を吹いて壊れてしまったため、新しいモニタを探していたんだけど、最近はCRTモニタなんか使ってる人はごく一部のDTP職人くらいのようで、仕方なく液晶モニタを買うことになった。

 どうせパソコンデスクに収まりきらないし、近く引越しもするから、ということで思い切って大きなものを買ってみた。IO-DATA製のLCD-AD221XBが34800円で売られていたのでこれをチョイス。

 画面が広くなったこともあって、「思い切ってOpenOffice.orgでも入れてみるか」ってわけでOpenOffice.orgをFreeBSDにインストールしてみた。ちなみにFreeBSD上ではGNOME 2.22が走っている。

 面倒なJDKをインストールしなけりゃいけないのがちょいとアレだが、packageがあるだろうとたかをくくってportinstall -P editors/openoffice.org-2を実行すると、なんと2008年3月25日の時点ではOOo 2.3.1のPackagesが用意されていないようで、そのままビルドに移行してしまった。その時すでに23:30を過ぎていた。

 「ま、寝てる間に終わるだろう。」と思っていたのだが、朝起きてみても終わっていない。何だかんだで終了するまで20時間近くかかったみたいだ。安易に考えちゃいかん、と言うか、Duron 1800MHzのPCにはちと荷が重かった、ということか。

| | コメント (0) | トラックバック (0)

2007年4月29日 (日)

移動プロファイルを使いたいがためにドメコンを作る

 一応Vistaの方は片がついたので、ユーザー情報のバックアップがしやすい環境をつくろう、ということを考える。

 設定の終わったところでDVDか何かにバックアップしてもよかったんだけど、どうせ「ちゃんとした」PC UNIXでSambaを動かしているんだからPDCを構築してみよう、ということで、移動プロファイル目当てにSambaをPDCにするべく設定を試みた。設定については、主に技術評論社の徹底解説 Samba LDAP サーバ構築を参考にした。

 つーことでドメコンの構築になるわけだが、今回のドメコンはごく小人数(というか自分だけ(^^);)なので、LDAPやSQLによるバックエンドデータベースは不要、Active Directoryを提供するサーバもそばにないのでKerberos認証の設定も不要、ということなので、passdb backendパラメータはsmbpasswdよりも広い設定が保管できるtdbsamを使うことにした。それ以外はごく普通のPDC設定にした。

 /etc/nsswitch.confや/etc/pam.d/systemを含めた一通りの設定が済んだところで、/usr/local/etc/rc.d samba restartとしてSambaを再起動してみる。が、うまい具合に動かない。rootにsuできないところを見ると、どうやらPAMの設定でコケているようだ。PAMについてはいまいち不勉強だったこともあるが、よくわからないままこういうところをつつくとロクなことがない、といういい勉強になった。

 幸運なことにsudoだけはなんとか動いているので、パスワード同期がらみの設定を元に戻して、ようやく元に戻った。

 これではPDCを構築している旨味が薄いので、PAMの設定を洗い直してみることにした。PAMに関する情報をググってみると、鶏頭日記(2006-05)というブログでAD連系機能の設定をした作業ログを公開しているのを発見。よく見比べてみると、設定ファイルの書き方にOSの違いが表れているようだった。どうやら、単にpam_unix.soのある行の直前にpam_winbind.soをsufficientで書けばよかっただけのようである。

 ということで、このあたりの設定を拝借してsambaを再起動してみる。今度は正常に動いているようだ。これがいま使ってるsmb.confの中身。

 ここまでの設定が済んだので、pdbeditでユーザーの移動プロファイル設定を書いたりマシンアカウントを追加したりして、Vistaをドメコンにぶら下げる準備をする。で、いざぶら下げてみるんだけど、見慣れない名前のフォルダがいっぱいできている。どうやらVistaとXP以前のWindowsでは、作られるプロファイルの中身が全く互換性がないみたいだ。フォルダに日本語名を付けられないだけ、VistaのほうがUNIXからは扱いやすいかもしれない。

 ドメコンにぶら下げることはできたが、アプリケーションやデバイスのインストールで、毎回管理者の資格情報を要求してくるようになったのはご愛嬌か。

| | コメント (0) | トラックバック (0)

2007年4月 5日 (木)

クールで静かにアスロンを動かすのだ

 先日故あって実験君な扱いであまり日の目を見ていなかった自作3号を,本格的なホームサーバ化するべく,余っていたAthlon 64 3500+で動かすことにした。

 Athlon 64にはCool'n 'Quietと呼ばれる省電力機構があるんだけど,ホームサーバたるもの常にフルスロットルで動かれても困る(電気代も気になるよね)ので,FreeBSDでも使えないかな? なんて思っていた。

 ということで、man -k cpuでmanpagesを検索してみると,cpufreq(4)なんていうものがあるのがわかった。カーネルモジュール化されているので、単にrootでkldload cpufreqでcpufreqモジュールをロードするとpowernow0というデバイスが認識された。起動時にこいつが毎回ロードされるよう、/boot/loader.confにcpufreq_load="YES"の一文を加えておく。

 お次はこれをどう使うかなんだけど、cpufreqのmanpagesをよく読むと「sysctl(8)で直接つつくか,/etc/rc.d/power_profile経由でパラメータを設定できる」だの「タイムカウンターのソースをTSCから変更しないと使えない」だの書いてある。

 ということなので、まずはCool'n'Quietが動く下地作りをする。まず、sysctl kern.timecounter.hardwareを実行して、実際にどれを使っているかを確認する。やっぱりTSC。一応dev.cpu.0.freqのsysctl MIBを確認してみると、2200が返ってきた。2200MHz動作ということは,やっぱりフルスロットルで動いていたらしい。

 次に何が使えるかを見るんだけど、これはkern.timecounter.choiceのsysctl MIBで確認できる。どうやらTSCの他にはi8254というものが使えるらしい。sysctl kern.timecounter.hardware=i8254を実行してタイムカウンターの参照元を変えてみた。dev.cpu.0.freqを確認してみると、今度は1000を返している。ちなみにCPUがどれだけ電気を食ってるかは、dev.cpu.0.freq_levelsも参照すれば一応目安になるようだ。1000MHz動作時は22ワットですか、ほほぅ。2200MHz時は89ワットなので、4分の一になってる計算だ。

 いま設定したパラメータを起動時に毎回セットされるよう、/etc/sysctl.confにsysctl kern.timecounter.hardware=i8254を追加する。

 で、それはさておき、今度は実際にコントロールするプログラムが必要なんだけど、これにはpowerd(8)を使うそうな。powerdをデフォルトパラメーターで動かしてもいいんだけど、/etc/rc.confにpowerd_enable="YES"を追加した後、powerd_flags="-n adaptive -i 95 -r 75"を追加して/etc/rc.d/powerd startでpowerdを起動。

 という手順を経て、ようやくCool'n'Quietが有効になったんだけど、別に取り立てて変わったようなところは見当たらないところがミソ...なのか?

 ちなみに、http://nhh.mo-blog.jp/ttt/2006/06/freebsd_cpu_9abd.htmlで、詳しく解説してくれている方がいらっしゃるので、そちらも読んでみるといいかもしれない。

| | コメント (0) | トラックバック (0)

2007年4月 1日 (日)

いまさらながらにファイル共有

 とはいうものの、P2Pの話ではなく、nfs(Network File System)のこと。いい加減メールサーバのMaildirが膨れあがってくると、バックアップやメンテだけでも大変になってくるので、いっそのこと/home以下を共有してしまおう、という古典的なやつをやってみよう、というのが今日のお題目。

 ということで、まずメールサーバ内の/home(実体は/usr/home)をNASへ移動することから始める。これにはtarを使う方法とrsync(Portsのnet/rsync)を使う方法があるんだけど、リモートホストへの同期はrsyncの方が楽、ということなのでrsyncをportinstall。

 次にメールサーバ上でrsync -aH --delete /usr/home/ NAS:/some/where/home/として同期をとるんだけど、NAS側へうまくファイルを転送しない。よく見てみると、SSHのエラーを吐いているので、/etc/ssh/sshd_configを見直してみることにした。というか、用がなかったのでここはデフォルトのままで運用していたわけだけど。

 /etc/ssh/sshd_configをみると、42行目にPermitRootLoginなる設定項目があるのを発見。バックアップ作業はroot権限で行っていたので、「そういえば、デフォルトではrootログインができないんだっけ。」ということを思い出し、ここをyesに設定して、/etc/rc.d/sshd restartとしてNASのsshdを再起動。

 rsyncに再チャレンジしたら、今度はちゃんと同期してくれた。

 次にnfsサーバの設定なんだけど、/etc/exportsはこんな感じ。

  /some/where/home -alldirs -network 192.168.0.0 -mask 255.255.255.0

 nfsdはportmapサービスも使うので、その設定もしなければならない。これは/etc/hosts.allowを編集するんだけど、このファイルの62行めあたりにrpcbindという項目があるので、自分のネットワークにあった内容でallowを付けておく。

 この状態で、/etc/rc.confにnfs_server_enable="YES"rpcbind_enable="YES"を加えて、/etc/rc.d/rpcbind startでportmapサービスを、/etc/rc.d/nfsserver startでnfsdを起動してやる。

 クライアントになるメールサーバ側で、/mntあたりに先程作った共有をマウントしてみてちゃんと処理できるかどうかを調べてみる。正常なようなので、/homeの/usr/homeからのsymlinkをunlinkして、かわりに/homeというディレクトリを置く。ここにNASからexportされたポイントを自動的にマウントするよう、/etc/fstabに書いてマウント。

 見た目全く変化はないんだけど、いざログインしてみるとリモートからファイルを取り寄せることになるので、若干(数秒程度)の遅延はある。けど、そんなことは気にならないくらいの待ち時間なので、快適さだけを享受することができるという、まさにいいとこ取りな感じだ。

 この調子でPortsツリーやdistfilesなんかを共有してしまえば、ツリーの更新なんかも一回で済みそうだけど、この辺はまだ試してない。これは次への宿題ということで。

| | コメント (0) | トラックバック (0)

2006年12月27日 (水)

時刻がずれまくり

 メールサーバにしているFreeBSDマシンの内蔵時計がずれまくっていたので、NTPで修正した。ついでにntpdの設定もして、自動同期&LAN配信もできるようにした。
 NTPサーバにはJJY(独立行政法人情報通信研究機構 日本標準時プロジェクト)の提供するNTPサーバ(ntp.nict.jp)を使いたかったんだけど、手元に資料がなかったので、mfeed (インターネットマルチフィード(株))のNTPサーバから時刻を取得するようにした。/etc/ntp.confの内容はこんな感じ。


server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

 これで、/etc/rc.confにntpd_enable="YES"ntpd_sync_on_start="YES"を追加してntpdをコマンドラインから実行して、ntpサービスを開始。1台こういうのがあると便利だね。
 ちなみにJJYのNTPサーバを使うならこうらしい。

server -4 ntp.nict.jp
server -4 ntp.nict.jp
server -4 ntp.nict.jp

 nslookupやdigなんかで調べるとわかるけど、実はこのドメイン、DNSラウンドロビンになってるんだけど、NICT公開NTP FAQを読むと、「機器の制約上、DNSが利用できないなどがない限り、ホスト名を使っていただきたい」らしい。ふ~ん。

| | コメント (0) | トラックバック (0)

2006年12月16日 (土)

64ビットパワー

 Windows Vistaも出るってことで、Windows機のCPUをAthlon64 X2 4800+(Socket 939)にアップグレードしたら、以前使っていたASUS A8V Deluxeとセットで余ったので、メモリを買い足して実験君をアップグレードした。
 ということでi386版ではなくamd64版のFreeBSDを入れたんだけど、ちょっと見ただけでは違いがわからない。当たり前か(笑)。
 X.org 6.9のXサーバがamd64にほとんど非対応なのと、当てにしていたx11/nvidia-driverが使用できない(i386版限定らしい)なのを除けば、コンパイルも速くなって言うことなし………ってところなんだけど、GEOM_vinumを使ったRAID-5は、パリティ計算が以前に比べ劇的に速くなったとはいえ、32ビットPCIを使っている関係上インターフェースの性能が頭打ちなので、ここは仕方ないところなんだろうねぇ。
 そういえば、玄人志向SATARAID5-LPPCIで使われているSiliconImage Sil3114ってコントローラなんだけど、「えすあいえる」じゃなくて「えすあいあい」だったんだね。赤っ恥。けど、僕と同じ間違いをしてる人も結構いるようで………。

| | コメント (0) | トラックバック (0)

2006年8月 5日 (土)

RAID-5 NAS

 以前玄人志向SATARAID5-LPPCIっていうSerialATAのRAIDカードを約5000円で買ったんだけど、FreeBSD 5.x系列ではこいつのATAコントローラであるSiliconImage Sil3114をきちんと認識しない、という話を聞いていたので永らくお蔵入りの状態だった。
 6.1がリリースされて、Sil3114をきちんと認識するようになったので使ってみよう、と思い、ちょうど1台あいていた実験君PC(AMD Duron 750MHz)に挿して起動。/var/log/messagesを読むと、ATAコントローラとしてはちゃんと認識している。
 ということで魅惑のRAID-5ディスクセットの構築を行うわけなんだけど、今回はWestern Digital WD3200SDっていう320Gbytesの3.5インチハードドライブをチョイスした。320Gbytesで1台9500円とは、いい世の中になったもんですが、RAID-5ということなんで3台購入。それぞれをSATARAID5-LPPCIのSATAポート0から順につなげていく。それぞれad4、ad6、ad8としてシステムでは認識していた。
 もともとSil3114のRAID-5はソフトウェアパリティ演算なので、BIOSでRAID-5セットにしてもシステムからそのままRAID-5ディスクとして見えるわけじゃない。だからOSのサポートする形でRAID-5セットを作ってやる必要があるんだけど、これはvinumっていうFreeBSD固有の論理ディスクマネージャを使うことで実現した。現在はGEOMフレームワークに統合されてGEOM_vinumなんて名前で呼ばれてるみたいだけど、その評判はあんまりよろしくないようです。
 ただそんなことも言っていられないので、vinum(4)、vinum(8)、gvinum(8)の各manpagesを読みつつ作業を開始。ちなみにvinum(8)はgvinum(8)に統合されたはずなんだけど、vinum(8)にあった記述のうち構築に関する記述がことごとく欠落していて、最初は構築法がわからなかったんだけど、日本語のvinum(8)にその辺の記述があったので、こいつが大いに参考になった。
 vinumディスクを構築する前にディスクを増設したときの共通作業として、fdisk->bsdlabel->newfsという一連の作業をディスク1台ずつにこなし、ファイルシステムとして使えるようにする必要があるんだけど、そいつがすんだらvinumで管理できるようにするだけで必要な設定は終了する。繰り返しになるけどこの辺は日本語のvinum(8)に記述があるので、それを探すのに苦労したなぁ。
 vinumのRAID-5として動くようになったら次はRAID-5セットを初期化するんだけど、こいつには丸1昼夜かかった。その間はバックグラウンドで初期化作業が行われるんだけど、何せソフト処理なので、その間は恐ろしくて何にもできなかった。
 そんなこんなで無事初期化が終わり、改めてnewfsするとファイルシステムとして使えるようになったわけだけど、性能自体はあんまり期待してないので、特に測定していない。とりあえずPortsからnet/samba3をインストールして、それぞれがinetd起動するようにした後、適当なsmb.confをSWATを使ってでっち上げる。ま、この辺はまだ取り立ててチューニングしていないので、OpenLDAPと連携させてシングルサインオン、なんていいかもしれない。

| | コメント (0) | トラックバック (0)

2006年3月16日 (木)

SSL証明書

 SSLの証明書は、自分的にまだ学習の余地がありそうだ。昨日の段階で作ったサーバ証明書なんだけど、利用するアプリケーション側が期待する形になっていなかったようだ。
 SSL証明書を生成するとき、公開鍵と秘密鍵を同時に生成するんだけど、今回は生成した秘密鍵をアプリケーションから読めないようになっていたようで、そのせいかデーモンをあげようにもそこが引っかかって起動していないことが判明。Dovecotのほうは秘密鍵のパーミッションを変えれば解決するんだけど、SSL化したtcpserverのほうでは、秘密鍵を読むオプションがないようなので、しかたないので秘密鍵も含めた証明書を生成することにした。
 ということで、こんな感じで実行。

# openssl req -newkey rsa:1024 -keyout private.key -nodes \
           -x509 -days 365 -out public.key
# echo "" > tmp
# cat private.key tmp public.key > cert.pem
# rm tmp

 早い話、生成した秘密鍵と公開鍵を、LFのみのファイルtmpを間に挟んでcatでつなげただけなんだけど、こんな処理でもちゃんと動いてくれるから不思議だ。
 もっとも、もっとOpenSSLについて調べておけば、こんな回りくどいことをせずともスマートに証明書の生成ができるんじゃないかな?

| | コメント (0) | トラックバック (0)

より以前の記事一覧