$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
2011-09-08 (木曜日) In: FreeBSD|Make World(219 views)
久しぶりの備忘録
去年の10月に、友人宅サーバーからFreeBSDが使える専用サーバーに移転したのですが最初に入っていたのがFreeBSD 8.0-Releaseで、すぐに8.1-Releaseにアップして使っていました。6月頃にアップしたらFreeBSD 8.1-RELEASE-p4まで上がっていました。
今年の2月に8.2-Releaseが出てから半年経過したのでそろそろいいだろうと思ってMake Worldしてみました。半年でp2まできてますね。とりあえず問題なし。
8.2-RELEASE-p2 FreeBSD 8.2-RELEASE-p2 #6: Thu Sep 8 17:52:01 JST 2011
2010-09-03 (金曜日) In: FreeBSD|Make World(1,140 views)
FreeBSD 8.0が今年の11月末でEOL(End of Life)を迎えるというお知らせが先日MLに流れてきました。
ANNOUNCE: [FreeBSD-Announce] HEADS UP: FreeBSD 6.4 and 8.0 EoLs coming soon The current supported branches and expected EoL dates are: +---------------------------------------------------------------------+ | Branch | Release | Type | Release date | Estimated EoL | |-----------+------------+--------+-----------------+-----------------| |RELENG_6 |n/a |n/a |n/a |November 30, 2010| |---------------------------------------------------------------------| |RELENG_6_4 |6.4-RELEASE |Extended|November 18, 2008|November 30, 2010| |---------------------------------------------------------------------| |RELENG_7 |n/a |n/a |n/a |last release + 2y| |-----------+------------+--------+-----------------+-----------------| |RELENG_7_1 |7.1-RELEASE |Extended|January 4, 2009 |January 31, 2011 | |-----------+------------+--------+-----------------+-----------------| |RELENG_7_3 |7.3-RELEASE |Extended|March 23, 2010 |March 31, 2012 | |-----------+------------+--------+-----------------+-----------------| |RELENG_8 |n/a |n/a |n/a |last release + 2y| |-----------+------------+--------+-----------------+-----------------| |RELENG_8_0 |8.0-RELEASE |Normal |November 25, 2009|November 30, 2010| |-----------+------------+--------+-----------------+-----------------| |RELENG_8_1 |8.1-RELEASE |Extended|July 23, 2010 |July 31, 2012 | +---------------------------------------------------------------------+
手元のFreeBSD 8.0-Releaseを入れたままのサーバーでcvsupを入れてソースを8.1-Release(tag=RELENG_8_1)に上げてMake Worldしようとしたらカーネルのコンパイルでエラーが出ました。一旦、8.0-Release(tag=RELENG_8_0)で最終版に上げてから8.1に上げたら問題なくいきました。
FreeBSD 8.1-RELEASE → FreeBSD 8.0-RELEASE-p4 → FreeBSD 8.1-RELEASE
非力なCPUのマシンで、buildworldが約6時間弱、buildkernelが約2時間もかかるのでcvsupも含めて結構時間がかかりました。
FreeBSD 8.0-Releaseでの設定方法のメモ
portsのありか
/usr/ports/www/squid
(/usr/ports/www/squid30とか/usr/ports/www/squid31があるけど今回は2.x系のままで。)
/usr/local/etc/pkgtools.conf(特に目新しいことはなし)
MAKE_ARGS = {
'*' => 'WITHOUT_X11=yes',
}
インストール
portinstall www/squid
オプション設定はこんな感じ
/var/db/ports/squid/options
# This file is auto-generated by 'make config'. # No user-servicable parts inside! # Options for squid-2.7.9 _OPTIONS_READ=squid-2.7.9 WITH_SQUID_KERB_AUTH=true WITHOUT_SQUID_LDAP_AUTH=true WITH_SQUID_NIS_AUTH=true WITHOUT_SQUID_SASL_AUTH=true WITH_SQUID_DELAY_POOLS=true WITH_SQUID_SNMP=true WITH_SQUID_CARP=true WITHOUT_SQUID_SSL=true WITHOUT_SQUID_PINGER=true WITHOUT_SQUID_DNS_HELPER=true WITHOUT_SQUID_HTCP=true WITHOUT_SQUID_VIA_DB=true WITHOUT_SQUID_CACHE_DIGESTS=true WITH_SQUID_WCCP=true WITHOUT_SQUID_WCCPV2=true WITHOUT_SQUID_STRICT_HTTP=true WITH_SQUID_IDENT=true WITH_SQUID_REFERER_LOG=true WITH_SQUID_USERAGENT_LOG=true WITHOUT_SQUID_ARP_ACL=true WITHOUT_SQUID_PF=true WITHOUT_SQUID_IPFILTER=true WITHOUT_SQUID_FOLLOW_XFF=true WITHOUT_SQUID_AUFS=true WITHOUT_SQUID_COSS=true WITH_SQUID_KQUEUE=true WITHOUT_SQUID_LARGEFILE=true WITHOUT_SQUID_STACKTRACES=true
/usr/local/etc/squid/squid.confを編集
#キャッシュを増やす 100(MB)->4096(MB) cache_dir ufs /var/squid/cache 4096 16 256 #アクセス許可のネットワークを指定 acl ほげほげ src www.xxx.yyy.zzz/255.255.255.248 #アクセスを許可 http_access allow ほげほげ #できるだけ寡黙なプロキシにするための設定 visible_hostname unknown forwarded_for off header_access X-Forwarded-For deny all header_access Via deny all header_access Cache-Control deny all #他にもパラノイア設定が必要であれば以下を anonymize_headers deny From Referer Server anonymize_header deny User-Agent WWW-Authenticate Link fake_user_agent Mozilla/4.99 [en] (Windows NT 5.0; U)
設定間違いが無いかは
/usr/local/sbin/squid parse
で確認。エラーが出たら修正。
portsの場合はデフォルトで/var/squid下にキャッシュやログができます。
(以前は/usr/local/squid下だったのが変わっています)
squidは使い始めにキャッシュのディレクトリ構造を作ってやる必要があるので
/usr/local/sbin/squid -z
で初期化する。
/etc/rc.confに
squid_enable=yes
を追加。
/usr/local/etc/rc.d/squid start
で起動。
squid.confに追記
acl hogehoge proxy_auth REQUIRED http_access allow hogehoge auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/passwd.squid auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours
/usr/local/etcにパスワードファイル作成
# htpasswd -c passwd.squid ユーザー名 New password:(パスワード) Re-type new password:(パスワード) Adding password for user ユーザー名
以前の記事:FreeBSD (Squid2.6)
DNRH-001にはLANポートが二つあります。
ルーターとか作るのに便利なのですがどのポートがどのデバイスに割り当てられるのかはやってみないと分からないのでFreeBSD 8.0-Releaseでやってみた結果をここにメモします。
LAN1 = vr1
LAN2 = vr0
dmesgの結果
vr0: <VIA VT6105 Rhine III 10/100BaseTX> port 0xd000-0xd0ff mem 0xe6400000-0xe64000ff irq 10 at device 15.0 on pci0
vr1: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe400-0xe4ff mem 0xe6402000-0xe64020ff irq 11 at device 18.0 on pci0
一時期安値で放出されたUPS内蔵ファンレスPCのDNRH-001が何故か手元にあります。2年ほど前に友人のONSさんが静かなPCだけど電源から変な音がするのが気になるし、もう使わないので誰かいる?と仲間内に放出されたのを私が手を挙げてゲットした物なのです。前回日本に一時帰国した際にこちらに持ち帰って非力なWindowsマシンとして使っていました。最初のうちは内蔵UPSが機能していましたがそのうちに動作が怪しくなり、さらにGUIで使うには遅いPCなので使う機会が減りついにお蔵入りになってました。最近になってFreeBSD 8.0-RELEASEで使ってみようとふと思い、どうせなら内蔵UPSもきちんと使えるようにしようと色々手を入れることにしました。これはその時の自分用の備忘録です。
まず、変な音は電源部の二次側にあるトロイダルコアに線を巻いたトランスから発生していました。巻線が磁界で振動して鳴いています。トランスを取り外して線を巻きなおし、エポキシ系の接着剤で巻線を固めて取り付け直してほぼ鳴き止みました。これ以上は真空チャンバで脱泡して固めればいいのですがまあそこまでは無理ですね。
次に、ファンレスPCということなので静かでいいのですが、やはり熱が相当こもります。CPUに大きなヒートシンクが付いていますがmake worldを始めるとかなり熱くなります。それ以上にチップセットのヒートシンクも熱くなります。筐体内で空気が淀むのでHDDも相当熱を持ちます。さすがにこれで24時間稼動は無理なので熱対策をします。ネットで色々調べてみましたが、結論は静音ファンを1個追加して軽く空冷し、3.5インチのHDDを2.5インチのに載せ替えて消費電力を若干下げて対応することにしました。HDDの3.5-2.5変換の基板は「これ」を購入しました。送料無料の通販で$1.59なり。熱対策で電源部に小口径のファンを入れている例もみかけましたが電源部はケースに放熱する構造なので筐体内に若干でも空気が流れていればOKレベルだろうということでCPUとチップセットの近くにファンを1個だけで済ませました。
ファンは近所の店で「Cooler Master Case Fan R4-SPS-20AK-GP」を購入。CPUとチップセットとメモリに風が良く当たる位置で筐体側にネジ4個で取り付けます。筐体には元々パンチングメタル状に穴が開いていますが穴が小さくてあまり効率が良くありません。ドリルで穴を広げて風がよく抜けるようにしました。風の向きは外気吸入です。このファンは薄型大口径でかなり筐体が華奢です。取り付けの時にネジをきつく締めるとネジの回転で筐体が少したわみ、回転するファンの羽根がファンのケースに当たるのでネジ締めの加減が難しいです。
このファンは風切り音はほとんどしませんが効果は絶大でした。これで指で触れないくらいに熱くなっていたチップセットのヒートシンクも問題ないレベルまで温度が下がりました。HDD周りも2.5インチ採用で隙間が出来、空気が流れているので大丈夫そうです。

