So-net無料ブログ作成

Opera が思いのほか調子いい [FreeBSD]

苦し紛れに FreeBSD に Opera を入れてみたところことのほか調子が良いので Windows にも入れてみた。
UI が気に入った。

思いのほか、ちゃんと見れるサイトが多い。gmail もOK。
FreeBSD 版 Opera で、So-net blog でエントリを編集・登録するときにエラーが出る(データはきちんと編集・登録できる)以外はちゃんと動いてる。
あと、キャッシュの扱いがちとおかしいか(Opera のせいかもしれんけど)・・・
So-net さん、もうひとがんばりお願いします。

ちなみに、FreeBSD では、ports からインストールするときに

# cd /usr/ports/www/opera
# make config


で 「Qt は Shared Library だよー」にチェックすると、SCIM Anthy で日本語が入力できて嬉しい。
Static Library ではできないみたい。


FreeBSD 6.2 インストールおぼえがき [FreeBSD]

DISC-1 DISC-2 を CD-R に焼いた(うちで DVD を焼けないので仕方なく)

Standard で インストール
DISC-2 は、package から kde3 とかをインストールするときに必要
(ports からコンパイルしようとしたら、libiconv のコンパイル途中でエラーになったので仕方なく)

Packageから入れたもの


/usr/sbin/sysinstall → Configure/Packages から Package インストール

kde/kde-3.5.4
/etc/ttys に以下の行を追加(kdm が起動するようになる)

ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure

security/sudo
/usr/local/etc/sudoers の以下の行のコメントを外した(wheel の人がパスワード入力なし)

# %wheel  ALL=(ALL)       NOPASSWD: ALL

net/cvsup-without-gui
/usr/share/examples/cvsup/ports-supfile をコピーしてきて host= の行を書き換える。
sitecopy
http://blog.so-net.ne.jp/nakagami/2005-12-03
japanese/samba3(ports から)
http://blog.so-net.ne.jp/nakagami/2006-08-23 の smb.conf とか /etc/rc.local を参考にする

editors/vim(ports から)
export WITHOUT_X11=yes をしてから make install
http://blog.so-net.ne.jp/nakagami/2006-09-02-2

japanese/scim-anthyなぜか、コンパイルエラーになるので、FTP サーバー ftpXX.freebsd.org にあるパッケージを入れた。
.profile (もしくはそれに相当するファイル)にこんな↓感じ

LANG=ja_JP.eucJP; export LANG
XMODIFIERS="@im=SCIM"; export XMODIFIERS
GTK_IM_MODULE=scim; export GTK_IM_MODULE


.xprofile が、こんな↓感じ

#!/bin/sh
echo '*inputMethod: SCIM' | xrdb -merge
scim -d 

www/firefox-devel全角も半角もプロポーショナルフォントで半角幅広い。いや。

x11/mlterm

www/opera
sudo sysctl kern.ipc.shm_allow_removed=1
なかなかいい感じ

その他 ipa フォントとか入れた。
japanese/ja-ipa-ttfont
japanese/ja-sazanami-ttf
japanese/ja-monafonts-ttf
japanese/ja-alias-fonts
japanese/ja-kochi-ttfonts

/usr/X11R6/lib/X11/xorg.conf は、xorgcfg コマンドを起動して、モニターの設定だけしたらできた。
(チップセットに統合されてる)グラフィックカードはうまく認識してくれたみたい。良い時代になった。
さらに

        FontPath     "/usr/X11R6/lib/X11/fonts/local/"
        FontPath     "/usr/X11R6/lib/X11/fonts/TrueType/"


という行を追加したけど、それで効果あったのかは確認してない。

KDE はさておき、opera と mlterm で普段の生活はできそう。

sitecopy ports からコンパイル、X はいらないので
export WITHOUT_X11=yes をしてから make install
http://blog.so-net.ne.jp/nakagami/2005-12-03


HTTP アクセラレーター Varnish [FreeBSD]

『高速化プログラミングの参照実装としても活用される「Varnish」』とのこと。
http://journal.mycom.co.jp/articles/2007/05/24/bsdcan1/index.html
http://varnish.projects.linpro.no/
ポータビリティは捨て、Linux 2.6 と FreeBSD6 をターゲットに高速化してるってのが目新しい。
実際 OS (っていうか、カーネル)の寡占化が進んでて、みんな困らんのだろうな。

