9 posts categorized "*BSD"

authdaemondとの格闘

postfix+sasl2+authlibでSMTP認証のメールサーバを構築する場合、認証にsaslauthdを利用せず、authdaemondにお任せする事ができます。
しかし、認証ソースがLDAPやDBの場合は、問題ないのですが、/etc/passwdの場合、うまく認証行きません。(ToT)

仕方ないので、DebugPrintなどを入れて、調べてみたところ。。どうやら
authdaemondに含まれる/etc/passwd認証用モジュール(authpwd)に、認証情報が引き渡される時、ユーザID形式ではなくメールアドレス形式で来るため、メールアドレス情報を持たない/etc/passwdの情報には合致するはずもなく、結果、認証も失敗するらしい。ということが判明しました。

発想に無理があったってことか。。。

今回は、どうしても/etc/passwdで認証させたかったので、パッチを作成して解決しました。

以下、構築メモとPatch。

Continue reading "authdaemondとの格闘"

| | Comments (0) | TrackBack (0)

POPからIMAPへ(サーバ編)

現在、postfix 2.0.19 + POP before SMTP (drac + teapop) で 稼働中のメールサーバを、postfix 2.3.3 + SMTP Auth(sasl + courier-imap)に入れ替えることになりました。
これで、IMAPが使えるようになるので、複数端末からメールを読むのが楽になるはず。

以下、メールサーバの設定メモです。 

Continue reading "POPからIMAPへ(サーバ編)"

| | Comments (0) | TrackBack (0)

LDAPでアカウント管理(FreeBSD5.3+OpenLDAP+samba)

昨日、壊れてしまった社内サーバの修理中です。
色々、入れるものはあるのですが、まずはアカウント管理とWindowsとのファイル共有をなんとかしようかと思っています。

アカウントの管理には、LDAPを利用し、Windowsとのファイル共有にはsambaを利用します。アカウント管理にLDAPを利用するとは、簡単に言えば、「アカウント情報の全てをLDAPに登録しておき、アカウント情報を利用するサービスは、LDAPを参照して認証を行う。(sambaも含む)」という方法なのですが、FreeBSDの以前のパージョン(FreeBSD 4.X)では、NSSがサポートされていなかったために、UNIXアカウントも作成する必要があり、今一歩、不完全な感じでした。
しかし、FreeBSDでも5.0以降からはNSSがサポートされたので、本来目指していた形にすることができそうです。スッキリ管理できそうで、ちょっと嬉しいですね

構築に関しては、こちらのサイト(気まぐれアマグラマ頁)さんの記事を参考にさせていただきました。詳しく書いてあって大変助かります。

Widnowsドメインを利用していないこと、samba3は、CAPをサポートしていない事などの理由から、Windowsとのファイル共有に関しては、samba3ではなく、samba2を利用することにしました。

| | Comments (0) | TrackBack (0)

JavaでHello World

昨日、インストールができたばかりのEclipse。
動作確認と新しい言語を学びはじめるときのご挨拶として、まずは、Hello World を表示するものを作りました。

■Hello Worldを表示した画面
20050302-eclipse

