ここではちょっとした小ネタを披露していきます?('A`)
64Bit環境でphp+imapをやろうとするとエラーが出る件
これはimapのmake時にfPICがないからだそうです
fPIC無しでデフォルトコンパイルされるのですが、
phpのmake時に怒られます。
ということでimapのコンパイルの際に以下のとおりすることで回避することができます。
CFLAGS=-fPIC make slx
imap-2006f.DEV.SNAP-0701312235 ではCFLAGSでは駄目なようで以下のようにします。
make slx EXTRACFLAGS=-fPIC
64Bit環境でSquid+SSLのコンパイルに失敗する件
Squid-2.7STABLE4及び3.0-STABLE11ではつけなくても成功しました。
コンパイルオプションに以下を設定することでコンパイル可能になりました。
--with-build-environment=POSIX_V6_LP64_OFF64
これは強制的に32bit互換で動かすということらしいです?
OpensslでSSLのサーバに接続
openssl s_client -connect localhost:995
openssl s_client -connect localhost:993
openssl s_client -crlf -starttls smtp -connect localhost:25
Qmailのbadhelo
正しくないHELOはエラーを返すようにしてみます。
ドットレスやIPや自身のFQDNを出さないメールサーバを拒否ってかんじです。
/var/qmail/control/badhelo
!\.
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}
momo-i.org
これだとLAN内の端末からとか自身のメール送信ができなくなるので/home/vpopmail/etc/tcp.smtpに以下を追加
127.:allow,RELAYCLIENT="",NOBADHELO=""
^^^^^^^^^^^^
192.168.11.:allow,RELAYCLIENT="",NOBADHELO=""
^^^^^^^^^^^^
rpmデータベースがぼっこわれた場合
rpm -aqとかやると途中で固まったり
yum updateができなかったり
ps axで/etc/cron.daily/rpmがいっぱいになってるときは
rpmのデータベースがぼっこわれてます('A`)
そんなときは以下の手順でrpmデータベースを復旧させます。
cd /var/lib
cp -r rpm rpm.bak
cd rpm
rm -f __db*
/usr/lib/rpm/rpmdb_verify /var/lib/rpm/Packages
#Fedora10~では↑のコマンドが無くなりました。
#たぶん rpmdb -a が代替になるかもしれません?
rpm --rebuilddb
#Fedora10~では rpmdb --rebuilddb かもしれません?
rpmが多い場合は再構築に時間がかかります。
再構築が終わったらrpm -aqなりyum updateができることを確認しておきます。
問題がなければ/var/lib/rpm.bakを削除しておきましょう。
SpamAssassinでerror: Can't locate Sys/Syslog/Win32.pmが出る件
Sys::SyslogのバグでSpamAssassinを起動すると以下の様なエラーがでます。
error: Can't locate Sys/Syslog/Win32.pm in @INC (@INC contains: ~~~) at (eval 13) line 2.
これはSys::Syslogのバグで以下を修正することでとりあえずでなくすることができます。
find /usr -name Syslog.pm -print
で(Perlのパス)/Sys/Syslog.pmをみつけましょう。
Syslog.pmでSys::Syslog::Win32が最初に現れる行付近でこんなコードがあります
# use EventLog on Win32
my $is_Win32 = $^O =~ /Win32/i;
eval "use Sys::Syslog::Win32";
これを以下のように修正するとでてこなくなります。
# use EventLog on Win32
my $is_Win32 = $^O =~ /Win32/i;
if($is_Win32) {
eval "use Sys::Syslog::Win32";
}
sa-updateで怒られる
error: GPG validation failed!
The update downloaded successfully, but the GPG signature verification failed.
channel: GPG validation failed, channel failed
と出た場合、
wget http://spamassassin.apache.org/updates/GPG.KEY
sa-update --import GPG.KEY
sa-update
で直ります。
Qmailのログの時刻
/var/log/qmail/のログファイルの時刻を以下の方法でわかりやすくします。
cat /var/log/qmail/current | tai64nlocal
Fedora9以降のinitscript
initscriptがSysVinitからupstartというものに変わりました
/etc/inittabを読み込まないで/etc/event.dの中を読んでるみたいです。
おかげでqmailが起動せずにおかしくなりました。
upstart用の設定
/etc/event.d/svscanboot
# svscanboot
start on runlevel 2
start on runlevel 3
start on runlevel 4
start on runlevel 5
stop on shutdown
respawn
exec /command/svscanboot
起動
initctl start svscanboot
情報が少なすぎなので、ちと整理して覚書を残そうとおもいます。とりあえず参考になりそうなところ
- http://www.ibm.com/developerworks/jp/linux/library/l-boot-faster/index.html#d
- http://opentechpress.jp/developer/08/02/18/0145226.shtml
- http://upstart.ubuntu.com/index.html
Fedora15以降のinitscript
Fedora15からinitscriptがupstartからsystemdというものに変わりました
/etc/event.dや/etc/init.dの中を読み込まないで/lib/systemd/systemの中を読んでるみたいです。
おかげでqmailがまた起動せずにおかしくなりました。
忘れぬうちにメモというかとりあえず動くけど中身よくわかってない
/lib/systemd/system/svscanboot.service
[Unit]
Description=Qmail Daemon
[Service]
ExecStart=/command/svscanboot
[Install]
WantedBy=multi-user.target
追加したら忘れずに
systemctl enable svscanboot.service
systemctl start svscanboot.service
をやっておかないとだめ。
コメントを追加