そういや、Apache 3.0 は、古い OS はほっといて高速化するぜ!ってのをどっかで読んだな
これ↓だったか?
http://journal.mycom.co.jp/news/2007/02/16/364.html

Zope のフロントに Squid や Apache + mod_rewrite を置いてる人、試してみて!


find -exec と find + xargs [FreeBSD]

ソースから、特定のキーワードを探すときは

$ find . -name '*.c' -exec  grep -H keyword {} \;


とかしてる。
今回、複数のディレクトリにまたがるソースの行数を wc で数えたくなった。
1ファイルずつ数えると合計が出ない。
確か、xargs っていうのを使うんだったなぁ・・・あった
http://sonic64.com/2003-11-07.html

$ find . -name '*.c' -print |xargs wc


とすれば良い。
ただ、xargs を使う場合は、コマンド行の長さで限界があるところに注意だな。

(追記 2007/4/2)
最近は、 -print0 とか -0 をつけるのが吉らしい
http://www.otsune.com/diary/2007/03/29/1.html#200703291


Firebird と PostgreSQL の共存 [FreeBSD]

いつの間にか isql (Firebird のコンソールベースのクライアントツール)で、エラーになって SQL を発行できなくなっていた。試行錯誤してみると、結局のところ isql だけじゃなくて、例えば su になって gsec を起動しても同じエラーが出る。再現手順としては、これが一番わかりやすい。

$ su -
Password:
freebsd# gsec
operating system directive semget failed
No space left on device
unable to open database
freebsd# 


どうも、PostgreSQL をインストールした時↓から駄目みたいで、
http://blog.so-net.ne.jp/nakagami/2006-09-01
PostgreSQL を起動しないようにするとうまくいくことがわかった。

いろいろネット上を探したが、結局 Firebird のports の RELNOTE
/usr/ports/databases/firebird-server/files/RELNOTES
に答えがあった。

#sysctl kern.ipc.semmns
kern.ipc.semmns: 60


と、semmns の値が 60 になっていたので

/boot/loader.conf に

kern.ipc.semmns=120


という行を追加して 120 にしたら、isql や gsec がきちんと動作するようになった。
(ちなみに RELNOTES には、48づつ増やしてみろと書いてある)

探してる間に、PostgreSQL の文書「16.4.1 共有メモリとセマフォ」というのを発見
http://www.postgresql.jp/document/current/html/kernel-resources.html#SYSVIPC
共有メモリやセマフォが足りなくなるというのはありがちなようなので、これも見ておくと良いかも。


vim で utf-8 のファイルの読み書き [FreeBSD]

ports から libiconv をインストール http://blog.so-net.ne.jp/nakagami/2006-08-23
したあとに、
/usr/ports/editors/vim で make install すると、 vim 7.0 がインストールされる。

ここ↓の、 .vimrc をそのままパクったら、
http://www.kawaz.jp/pukiwiki/index.php?vim#cb691f26
LANG=ja_JP.eucJP の環境で、 utf-8 のファイルがちゃんと表示された。
ちゃんと編集できるかとか、まだよく確認してなけど、もっと前に試しとけば良かった。


PostgreSQL 8.1 をインストール [FreeBSD]

# cd /usr/ports/databases/postgresql81-server
# make install


で、PostgreSQL 8.1 がインストールされ

# su pgsql
$ initdb -D /usr/local/pgsql/data --encoding=UNICODE --no-locale


で /usr/local/pgsql/data にデータベースクラスタが初期化される。

/etc/rc.conf に

postgresql_enable="YES"


と記述すると、次回から PostgreSQL のサーバーが立ち上がる

ついでに、

# cd /usr/ports/databases/py-psycopg
# make install


で、 psycopg 1.1 をインストールしておいた。


ports からいくつかインストール(主に Python 関連) [FreeBSD]

大概のものは、ports が用意されてるけど、たまにどれが自分のインストールしたい ports かわからないことがある。
あとでまた悩むかも知れないので、今日、何をインストールしたかメモっておく

[pysqlite 2.3]
/usr/ports/databases/sqlite3
/usr/ports/databases/py-pysqlite23

