ここではちょっとした小ネタを披露していきます?('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

情報が少なすぎなので、ちと整理して覚書を残そうとおもいます。とりあえず参考になりそうなところ

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

をやっておかないとだめ。

タグ

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
半角で
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。
ももーい に投稿