お次は内蔵UPS周り。内蔵UPSの電池は単三型のニッケル水素電池を10本パックにしてヒューズが入った金属ケースに入っていました。電池を外して電圧チェックしてみましたが完全に駄目になっていました。最初は単三のエネループを電池ボックスに入れて使おうかと思いましたが適当な10本用の電池ボックスが見つからず、代わりに電池10本をパックしてリード線を出したタイプのものを見つけたのでそれを使うことにしました。(電池単体の仕様書はこちら→PDF)
この電池パックは元の金属ケースには入らない形状なので手持ちのガラエポのユニバーサル基板を適当に切って取り付け台にし、テープとタイラップで電池を固定して押し込みました。ヒューズは元から付いていたのをそのまま流用。

この状態で早速データ取りです。BIOS画面にしたままでまずは電池を充電しながら端子電圧を見ていきます。10本直列なので1本当たりの電圧は計算が簡単ですね。青色のデータは諸般の事情で測定時間が飛んでたり、充電が途中で休止したりのデータですが、1回目の充電のデータです。この内蔵UPSの充電回路の開放電圧は約16Vで、実際の充電電流は測定していませんが、電池の仕様では0.1C(10時間充電)で充電終止電圧が1.48Vくらいなので、測定値から見るとほぼ20時間率のトリクル充電を行っているようです。赤色のデータは2回目の充電で、こちらはほぼ連続したデータが取れています。いづれも同じような素直な充電特性です。
放電特性は電圧だけでなくシリアル(COM2)のDCDとDSRの動作を合わせて確認。AC電源断から数秒でDCDがLからHに変化します。これでACラインが切れたことが検出できます。電池の放電が進み電圧が10.5Vを切ると今度はDSRがLからHに変化します(バッテリLow)。そしてその後1分しないうちにPCはハング(BIOS画面で時計表示が止まる)しました。これでバッテリを使い切る直前にシャットダウンするのはかなり危険というかほぼ無理でしょう。UPSの動作として利用できるのはAC断のDCDだけと思った方がよさそうです。
肝心の電池の持ち時間ですがBIOS画面で約45分で落ちましたから、負荷がかかっている場合を考えても20分くらいはいけそうです。2200mAhの電池で45分ということは大体30~40Wの消費電力に相当ですからまあ妥当な線でしょう。