[PIL(Python Image Library)]
/usr/ports/graphics/py-imaging

[PyChart]
/usr/ports/graphics/py-chart

[mod_python 3]
/usr/ports/www/mod_python3
make install の 最後に httpd.conf に、下のような感じでディレクティブを加えろとメッセージが出る (pkg-message に書いてある)

PythonPath  "['/path/to/foo', '/path/to/bar']"
AddHandler python-program .py
PythonHandler foobar
PythonDebug On

[Subversion]
とりあえず、自分ところにリポジトリを作る必要なしなので・・・

# cd /usr/ports/devel/apr-svn
# make APR_UTIL_WITH_BERKELEY_DB=yes install
# cd /usr/ports/devel/subversion
# make WITH_REPOSITORY_CREATION=no install


これで、リポジトリができてないはずだけど /home/svn/repos に
なんかファイルができてるなぁ、まぁいいや。

$ svn
使用方法を知りたいときは 'svn help' と打ってください。


動いてる。

あと、この前 Apache 2.2 をインストールした
http://blog.so-net.ne.jp/nakagami/2006-08-29


Apache2.2 を ports からインストール [FreeBSD]

# cd /usr/ports/www/apache22
# make install
# make clean

httpd.conf は /usr/local/etc/apache22 に存在する。
デフォルトでは、コンテンツは /usr/local/www/apache22 に置かれている。
/etc/rc.conf に

apache22_enable="YES"


と書くと、再起動で Apache が起動して、そのサーバーにブラウザでアクセスすると、 It works! とだけ地味に表示される。

ちなみに、私の環境の場合は、DNS で引けないホスト名と IP アドレスを rc.conf に、例えば

ifconfig_de0="192.168.0.2"
hostname="xxx.yyy.zzz" 


とか適当につけて再起動したら /var/log/httpd-error.log に
・・・ unable to find IPv4 address of "xxx.yyy.zzz"
と出て、Apache 君が起動してくれなかったので、/etc/hosts に

192.168.0.2 xxx.yyy.zzz


と書いた。本当は、どうするのがいいんだろう?


Samba3 でファイルの共有 [FreeBSD]

プリンタ共有とか、アカウントの統合とか、ドメインに参加とか難しいことはおいといて、最低限、Windows とファイルを共有するためのインストール&設定に関する作業メモ。
FreeBSD 6.1 と、最近の ports を使って・・・

[libiconv のインストール]
# cd /usr/ports/converters/libiconv
# make WITH_EXTRA_PATCHES=yes install
で、うまくインストールできると、

$ iconv -l | grep EUCJP-MS
EUC-JP-MS EUCJP-MS EUCJP-OPEN EUCJP-WIN


となるはず。

[Samba3 のインストール]
# cd /usr/ports/japanese/samba3
# make config
で、
・UTMP
・PAM_SMBPASS
・PORT
をチェックの後、
# make install

[smb.conf の記述]
# cp /usr/local/etc/smb.conf.sample /usr/local/etc/smb.conf
して、以下のように修正

$ diff smb.conf.sample smb.conf
26c26
<    workgroup = MYGROUP
---
>    workgroup = WORKGROUP
158,160c158,160
< ;   display charset = koi8-r
< ;   unix charset = koi8-r
< ;   dos charset = cp866
---
>    display charset = EUCJP-MS
>    unix charset = EUCJP-MS
>    dos charset = cp932

[/etc/rc.conf の修正]

samba_enable="YES"


の1行を追加。

ここまでで、再起動。

[smb アカウントの追加]
既に存在する(もしくはあらかじめ adduser で作った) UNIX のアカウント foo について

# pdbedit -a foo

で smb アカウントを作成。この時パスワードも聞かれるので適当に設定。
この時点で、UNIX アカウント foo のパスワードと smb アカウント foo の
パスワードは異なる。

/etc/pam.d/passwd に

password sufficient /usr/local/lib/pam_smbpass.so migrate try_first_pass nullok


という行を追加すると、passwd コマンドで UNIXパスワードを変更する時に、一緒に samba アカウントのパスワードも変更される。
とりあえず、自分の使う範囲で不便ないようにするには、こんなとこだろう。