DBD::Pgのインストール

CPANでDBD::Pgがこけたので、ソースからインストールした。
ディレクトリ移動
#cd /root/.cpan/build/DBD-Pg-2.8.7/
環境変数をセット
export POSTGRES_HOME=”/usr/local/pgsql/”
export POSTGRES_LIB=”/usr/local/pgsql/lib/”
export POSTGRES_INCLUDE=”/usr/local/pgsql/include/”
make

と、ここまでは順調。
しかし、make testをしてみると、下記の様なエラーが発生した。
make test
PGINITDB=”/usr/local/pgsql/bin/initdb” PERL_DL_NONLAZY=1 /usr/bin/perl “-MExtUtils::Command::MM” “-e” “test_harness(0, ‘blib/lib’, ‘blib/arch’)” t/*.t
t/00-signature……skipped
all skipped: Set the environment variable TEST_SIGNATURE to enable this test
t/00basic………..
# Failed test ‘use DBD::Pg;’
# in t/00basic.t at line 14.
# Tried to use ‘DBD::Pg’.
# Error: Can’t load ‘/root/.cpan/build/DBD-Pg-2.8.7/blib/arch/auto/DBD/Pg/Pg.so’ for module DBD::Pg: libpq.so.5: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.
# at (eval 9) line 2
# Compilation failed in require at (eval 9) line 2.
# BEGIN failed–compilation aborted at t/00basic.t line 14.
t/00basic………..NOK 2FAILED–Further testing stopped: Cannot continue without DBD::Pg
make: *** [test_dynamic] エラー 9
READMEを読むと、「ldconfigに追加しろ」などと書いていた。
/etc/ld.so.conf.d/pgsql.confというファイルを作成して、中にpostgresqlのlibディレクトリまでのパスを書いてやる。
echo “/usr/local/pgsql/lib” > /etc/ld.so.conf.d/pgsql.conf
pgsql.confファイルの作成後、ldconfigコマンドにてリンクの再構成を行なう。
再度make test、make installを実行すると問題無くインストールされた。

蟹NICが認識した!

先日書いた、蟹NICを認識しないの後、CentOS5.2でr8169のドライバを入れたりしたけど認識しなかったから、4.6を入れてみた。
最初は同じように認識せず、ドライバを入れてもダメ。
lspciも
00:0a.0 Ethernet controller: unknown
となり、涙目になりながら
「認識したらいいのになぁ」と思いつつ、壊れたLANカードとの2枚刺しをしてみると、何も問題が無かったかのようにr8169のドライバとして認識しやがりました。
DHCPでちゃんとIPアドレスが付与されるし、yumも使える。
ドライバやらカーネル回りは勉強するとして、ひとつだけ分かった事。
蟹さんはツンデレって事ですねヽ(´ー`)ノ

蟹NICを認識しない

CentOS5.2で蟹NICを認識しない。
lsmodでモジュールは認識出来ている事は確認したんだけど、ifup eth0とすると、デバイスが無いと怒られてしまう(´・ω・`)ショボーン
軽くググってみると、カーネルをイジらなきゃだとかイロイロ対応策が書いてたからもうちょっと頑張ってみるか。

USB-HDDにubuntu8.04を入れる

昨日ミスって、操作していたWindowsマシンのMBRを上書きしてしまうというヘマをしてしまったが、これぐらいじゃ諦めませんwww
今日の昼にググっていたら、下記のようなページを発見!
ちりぢりな記憶の寄せ集め
今やろうとしている事と一緒のため、参考にしてみる。
ふむふむ・・・。
確認画面の窓の右下にある「拡張」を選択して、GRUBのインストール先を設定するのか。
おおっ〜!!
会社のLet’s NOTE CF-R6ですんなりとUSB-HDDからubuntuが起動した!
環境を持ち歩きたいのがそもそもの目的の為、自宅のPCでもやって見たけどこっちはNG・・・orz
BIOSでは、USB-HDDからbootできる設定にしているけど、おそらくオンボードのUSBのみ有効なんかな?
数ヶ月前にオンボードのUSBが死んだので、PCI接続のUSBボードを取り付けているけど、そこからのbootは出来ないっぽい(USB-FDDでもダメだった。)
さて、起動は出来たものの、パッケージのupdate中に目を離した隙に、PC自体がバッテリー切れで落ちてしまった。
再度起動したら、アップデートは完了していたけど、無線LANが起動しない。
う〜ん、デバイスは認識している、というか、アップデートは無線LAN経由だったから問題ないな。
再度ググると、こんな記事を発見。
harutin_99 の日記
内臓の無線LANだけど、紹介どおり/etc/rc.localに2行を、exitの前に追加して再起動したらうまくいった。
sudo gedit /etc/rc.local
ifdown wlan0(追加)
ifup wlan0(追記)
さて、まだイロイロいじる部分があるな。
最悪、CF-R6のタッチパッドのスクロール機能だけでも生かしたいな。

MBRの修復

2008年8月号の日経Linuxの付録についてきたUbuntu8.04をUSB-HDDにインストールしたら、どういう訳か作業していたwindows側のMBRが上書きされてしまった・・・orz
ちなみに、自宅のPCはショップパソコンの為、WindowsXPのセットアップCDを持っていませんwww
マザーボードも変えているから、リカバリメディアも使えないし、大ピンチ!!!
一応USB-FDDは持っているので、「起動ディスク」を作ってみたけど認識しない。
ずーっと数時間ググッていたら、KNOPPIXでWindows側のHDDのMBRを初期化してあげる方法を見つけた。
たまたま、今回の日経Linuxの付録にKNOPPIX5.3.1も付いていたので早速実行してみる。
KNOPPIXのコンソール上で、下記のコマンドを実行。
sudo install-mbr /dev/sda
KNOPPIXのCDを取り出し、通常通りWindowsを起動。
何とかうまくいった。
初めてKNOPPIXに助けられた気がする。

コンソールからrootでログインが出来ない。

やべっ!!
気づいたら1ヶ月も更新してなかった・・・orz
資料作成ばっかりでLinux触る機会が少なかったからなぁ・・・(;´Д`)
さて、タイトルにも書いているが、今日は変な事象に見舞われた。
CentOS5.2で、コンソールなのに、rootに接続が出来なくなった。
・・・。
現象その1
一般権限のユーザーでログインして、rootになる事は可能。
現象その2
シングルモードではrootになる事が可能。
現象その3
/etc/securettyファイルには「console」の記述が一番上にある。
う~ん・・・。
ググッてもそれらしい情報が手に入らない。
同じタイミングで、SSHDが起動しなくなった事と関係があるのかな?
SSHDの件はmessageログに、「hostkeyファイルのパーミッションが変だyp!」って有ったからすぐに対応できたけど、コンソールの件はまったくもって分からんwwwww
まぁ、SSHで繋がるし、一般権限からrootになればいいだけだから深く考えないようにしとこう。

グローバルIP通知

最近、プロバイダから振られているグローバルIPアドレスの変更が多くなっている気がする。(P2Pをやっている性か?)
ウチではWindows機にDiceを入れてDynDNSの動的更新をしているんだけど、嫁さんが使う時にログオフされてしまうので、DiCEが止まってしまう事がちょくちょくある。
そこで、Linux側で自身のグローバルIPアドレスを確認し、変更があった場合には携帯に通知するようにする。
※ド素人が作ったスクリプトなので、自己責任でご利用願います。
—ここからスクリプト—
#!/bin/sh
newip=`wget -qO- forts.jp/ip`
oldip=`cat old_ip.txt`
if [ $oldip != $nowip ]
then
       echo ”IPaddress was changed. ” >> old_ip.txt
echo “new IPaddress is $newip” >> old_ip.txt
mail -s “!!IPaddr Change!!” xxxxxxxxx@ezweb.ne.jp < old_ip.txt fi これをcronで5分毎に実行するように設定。 変更があったら携帯にメールが届く。 メールが届いた時に会社にいたら、手動でDynDNSの設定を更新すればいい。

qmailanalogのプログラム修正

メールアーカイブシステムを導入するに当たって、保存する期間を洗い出す為に現在のメールサーバのログから送信容量を集計する事になった。
会社のMTAはqmailだから、ログ解析、集計ツールとしてqmailanalogを使ってみる。
qmailanalogのインストールは、いろんなページがあるから省略する。
こちらのサイトのスクリプトを拝借して、実行権限を与え実行。
すると、下記の様なエラーが表示される。
sortオープン失敗4そのようなファイルやディレクトリはありません 。
メール出来たレポートを見ると、各種集計部分がまったく処理されていない。
原因をググってみると、POSIX形式が推奨されていて、Fedora8では実行すらしてくれなかった。
/usr/local/qmail/bin/の各スクリプトの
sort +4
とかの記述を、
sort -k 4
と言うふうに変更して再度実行したら上手くレポートが出来上がってくれた。

人の価値観

部下(・・・と言っても、同い年の女性)に「作業手順書を作って」とお願いしたら、技術メモ?みたいなエクセルで作った表が出てきた。
作業概要も無い。
作業詳細も無い。
作業後の確認方法も無い。
あるのは、その作業を行なうコマンドと、コマンドの説明だけ。
いや、これだけだと、「作業チェックリスト」じゃん・・・orz
技術が無い上司の承認をもらう資料だから、読むだけで作業を理解できる資料を「手順書」って思っているんだけど、部下には「自分が理解できる資料」が手順書らしい。
う~ん・・・やり直し! ( ゚Д゚)ノ
つか、自分の意思を通す事は重要だけど、他の意見も理解出来ないと、SEとしてではなく、社会人としてどうかと思うが。
まぁ、同い年だけど社会経験が違うから(部下=社会人暦2年目、私=社会人暦8年目www)、しょうがないのか?
そういえば、おととし、私と同じ出向先にいた中国人も自分の意見を曲げなかったなぁ。
あの時は「国民性」と思っていたけど、今回はそれに近いものを感じる・・・。