これで内蔵UPSの使い方と限界が分かったので、最後にFreeBSDで使う方法(ソフト)です。まずAC通電時に手動で shutdown -p now の動作確認。すると一旦は電源が切れるのですが、その後すぐに勝手に電源が入ってしまいます。結局ACPIを無効にしてAPMを有効にすることで電源を切れるようになりました。以下がそのための方法の詳細。
/boot/loader.conf に下記を追記。
apm_load=”YES”
/boot/device.hints に下記のように編集
hint.acpi.0.disabled=”1″ ←追記
#hint.apm.0.disabled=”1″ ←コメントアウト
hint.apm.0.disabled=”0″ ←追記
hint.apm.0.flags=”0×20″
/etc/rc.conf に下記を追記
apm_enable=”YES”
COM2を監視しつつshutdownする動作のソフトをネットで色々探してみたら「FreeBSD対応フリーソフトウェア」を見つけました。これはCTSがAC断、DCDがバッテリLowとして動作しているのでソースをいじってそれぞれDCDとDSRに書き換え。他に”shutdown -h now”の記述を”shutdown -p now”に書き換えたりMakefileを修正したりでDNRH-001に対応できるようになりました。AC断からシャットダウンまでの時間はとりあえずデフォルトの5分(300秒)のままにしています。ソース修正後、make; make install; でコンパイル&インストール。そして、 /etc/devfs.conf に下記の設定を追加します。
link cuau1 usv
注) 手動で “ln -sf /dev/cuau1 /dev/usv” とシンボリックリンクを張ってもFreeBSD 8.0-RELEASEでは再起動すると設定が消えてしまうので上記の方法で設定する必要がありました。
これでFreeBSDを再起動すると /usr/local/etc/rc.d/usvd.sh で /sbin/usvd と /sbin/usv_back が起動します。動作は以下のとおり確認できました。
- ACの状態を10秒毎に監視
- ACが切れて5分後に自動的にシャットダウンして電源オフ。
- 5分以内にACが復活したらそのまま動作継続。
- シャットダウン中にACが復活したらリブートして復帰。
- シャットダウン完了までにACが復活しなければそのまま電源オフ。
- ACが復活したら起動。
FreeBSD対応フリーソフトウェア(簡易シャットダウンソフト)DNRH-001対応版
※このソフトの著作権は、(株)ユタカ電機製作所にあります。
2010-07-25 (日曜日) In: FreeBSD|Make World(521 views)
例によって備忘録。
8.0-RELEASE-p4 FreeBSD 8.0-RELEASE-p4 #10: Sun Jul 25 19:13:28 JST 2010
この前からapache-2.2.14_6をapache-2.2.15_9にportupgradeしようとしてエラーが出てうまくいかなかったのをApacheを止めたくないがために深く追求せずに放置したままになっていました。今日は本腰を入れてこれを調べてみた。
エラーメッセージを見ると apr-1 パッケージに問題ありそうなことが分かったのでさくっと「apache apr-1」でぐぐってみたら「portupgradeでapache- 2.2.15_9に更新できない」というそのまんまの情報がみつかりました。感謝感謝。
その記事の内容を参考にしつつ、以下の作業でアップグレードに成功。
まず、ざっくりとapache22と apr関係をアンインストール。私の環境では以下のとおり。
# pkg_delete -f apache-2.\*
# pkg_delete -f apr-ipv6-devrandom-gdbm-db42-1.4.2.1.3.9_1
次に/var/db/ports/apr のoptionsの内容をApache-2.2に合わせて変更。
WITHOUT_THREADS=true
WITHOUT_IPV6=true
最後に、Apache-2.2を再びインストール。apr関係はportsの依存関係で勝手に入る。今回入ったのは apr-nothr-devrandom-gdbm-db42-1.4.2.1.3.9_1 だった。
# portinstall apache22
これで完了。
以下はports設定ファイルの備忘録
# cat /var/db/ports/apr/options
# This file is auto-generated by ‘make config’.
# No user-servicable parts inside!
# Options for apr-ipv6-devrandom-gdbm-db42-1.4.2.1.3.9_1
_OPTIONS_READ=apr-ipv6-devrandom-gdbm-db42-1.4.2.1.3.9_1
WITHOUT_THREADS=true
WITHOUT_IPV6=true
WITH_BDB=true
WITH_GDBM=true
WITHOUT_LDAP=true
WITHOUT_MYSQL=true
WITHOUT_NDBM=true
WITHOUT_PGSQL=true
WITHOUT_SQLITE=true
WITH_DEVRANDOM=true
# cat /var/db/ports/apache22/options
# This file is auto-generated by ‘make config’.
# No user-servicable parts inside!
# Options for apache-2.2.15_9
_OPTIONS_READ=apache-2.2.15_9
WITHOUT_THREADS=true
WITH_MYSQL=true
WITHOUT_PGSQL=true
WITHOUT_SQLITE=true
WITHOUT_IPV6=true
WITHOUT_BDB=true
WITH_AUTH_BASIC=true
WITH_AUTH_DIGEST=true
WITH_AUTHN_FILE=true
WITHOUT_AUTHN_DBD=true
WITH_AUTHN_DBM=true
WITH_AUTHN_ANON=true
WITH_AUTHN_DEFAULT=true
WITH_AUTHN_ALIAS=true
WITH_AUTHZ_HOST=true
WITH_AUTHZ_GROUPFILE=true
WITH_AUTHZ_USER=true
WITH_AUTHZ_DBM=true
WITH_AUTHZ_OWNER=true
WITH_AUTHZ_DEFAULT=true
WITH_CACHE=true
WITH_DISK_CACHE=true
WITH_FILE_CACHE=true
WITHOUT_MEM_CACHE=true
WITH_DAV=true
WITH_DAV_FS=true
WITHOUT_BUCKETEER=true
WITHOUT_CASE_FILTER=true
WITHOUT_CASE_FILTER_IN=true
WITHOUT_EXT_FILTER=true
WITHOUT_LOG_FORENSIC=true
WITHOUT_OPTIONAL_HOOK_EXPORT=true
WITHOUT_OPTIONAL_HOOK_IMPORT=true
WITHOUT_OPTIONAL_FN_IMPORT=true
WITHOUT_OPTIONAL_FN_EXPORT=true
WITHOUT_LDAP=true
WITHOUT_AUTHNZ_LDAP=true
WITH_ACTIONS=true
WITH_ALIAS=true
WITH_ASIS=true
WITH_AUTOINDEX=true
WITH_CERN_META=true
WITH_CGI=true
WITH_CHARSET_LITE=true
WITHOUT_DBD=true
WITH_DEFLATE=true
WITH_DIR=true
WITH_DUMPIO=true
WITH_ENV=true
WITH_EXPIRES=true
WITH_HEADERS=true
WITH_IMAGEMAP=true
WITH_INCLUDE=true
WITH_INFO=true
WITH_LOG_CONFIG=true
WITH_LOGIO=true
WITH_MIME=true
WITH_MIME_MAGIC=true
WITH_NEGOTIATION=true
WITH_REWRITE=true
WITH_SETENVIF=true
WITH_SPELING=true
WITH_STATUS=true
WITH_UNIQUE_ID=true
WITH_USERDIR=true
WITH_USERTRACK=true
WITH_VHOST_ALIAS=true
WITH_FILTER=true
WITH_VERSION=true
WITHOUT_PROXY=true
WITHOUT_PROXY_CONNECT=true
WITH_PATCH_PROXY_CONNECT=true
WITHOUT_PROXY_FTP=true
WITHOUT_PROXY_HTTP=true
WITHOUT_PROXY_AJP=true
WITHOUT_PROXY_BALANCER=true
WITHOUT_PROXY_SCGI=true
WITH_SSL=true
WITHOUT_SUEXEC=true
WITHOUT_SUEXEC_RSRCLIMIT=true
WITH_REQTIMEOUT=true
WITHOUT_CGID=true
2010-01-12 (火曜日) In: FreeBSD|Make World(607 views)
またまた3ヶ月ぶりにmake world。
6.4-STABLE FreeBSD 6.4-STABLE #16: Tue Jan 12 17:37:29 JST 2010
FreeBSDの6.x系列はもうそろそろ終りなので次は7.x系列を飛ばして8.x系列に移行することになるでしょう。
The current supported branches and expected EoL dates are:
+---------------------------------------------------------------------+
| Branch | Release | Type | Release date | Estimated EoL |
|-----------+------------+--------+-----------------+-----------------|
|RELENG_6 |n/a |n/a |n/a |November 30, 2010|
|-----------+------------+--------+-----------------+-----------------|
|RELENG_6_3 |6.3-RELEASE |Extended|January 18, 2008 |January 31, 2010 |
|---------------------------------------------------------------------|
|RELENG_6_4 |6.4-RELEASE |Extended|November 18, 2008|November 30, 2010|
|---------------------------------------------------------------------|
|RELENG_7 |n/a |n/a |n/a |last release + 2y|
|-----------+------------+--------+-----------------+-----------------|
|RELENG_7_1 |7.1-RELEASE |Extended|January 4, 2009 |January 31, 2011 |
|-----------+------------+--------+-----------------+-----------------|
|RELENG_7_2 |7.2-RELEASE |Normal |May 4, 2009 |May 31, 2010 |
|-----------+------------+--------+-----------------+-----------------|
|RELENG_8 |n/a |n/a |n/a |last release + 2y|
|-----------+------------+--------+-----------------+-----------------|
|RELENG_8_0 |8.0-RELEASE |Normal |November 25, 2009|November 30, 2010|
+---------------------------------------------------------------------+
2009-10-03 (土曜日) In: FreeBSD|Make World(662 views)
3ヶ月ぶりにmake world。
6.4-STABLE FreeBSD 6.4-STABLE #15: Sat Oct 3 17:29:14 JST 2009
2009-08-22 (土曜日) In: FreeBSD|Squirrelmail(1,577 views)
portsの毎日のレポートでアップしろと勧めてくれるのをようやくアップしました。
作業的には前回を同じ。
portupgrade して、このページで日本語パッチを落としてきてサーバー上で解凍。できた squirrelmail-1.4.19-ja-20090522-patch を /usr/local/www/squirrelmail に置いて同じ場所から
[code]
# patch -p1 < squirrelmail-1.4.19-ja-20090522-patch
[/code]
で完了。
日々の四方山話を徒然と・・・
いらっしゃいませ。このブログはオーストラリアの生活に関する話題とFreeBSDに関連する話題を主に色々と書き綴っています。
Sorry, This site consists of Japanese contents only. If you are interested in my blog, feel free to leave your comments in English or Japanese. Thank you.