パスワードを忘れた? アカウント作成
12030310 journal
日記

paprikaの日記: systemdわからん 6

日記 by paprika

wheezyからjessieにdist-upgradeしました。

apache2の設定の書き方が変わってたりして、ちょっと手こずりましたが、概ね成功しました。
ただひとつ、自力で解決できてない問題がありまして、わかる方いらっしゃいませんでしょうか?

POP3サーバの courier-pop を使っていて、wheezyでは S02courier-authdaemon と S02courier-pop で起動してたんですが、
jessieにしてから、起動中に POP3 Server がFAILEDという表示が出ます。

systemctl status courier-pop.service を実行すると、失敗の表示が出ます。

手入力で service courier-pop start を実行すると起動し、 systemctl status courier-pop.service の結果は active(running) になります。

/etc/rc.local に service courier-pop start を書い起動すると、これは成功します。

/var/lib/sysv-rc-conf/services を書き換えて、 S16courier-authdaemon 、 S16courier-pop にしてみたのですが、これはFAILEDです。

systemdだと、Sxx の数値は関係なく、依存関係を認識して、並列実行するのかなと思うのですが、この辺がよく分かっていません。

サービスの起動を遅らせるために /etc/rc.local に書くというのは、とりあえず動くのですが、なんだか間違っているような気がします。

どうやって解決するのが正しいのでしょうか?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2015年04月26日 17時33分 (#2804449)

    そもそも、それこそがsystemd否定派が散々Disってきたことだもの。何を今更。
    systemdが依存関係を解決しないなんて常識じゃない。
    依存解決の為に、OpenRCよろしくsysinitとかbootとかdefaultみたいに大雑把にステージ分けろとか、
    Unitファイル自体に、提供あるいは依存、あるいはSingletonするサービスの種別を変数として持たせろとか、昔っから色々言われては来たけどそのまま。
    systemdが依存解決の手段を提供しない以上、djb派がCourierMTAを抜本的にsystemd対応させるまでそれはそのままでしょ。

    だけど、その程度ならまだましと言えるよ。
    例えばPostfix使いでDovecotのSASL使ってて、MDAもIMAPもPOP3もSieveまで全部Dovecotで、お互いにはLMTPで会話してるとかなったら依存解決どうするよ?
    しかもPostfixはMilterにAMaViS使ってて、AMaViSの中からClamAVとSpamAssassin使ってると。
    しまいにDovecotも仮想ユーザ管理にMariaDB使ってるとかなったらどうなると思う?
    今時は中小企業どころかSOHOのメールサーバですら、これにbindやdnsmasqで独自ドメインの管理まで普通にやってるけどね。
    これをsystemdで上手く動作させるのは一苦労。

    これがsystemdのクソなところなんだよな。
    何から何までディストリビューションデフォルトで使ってるような素人ほど害が無くて、重度に使ってるような奴ほど被害受ける。
    しかしそれを指摘すると素人がファビョって荒らしだす。話にならない。
    systemdは依存解決を軽く考えすぎだ。

    • 解決法ないんですか(´・ω・`)

      試しに dovecot を入れてみたら、うまく動いている様子です。

      外向きには公開していないので、plaintext認証にしました。

      mail_location = maildir:~/Maildir
      disable_plaintext_auth = no
      auth_mechanisms = plain login

      こんな感じ。

      ちなみに、どういうわけだか不思議なことに、bindもpostfixも一発で正常に動作しました。

      親コメント
  • by Anonymous Coward on 2015年04月26日 17時21分 (#2804446)

    journalctl とかでもっと詳しいログは出てないんでしょうか

    • journalctl |grep pop してみたところ、

      エラーらしきメッセージは、 Courier POP3 server:/var/run/courier/pop3d.pid.lock: No such file or directory

      というのが出てきました。

      lockファイルくらい普通自動的に作られるよね、と思いながらも、あらかじめ作っておかないといけないのだとうかと、
      touch /var/run/courier/pop3d.pid.lock してみましたが、再起動したら、勝手に消えてしまいました。

      今は諦めて、下の方が書かれていた dovecot に移行しました。

      親コメント
      • by Anonymous Coward

        /etc/tmpfiles.d/ に conf ファイルを置かないといけないパターンですかね。

        /etc/tmpfiles.d/courier.conf
        d /var/run/courier 0755 mail mail -

        というような内容になるのかな?(user/groupはcourierにあわせてください)
        ArchLinux の知識なのでDebianでも使えるか分かりませんが、
        /var/run 以下にフォルダを作るには /etc/tmpfiles.d/ の設定ファイルで指定してやる必要があるのです。
        いやフォルダはあるんだけど…という場合は別の問題っぽいのでスルーしてください。

        • by Anonymous Coward

          どうでもいいけどフォルダじゃなくてディレクトリでした。
          基本Windows脳なので…

typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...