参考サイトは、こちら(JavaでHello World

しかし、時々、Java VMが落ちてしまうんです。あまり頻繁に落ちるようなら調査が必要かも

| | Comments (0) | TrackBack (0)

NetBSDでJavaを動かす

かねてより作ってみたいプログラムがあって、そろそろ、試作を開始しようと思いたちました。
しかし、何で開発していくかで、迷いが。
webベースではないので、いつもならC++を選択するところですが、WindowsでもBSDでも動くようにしたいし、GUIをつけるとなると、かなり大変になってしまいそう。

とグダグダ悩んだ結果、決めました。・・この際だから、Javaでプログラムを作ってみよう!です。
とは言っても、Javaでの開発経験はありません。周辺知識もほとんどありません。かえって、目的から遠ざかってる気もしますが、決めたからには、まず調査です。
少しネットで調べてみると、JDKが必要なことや、JAVAの開発環境としては、Eclipseを利用するのが便利そうだということなどが分かりました。

■Eclipse 起動画面
20050301-eclipse
Eclipseとは、オープンソースの統合開発環境で、もともとはIBMが開発を開始したものです。現在はオープンソースコミュニティのEclipseプロジェクト(http://www.eclipse.org/)にて、開発が続けられています。

なるほど どなるほど、でも、取りあえずやってみないと分かんないな(笑
というわけで、早速、ノートPCで稼動中のNetBSDに環境構築開始です。

-----------------
インストール手順
-----------------
■pkgsrc
NetBSDでは、以下のようにJava/Eclipseのpkgsrcが用意されています。
 ■JAVA SDK /usr/pkgsrc/lang/sun-jdk15
 ■eclipse /usr/pkgsrc/devel/eclipse
これを利用してインストールすれば、簡単。なはずです。

■Java環境のインストール
/pkgsrc/lang/sun-jdk15をインストールするためには、あらかじめsunのサイトからJDKとJREのLinux self-extracting file版をダウンロードしておく必要があります。
ちなみに、2/24時点での最新版は以下の通りです。

jdk-1_5_0_01-linux-i586.bin
jre-1_5_0_01-linux-i586.bin

ダウンロードした上記の2ファイルは, /usr/pkgsrc/distfilesディレクトリに置いておきます。

あとは、 /usr/pkgsrc/lang/sun-jdk15に移動し、お決まりの呪文([# make install)。


/usr/pkgsrc/lang/sun-jdk15は、linux版のものです。これを動作させるためには、カーネルが以下のオプション付きで作成されている必要があります。
 option COMPAT_LINUX
また、/etc/fstab に以下の行を追加しておきます。
 procfs /emul/linux/proc procfs rw,linux

■Eclipseのインストール
まず、/etc/mk.confに ACCEPTABLE_LICENSES+=eclipse-licenseという1行を追加しておきます。
そして、 /usr/pkgsrc/devel/eclipseに移動し、お決まりの呪文([# make install)。

とまあ、ここまでは順調に行ったのですが・・

■Javaの起動確認で問題発生
Java起動確認をするために、バージョンを表示させてみます。すると、以下のようなエラーになってしまいました。

# /usr/pkg/java/sun-1.5/bin/java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

んー。どうやら、「heap領域のサイズが足りなくて、JavaVMが作れないよ」と言っているらしいです。
是非、広げてあげなくては・・どうやって?
で、色々調べたり、人から教えてもらったりした結果。以下の方法で解決できることが判明しました。
※協力してくれた方々、どうもありがとう

■データサイズ制限を調整して問題解決
まずは、limitコマンドで、現在の制限値を見てみましょう。
1プロセスに許されたデータサイズの上限を広げるには、以下の表示例で、datasize 131072 kbytesとなっている部分を変更することになります。


% limit
cputime unlimited
filesize unlimited
datasize 131072 kbytes
stacksize 2048 kbytes
coredumpsize unlimited
memoryuse 505504 kbytes
descriptors 64
memorylocked 168501 kbytes
maxproc 160

この値を調整するには、いくつかの方法があるらしいのですが、一番簡単なのは、ホームディレクトリの.cshrcで、データサイズのlimitを指定する方法です。
具体的には、ホームディレクトリの.cshrcに以下の行を追加します。(ここでは、262144という数値にしているのは、JavaVMの起動には256Mのメモリが必要だという記述をどこかで見かけたためです)
例:
limit datasize 262144

#source .cshrc とやって、変更した.cshrcを有効にしたあと、再び、limitコマンドで設定値を確認てみます。
% limit
cputime unlimited
filesize unlimited
datasize 262144 kbytes
stacksize 2048 kbytes
coredumpsize unlimited
memoryuse 505504 kbytes
descriptors 64
memorylocked 168501 kbytes
maxproc 160

変更できてますね。さて、これでもう一度Javaの起動確認をしてみましょう。
# /usr/pkg/java/sun-1.5/bin/java -version
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
Java HotSpot(TM) Client VM (build 1.5.0_01-b08, mixed, mode, sharing)

limitコマンドについて・・
プロセスへの各種の制限を設定するコマンドです。
csh・tcsh の内部コマンドで、limit で設定できる制限値には、一般ユーザが変更できる(普通の)リミットと、root しか変更できないハードリミットがあります。

■Eclipseの起動
Javaが起動できるようになったところで、いよいよ Eclipseを起動してみます。
※Eclipseを起動するためには、JavaにPATHが通っていなくてはいけないので、PATHの設定を忘れずに♪

%/usr/pkg/eclipse -data ~/eclipse/workspase
※-dataオプションは、ワークスペースの場所を指定するオプションです。上記例では、自分のホーム配下にワークスペースができるように指定しています。


思いのほか、手こずってしまいましたが、やっとEclipseが起動してJavaのプログラムが開発できそうな環境が整いました。これから、Javaのお勉強をはじめてみます。やっぱし、まずは、"Hello World"かな

| | Comments (0) | TrackBack (0)

NetBSDで音楽を聴く

少しずつ、環境の整ってきた我がThinkPadですが、まだ一度も音を鳴らしたことがありません。ここはひとつ、「MP3でも再生してもらおうじゃないか」と思い立ちましてチャレンジしてみました。

まずは、/var/log/messagesでオーディオデバイスがちゃんと認識できてるかを確認。大丈夫みたいです
 Nov 22 13:23:00 michael /netbsd: audio0 at auich0: full duplex, mmap, independent

で、次はプレーヤー探しですが、何がいいのかさっぱりわからないのでネットで検索してみたところ、slpayというプレーヤーを見つけました。パッケージからインストールできるみたいなので、早速
 #cd /usr/pkgsrc/audio/splay
 #make install
さくっと入りました。

早速、再生してみます。(使い方は、man splayで確認)
 #(1)% splay /home/sliver/sample.mp3
おぉ 再生できてます。でも、音が小さすぎてよく聞こえません。

というわけで、今度は、音量の調節をします。
音量の調整はmixerctlコマンド で行います。まずは、今の設定を全て表示。

 # mixerctl -a
 outputs.master=127,127
 outputs.master.mute=off
 outputs.mono=255
 outputs.headphones.mute=off
 <略>

音量を大きくするために、outputs.masterを最大に設定するには、以下のように

 # mixerctl -w outputs.master=255,255

これで、また再生してみます。今度はちゃんと大きな音で再生することができました。
ThinkPadについている音量ボタンも有効になっているので、手元から音量調節できて便利です。

参考
 音量調整がGUIで出来るようになるツールもあります。
 # /usr/pkgsrc/audio/xmix
 # make install
 % xmix

| | Comments (6) | TrackBack (0)

NetBSDのとき時計が狂ってる

私の、ノートPC(ThinkPad)は、NetBSDとWindowsXPのデュアルブートになっているのですが
NetBSDで起動したときに、時刻が狂ってるのに気が付きました。
調べたところ・・これは、
  ・WindowsXPが日本にあわせてシステムクロックを書き換える。
  ・NetBSDでは、それをUTCだと思って、日本時間に合わせて表示する。
という、両OSの時間合わせコンボによる罠でした。
なんとかするためには、NetBSDのカーネルコンフィグファイルにある設定値を修正して、カーネルを作り直さなくてはいけません。ぷぅ・・・簡単には快適な環境にならないもんですねぇ。
以下、ソースの取得から、カーネル再作成までの手順をメモします。


■まず、NetBSDのソースを取得します
  #ftp ftp.netbsd.org
  ftp> cd /pub/NetBSD/NetBSD-release-2-0/tar_files/src
  ftp> mget *
  ftp> bye

■取得した全てのtarボールを/usr配下に展開します。
 ※ファイルの数が多いので、展開用のシェルを作ると便利です。
■ソースを展開したディレクトリに移動し、build.shを利用してtoolchainを作成します。
 まずは、BUILDINGを一読しましょう。build.shのオプションの説明やビルドの方法が書かれています。(英語)
 #cd /usr/src
 #./build.sh -O ../obj -T ../tools -u -U tools

■次に、カーネルのコンフィグファイルを書き換るのですが、元のカーネルコンフィグファイルを好きな名前で
 コピーし、コピーしたファイルを書き換えるようにします。
 ※下の例では、自ホスト名のファイルにコピーしています
 #cd /usr/src/sys/arch/i386/conf
 #cp GENERIC_LAPTOP MICHAEL_LAPTOP

■コピーしたカーネルコンフィグファイルの以下の部分を書き換えます。
 #vi MICHAEL_LAPTOP
    options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
      ↓
    options RTC_OFFSET=-540 # hardware clock is this many mins. west of GMT
 ※何で、-540かっていうと・・
   日本時間とUTCは9時間ずれていますよね。で、WindowsXPがシステムクロックを既に9時間進めているので
   それをUTCに戻すには、60分*9=540分となるわけです。

■カーネルコンフィグファイルの設定が終わったら、再び、/usr/srcに戻り新しいカーネルを作ります。
 #cd /usr/src
 #./build.sh -O ../obj -T ../tools -u -U kernel=MICHAEL_LAPTOP

■ここまでで問題がなければ、新しくできたカーネルを/にコピー。
 ※元のカーネルを別名で保存しておくことを忘れずに
 #cd /usr/obj/sys/arch/i386/compile/MICHAEL_LAPTOP
 #mv /netbsd /netbsd.old
 #cp netbsd /

■で、インストールっと。
 #cd /usr/src
 #./build.sh -O ../obj -T ../tools -u -U install=/
 #reboot

■無事に成功したでしょうか?まずはunameで確認します。
 [Before]
 #uname -a
 iNetBSD michael 2.0_BETA NetBSD 2.0_BETA (GENERIC)

 [After]
 #uname -a
 NetBSD michael 2.0_RC5 NetBSD 2.0_RC5 (MICHAEL_LAPTOP) XXXX
 
 ちゃんと、 「2.0_BETA」が「2.0_RC5」に変わってます。オッケーですね

さて、問題だった時間はどうでしょう?
 #date
 #Tue Nov 20:17:20 JST 2004
オッケーオッケー。だいたい合ってます。 成功したようです(パチパチパチ〜)

これで、快適環境にまた一歩近づきました。でも、まだまだ道は険しそう・・。
とりあえず日本語入力できるようにしなくちゃ


 

| | Comments (4) | TrackBack (0)

fvwmのカスタマイズ その2

fvwmのカスタマイズの続き..。
いよいよ、その1で、ホームディレクトリにコピーしてきた設定ファイル(..fvwmrc)を編集して、自分好みのカスタマイズを行いますが、まずは、どのようにカスタマイズしたいかを決めなくてはいけません。(そうしないと目的見失って、余計な時間がかかってしまいますから)というわけで、以下のように整理してみました。
(設定ファイルでは、ウィンドウの色設定、初期起動するアプリケーション、フォントなどさまざまなことが指定できるのですが、今回はGoodStuffに関するものだけの記録です。)
-----
1.GoodStuff(ランチャー)をスティッキーウィンドウとして表示する。
2.GoodStuffからは以下のアプリケーションが利用できるようにする。
  ・kterm
  ・MUA
  ・WWWブラウザ
  ・仮想デスクトップ
-----
■GoodStuffを表示するためには、以下の記述を追加(or 編集)します。
GoodStuffをスティッキーウィンドウに指定します。(スティッキーウィンドウとは、デスクトップにずっと表示されるウィンドウのことです)
Sticky GoodStuff
GoodStuffの外観を設定します。以下の例はデフォルト設定にBorderWidthの設定を加えたものです
Style "GoodStuff" GoodStuff, NoHandles, Sticky, WindowListSkip,BorderWidth 5

■GoodStuffの機能に関する設定
fvwmrc中の以下の行のを探します。この行の下にGoodStuffに関する設定項目が並んでいます。
##### GoodStuff button-bar ####

ボタンの色を設定します。下の例では、灰色バックに黒文字となります。
*GoodStuffFore Black
*GoodStuffBack #908090

モジュールのパスを設定します。パッケージからfvwmをインストールした場合は以下のように変えないとダメみたいです。
ModulePath /usr/pkg/lib/X11/fvwm

フォントを設定します。これはデフォルトのままでも問題なし。
*GoodStuffFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*

表示位置を設定します。下の例では画面の右上に表示されるように設定してあります。
*GoodStuffGeometry 200x50-1+0

表示する行数を指定します。下の例では、小さいほうが好みなので1に設定しています。と
*GoodStuffRows 1

各ボタン割り付けるコマンドを設定します。書式は以下の通りです。
書式:GoodStuff 表示名 アイコン画像 Exec "名称" "コマンド"
設定例:
# kterm
*GoodStuff kterm term.xpm Exec "kterm" kterm &
# MUA
*GoodStuff mail mail2.xpm Exec "thunderbird" thunderbird &
# wwwブラウザ
*GoodStuff FireFox wierd_page3.xpm Exec "FireFox" firefox &
# 仮想デスクトップ
*GoodStuff(4x1) - whatever SwallowModule "FvwmPager" FvwmPager 0 3

完成したGoodStuffのイメージ♪
goodstuff.gif

| | Comments (0) | TrackBack (0)

fvwmのカスタマイズ その1

ノートPC(ThinkPad)に、Fedora Core1を入れて使ってました。
そろそろバージョンアップをしようと思っていたのですが、やはり前につかっていたBSD系のOSを使いたいなぁと思い立って全面NetBSDに移行。
私の勤務先では、サーバはNetBSDで構築することがほとんどなので、「使い慣れてる」と思っていたのですが・・勘違いですた。デスクトップで使用するとなると、話は別ですね。
そもそも、Xが最初から立ち上がらない。すっかり、Linuxの最初から豪華なデスクトップ環境に慣れてしまった私は、大困りです。
とりあえず、四苦八苦の末、Xは起動まではなんとか出来ました。が、標準となっているWindowManager twmはあまりにシンプルすぎて使いづらいので、WindowManagerを変更することに。
で、選んだのはfvwm1です。 fvwmとはtwm から派生した X11 用のウィンドウマネージャで、メニューバーなどがありません。たいへんシンプルですが、軽快なWindowManagerです。

以下、備忘録としてインストールから設定までの手順をメモします。

まず、fvwmをパッケージからインストールします。
  #cd /usr/pkgsrc/wm/fvwm1/
  #make install
無事にインストールが完了したら、自分が利用するWindowManagerの設定です。
自分のWindowManagerを変更するには、ホームディレクトリの.xsessionというファイルに以下の行を追加します。
  # start window manager
  WINDOW_MANAGER=fvwm
これで、WindowManagerがFVWMになりました。しかし、この時点では、fvwmデフォルトの設定で起動しますので、GoodStuff(ランチャー)などは表示されていませんし、時計も出ていません。不便ですね。
というわけで、自分の気に入るようにカスタマイズを行います。
自分用のカスタマイズをするためには、まず設定ファイル(..fvwmrc)を作らなくてはいけませんが、全てを自分で書くのは大変なので、デフォルトの設定ファイルを自分のホームディレクトリにコピーしてきます。
 #cp /usr/pkg/lib/X11/fvwm/system.fvwm /home/sliver/.fvwmrc
ここからは、この/home/sliver/.fvwmrcを編集してカスタマイズをすすめることになります。
これからが、また長い道のり・・ << その2へつづく



| | Comments (4) | TrackBack (0)