Raspberry piにopenmediavaultをインストールしようとするとPostfixのせいで失敗してしまう
Raspberry piにOpenMediaVaultをインストール中にエラーが出て中断…。なんとか解決したので備忘録としてメモ。
ITmediaのこの記事(https://www.itmedia.co.jp/news/articles/2002/24/news008.html)を見ながら、手近にあったRaspberry piにワンライナーでOpenMediaVaultをインストールしていると、途中で以下のようなエラーが…
Running newaliases newaliases: warning: valid_hostname: numeric hostname: 192.168.XXX.XXX(自宅のルーターのアドレス) newaliases: fatal: file /etc/postfix/main.cf: parameter mydomain: bad parameter value: 192.168.XXX.XXX(自宅ルーターのアドレス) dpkg: error processing package postfix (--configure): installed postfix package post-installation script subprocess returned error exit status 75 Errors were encountered while processing: postfix E: Sub-process /usr/bin/dpkg returned an error code (1) failed installing postfix
つまり…、mydomainの値が良くない?のかな?? というより、このパラメータを設定した記憶はない。なんでだろう…。
とりあえず、SSHで接続したラズパイのpostfixのパラメーターを確認する。
postconf
すると、確かに
mydomain = 192.168.XXX.XXX(自宅ルーターのアドレス) myhostname = raspberrypi.192.168.XXX.XXX(自宅ルーターのアドレス)
となってる。なので、「mydomain」のパラメーターを修正すればいいのかな。
Postfixの設定は「/etc/postfix/main.cf」にあるので、その中を見てみる。
sudo cat /etc/postfix/main.cf
ファイルには、「myhostname = raspberrypi.192.168.XXX.XXX」の設定はあるが、先程表示させたPostfixのパラメーターと異なり、「mydomain」は項目自体がない。なんでかね?
いろいろ調べてみると、
mydomain (デフォルト: “postconf -d" の出力を参照)
このメールシステムのインターネットドメイン名。デフォルトでは $myhostname から最初の要素を引いたものを使います。$mydomain は 他の多くの設定パラメータのデフォルト値として使われます。
引用元:http://www.postfix-jp.info/trans-2.1/jhtml/postconf.5.html
myhostnameにドットがなかったらDNSサーバのアドレスを勝手にくっつける仕様になったようだ。
引用元:https://doroyamada.hatenablog.jp/entry/20160828/1472361281
ということらしい。
つまり、myhostnameに「raspberrypi」と記述されていると、「.(ドット)」がないので、システムが気を利かせて(?)現在設定されているDNSサーバー名(この場合「192.168.XXX.XXX」)を自動的に追加した結果、「myhostname = raspberrypi.192.168.XXX.XXX」となる。そして、mydomainが指定されてない場合、myhostnameの最初の要素を引いたものをmydomainとして使用するので「mydomain = 192.168.XXX.XXX」となる。しかしRFC1123によると、dotted-decimal number("#.#.#.#"という形式)は、"[]“(角括弧)で囲まなければならないので、エラーになった。
というわけで、viを使って、myhostnameを以下のように修正。
sudo vi /etc/postfix/main.cf
myhostname = raspberrypi.local
これで無事インストールできるようになった!!