FreeBSDの最近のブログ記事
crontabの管理についてリポジトリで管理せよという技を見つけました。確かにeとrはキーボード上隣同士ですからね。ミスったことは無いのですが考えてみると怖い話です。
因みに
crontab -l > ~/var/crontab.back
には目からウロコ。これなら誤って削除してしまっても大丈夫ですね。でも複数人でcrontabを操作してたりすると誰が何のために設定したバッチか不明なものが氾濫したりいろいろと管理上大変なので最終的にはリポジトリ管理にしたいですね。
恐怖のcrontab -r. 設定ファイルはレポジトリ管理せよ - Slow Dance
http://d.hatena.ne.jp/LukeSilvia/20080621/p1
FreeBSDのリリーススケジュールでは2012年6月にFreeBSD10登場するようです。今後はWindowsXPの代替OSとしてLinux等とデスクトップシェアの分散化か予想されますので、FreeBSDのコミュニティーも活気が戻ってくると良いですね。
FreeBSD 10の登場は2012年6月、向こう4年間リリース計画発表 エンタープライズ マイコミジャーナル
http://journal.mycom.co.jp/news/2008/06/10/055/index.html
- 現在FreeBSDで使用されているコンパイラはGCCですが、これはGPL2(例外付き)なので今後ライセンス変更があったときにBSDライセンスが丸呑みされてしまう危険が付きまとっています。そういうこともありGCCの代わりとなる新しいコンパイラを探し続けているわけですが、今回発表されたLLVMはGCC互換でありながら新しいアーキテクチャに対応することでGCCがバージョンアップするごとに起こっているパフォーマンスの低下等の不具合ともおさらばかな?
以下記事引用:
既存のOSS C/C++/Objective Cコンパイラは古いコード生成技術に基づいており、JITやクロスファイルオプティマイザといったモダン技術を採用していないため、ほかのアプリケーションで再利用しにくく、さらにリリースごとに遅くなっているという状況にある。LLVMはモダンなテクニックを活用することでこうした状況を改善することに目的がおかれている。従来どおり静的にコンパイルすることもできるし、JITで動作させることにも対応している。
しかしいくつか候補があるうちどれかメインで決めて欲しいなぁ。また既存のオープンソースも新しいコンパイラでのmakeを保証できるかどうかですね。BSDLソフトはすぐに追従してくれると思いますがGPLソフトは手間が増えるだけでメリットなさそうなのでどうなるかな?
【レポート】GCCに匹敵するコンパイラ! LLVM - BSDCan2008 エンタープライズ マイコミジャーナル
http://journal.mycom.co.jp/articles/2008/06/03/bsdcan6/
bsdcan2008 BSD licensed C++ compiler
http://www.bsdcan.org/2008/schedule/events/99.en.html
Virtual PC 2007が無料みたいなので下記URLからダウンロードしてインストールしゲストOSとしてFreeBSD7.0を使ってみました。LANの設定も独立してIPアドレスを設定できるので1台のWindows機で複数台のUNIXサーバーのシミュレーションもできます。おまけにUNIXの学習やサーバー構築の検証にも使えますね。PCのエミュレータのためゲストOSはWinでもBSDでもUNIXでも入ります。fedoraとCentOSはGUIインストーラーで画面が崩れたので対処法を探します。FreeBSDはなんの問題なくインストールできました。これでVPSやった方が楽かな?とか思っています。仮想PC側に複数のIPを割り振る(グローバルとローカルに分ける)テストは後でやってみます。その他便利だったのがisoファイルをそのままCDドライブとして割り当てられることですね。
Microsoft Virtual PC 2007
http://www.microsoft.com/japan/windows/products/winfamily/virtualpc/default.mspx
ハブサイトが登場してました。
emacs-users.jp - 日本の Emacs ユーザのためのハブサイト
http://emacs-users.jp/
ちなみにUNIX系(Mac除く)ユーザでEmacsをメインで使っている人って何割ぐらいなんだろう…。サーバー系技術者には少ない気がするんですよね。リモート接続でCUI前提だからというのとEmacs環境が必ずしもあるとは限らないということでviメインが多いです。私も趣味でLinuxやってたときはEmacsメインでしたが仕事ではEmacsインストール機が無いのでviオンリーです。
25年間修正されなかったのは、
unlink() のタイミングなど特定の条件下でseekdir() が不正な値を返すバグ
だそうです。というかそんなよく使われそうな機能のバグがこれだけの長期間見つからなかった?それとも修正がされなかった?のが驚きです。
スラッシュドット・ジャパン ほぼすべてのBSDに存在してきたseekdir()のバグが25歳で死す
http://slashdot.jp/it/article.pl?sid=08/05/09/2114204
BSD系OSといえばMacを除いてどうもサーバー専用とか組み込み専用みたいなイメージが多いのですが、現在開発が進んでいるPC-BSDはLinuxの対抗として大きな期待をしています。
【レポート】使いやすさ抜群! FreeBSDベースのデスクトップOS PC-BSD - AsiaBSDCon 2008 エンタープライズ マイコミジャーナル
http://journal.mycom.co.jp/articles/2008/04/04/pcbsd/
久しぶりのFreeBSDニュースはなんと7.0リリースでした!
注目はやはりパフォーマンスの向上とマルチコアCPUでのスケーラビリティの改善だそうですが従来比350%とか1500%って幾らなんでも凄すぎ。一台6.2を入れっぱなでロクに使ってないサーバがあるのでこれに7.0を入れてみようかな。特にデスクトップOSとしての紹介記事ではないのでやはりサーバ用途中心ということだと思います。
約2年ぶりのメジャーバージョンアップだそうですが6.0はもうちょっと前からあったはず2005年末には既にリリース版で運用してたし。
FreeBSD 7.0登場 - 高負荷時ピーク性能が1500%改善 エンタープライズ マイコミジャーナル
http://journal.mycom.co.jp/news/2008/02/28/030/index.html
ちょっとコワイニュースですね。でも最近Vistaが互換性を犠牲にしたことでダメOS状態だし、このところAppleが元気なので悪いハッカーも注目し始めたようですね。ある意味有名税ですが、逆にWindows以外のOSとなるとウィルス対策ソフトの導入率は致命的に低いので今後はヤバイことになるかも…。
Mac OSに感染する「ボット」出現、FreeBSDやLinuxも標的に:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20080229/295097/
昨日のビッグニュースはやっぱりMySQL買収ですね。突然発表でどこのオープン系ニュースサイトもこの話題でしたwいろいろな憶測が飛び交っていますが正直どんな戦略で展開するのでしょうか?今後がさらに楽しみです。
【速報】サン、オープンソース・データベース「MySQL」の開発元を10億ドルで買収:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20080117/291253/
米サンがオープンソースのMySQLを10億ドルで買収、ミドルウエア・ベンダーの地位確立へ:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20080117/291319/
米Sun、スウェーデンのMySQLを10億ドルで買収
http://internet.watch.impress.co.jp/cda/news/2008/01/17/18139.html
米Sun、オープンソースDBのMySQLを買収へ
http://enterprise.watch.impress.co.jp/cda/foreign/2008/01/17/12031.html
MySQLがSUNに10億ドルで買収されました - GIGAZINE
http://gigazine.net/index.php?/news/comments/20080117_sun_buys_mysql/
apachetopとmytopというApache用、MySQL用のtopのようなものを見つけたのでインストールして試してみました。
mytopのインストール
mytop - a top clone for MySQL
http://jeremy.zawodny.com/mysql/mytop/
入手したtarボールを展開
# mv mytop-1.6.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar zxf mytop-1.6.tar.gz
# cd mytop-1.6
Makefileの作成
# perl Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Term::ReadKey 2.1 not found.
Writing Makefile for mytop
コンパイル
# make
cp mytop blib/script/mytop
/usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/mytop
Manifying blib/man1/mytop.1
テスト
# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
1..1
ok 1
インストール
# make install
Installing /usr/local/man/man1/mytop.1
Installing /usr/local/bin/mytop
Writing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/mytop/.packlist
Appending installation info to /usr/local/lib/perl5/5.8.7/i386-freebsd/perllocal.pod
試しに実行
# mytop
Can't locate Term/ReadKey.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.7/i386-freebsd /usr/local/lib/perl5/5.8.7 /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl .) at /usr/local/bin/mytop line 175.
実行にはReadKey.pmが必要ということで失敗したのでReadKeyを追加します。
ReadKeyをCPANから入手して展開
Jonathan Stowe - TermReadKey-2.30 - search.cpan.org
http://search.cpan.org/~jstowe/TermReadKey-2.30/
# mv TermReadKey-2.30.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar zxf TermReadKey-2.30.tar.gz
# cd TermReadKey-2.30
Makefileの作成
# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Term::ReadKey
コンパイル
# make
cp ReadKey.pm blib/lib/Term/ReadKey.pm
AutoSplitting blib/lib/Term/ReadKey.pm (blib/lib/auto/Term/ReadKey)
/usr/bin/perl -I/usr/local/lib/perl5/5.8.7 genchars.pl
インストール
# make install
Installing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/Term/ReadKey/ReadKey.so
Installing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/Term/ReadKey/ReadKey.bs
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/Term/ReadKey.pm
Installing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/Term/ReadKey/autosplit.ix
Installing /usr/local/man/man3/Term::ReadKey.3
Writing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/Term/ReadKey/.packlist
Appending installation info to /usr/local/lib/perl5/5.8.7/i386-freebsd/perllocal.pod
mytopの再実行
# mytop -uhoge -phogehoge
オプションの内容は-u[ユーザ名] -p[パスワード]です。
これでMySQLの負荷を簡単に確認できるようになりました。
次にapachetopを試します。
apachetopを入手して展開
ApacheTop - Trac
http://www.webta.org/projects/apachetop/
# mv apachetop-0.12.6.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar zxf apachetop-0.12.6.tar.gz
# cd apachetop-0.12.6
設計
# ./configure
コンパイル
# make
インストール
# make install
Making install in man
/bin/sh ../config/mkinstalldirs /usr/local/man/man1
/usr/bin/install -c -m 644 ./apachetop.1 /usr/local/man/man1/apachetop.1
Making install in src
/bin/sh ../config/mkinstalldirs /usr/local/bin
/usr/bin/install -c apachetop /usr/local/bin/apachetop
Making install in config
実行
/usr/local/bin/apachetop -f ログファイル名
apachetopはログファイルのリアルタイム監視を行います。私の環境ではログファイル名を常に変える形のローテーションなので日付変更と同時に中断して新しいログファイル名でコマンドを打ちます。rpm版Apacheのようにデフォルトがシステムでローテーションさせてる場合はどうなるんでしょうね?そこまで気長に放置しませんがw
今まで開発用サーバについて時計のズレが開発に影響したときにntpdateを利用していましたが、たった一日でも結構ズレの大きいサーバもありましたのでntpdに切り替えました。
まず/etc/ntp.confを作成します。
[Fedora,FreeBSD共通]
-----------------------------------------------
/etc/ntp.conf
-----------------------------------------------
server -4 ntp1.jst.mfeed.ad.jp maxpoll 15
server -4 ntp2.jst.mfeed.ad.jp maxpoll 15
server -4 ntp3.jst.mfeed.ad.jp maxpoll 15
pidfile /var/run/ntpd.pid
driftfile /var/db/ntpd.drift
logfile /var/log/ntpd.log
logconfig -syncstatus
restrict default ignore
restrict 127.0.0.1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 210.173.160.27 nomodify notrap noquery
restrict 210.173.160.57 nomodify notrap noquery
restrict 210.173.160.87 nomodify notrap noquery
-----------------------------------------------
スミマセン。conf内容は完全に丸写しです。
私もよく福岡大学に接続していましたが過負荷の問題もありますので、現在は公共NTPサーバ(上記)を利用するか最寄のプロバイダの物を利用することを推奨します。
パラメータの説明についてはこちら
設定が完了したら起動時に動作するように設定します。
[FreeBSD]
/etc/rc.confに下記2行を追加
ntpd_enable="YES"
ntpd_sync_on_start="YES"
[Fedora]
chkconfig --add htpd
最後にntpdを起動します。minpollがデフォルトなので64秒後最初の同期が行われると思います。
[FreeBSD]
/etc/rc.d/ntpd start
[Fedora]
/etc/init.d/ntpd start
参考:
Cocelo Style - FreeBSD-Base-ntpd
http://wikis.jp/cocelo/index.php?FreeBSD%2FBase%2Fntpd
NTPサーバ ntpd 設定 - CS
http://matanet.ath.cx/cs/NTP%E3%82%B5%E3%83%BC%E3%83%90%20ntpd%20%E8%A8%AD%E5%AE%9A/
以前、自宅の開発サーバで設定しておきながらド忘れ。しかも何故かメモとってないわ、実装済みのサーバーは構成変更してWebalizerを無効にしてしまったりとメチャクチャにしていた…orz
結局メモとして残してあるのが日別ログの場合の集計設定だけだ…(´∀`)ハハハ
なんとなくうろ覚えのまま似たような情報を探したらパソコンおやじにあった。しかしおやじは守備範囲広いなぁ…
パソコンおやじ
http://www.aconus.com/~oyaji/index.htm
WebalizerによるWebアクセスログ解析
http://www.aconus.com/~oyaji/www/webalizer.htm
