by 唐草 [2023/09/20]
Linuxは目的に応じてさまざまな種類がある。多様化できるのはオープンソースの良い点だが、ときにユーザを混乱に陥れる。ぼくも何度も振り回されたことがある。
複数のLinuxを使っていると、当然入っているであろうと思ったコマンドが入っていないことがある。その逆で、インストールした覚えがないのに入っている幽霊みたいなコマンドもある。
そんな幽霊的なコマンドの1つにメール送信のsendmailがある。
sendmailは古くからあるメール送信サーバ。設定が複雑で使いこなせる気がしないソフトだ。その難しさは、設定をするためのソフトが別にあることからも分かる。
ぼくがメールサーバを作ることは稀だし、作るならお手軽なPostfixを利用する。自分でsendmailをインストールすることはない。
それなのにぼくが設定したサーバにはsendmailコマンドが入っている。
なぜ、インストールしていないメールサーバに付属するコマンドが入っているのだろう。不思議に思いながらも、メールを送るときにはありがたく利用してきた。
今日は、エラーが発生したらメール通知する仕掛けを作っていた。メール送信に使うのはsendmailコマンドである。当然インストールした記憶はない。それでいつもと同じようにコマンドを利用した。
だが、今日はうまくいかなかった。いつもと同じことをしているのになぜだ?
原因を調べて驚いた。
ぼくが使ったsendmailコマンドは、ぼくが使いたかったsendmailコマンドではなかったのだ。
何を言っているのか分からないだろうが、ぼくも事態を飲み込むまで時間を要した。
様々なメール送信ソフトが、互換性のために似ているけれどちょっと異なる独自のsendamilコマンドをインストールしていたのだ。今日は細かい設定が必要だったので互換ソフトの差異が問題になった。
この衝撃の事実を知ったおかげで理解できたことがある。インストールしていないのにいつもsendmailコマンドが存在したのは、多種多様な互換ソフトのおかげだったということだ。ついに幽霊の正体を見破った。