 パッケージ作成者へのガイドライン
パッケージ作成者へのガイドラインこのドキュメントには、内部利用のために独自の Postfix 配布物を管理 する人や、一般的な利用のために Postfix 配布物を管理する人のためのヒントや tips があります。
インストールされる main.cf ファイルは小さくなければいけません。 main.cf ファイルに 300 以上ある全てのパラメータを列挙するという誘惑には 負けないように「してください」。Postfix は設定が簡単であると思われて います。300 以上を全て main.cf に列挙してしまうと、この目的が果たせません。 何をやっているのか理解せずにランダムに変更を加えるのは趣味人への勧誘で あり、彼らを果てしなきトラブルに巻き込んでしまいます。
適切な README または HTML ファイルを提供してください。これらは Postfix マニュアルページやその他のファイルに参照されています。README や HTML ファイルがないと、Postfix は設定が不可能ではないにせよ難しくなって しまいます。
Postfix のインストールは10数個のインストールパラメータによって制御 されます。詳細は postfix-install および post-install ファイルを参照して ください。ほとんどのパラメータはINSTALL ファイルに書かれているように、コンパイル時に設定可能なシステム依存の デフォルト設定を持っています。
Postfix がインストールされていないマシンで Postfix パッケージを作る ことができます。必要なのは Postfix ソースコードと目的のシステムと互換性の あるコンパイル環境だけです。
一般ユーザで構築済み Postfix パッケージを作ることができます。
まず Postfix をコンパイルします。コンパイルが成功したら以下を実行します:
% sh postfix-install
インストールパラメータの入力が求められます。/ 以外の install_root を 指定してください。mail_owner および setgid_group インストールパラメータ設定は main.cf に記録されますが、パッケージが 解かれて目的のマシンにインストールされるまでは効果を持ちません。
このプロセスを完全に自動化したければ、コマンドラインで全てのデフォルト 以外のインストールパラメータを指定してください:
% sh postfix-install -non-interactive install_root=/some/where ...
配布用のアーカイブを作る際には、ファイルとシンボリックリンク だけを含み、その親ディレクトリを含まないことを確認してください。そう しないと、ビルド済み Postfix パッケージを展開したときに / /etc /usr /usr/bin /var /var/spool などのようなシステムディレクトリの権限や所有者を 勝手に変えてしまうかもしれません。これは特に postfix-install (上記を参照) を一般ユーザで実行した場合に問題になります。
従って、ビルド済みパッケージを tar で固めるには、次のステップを 踏んでください:
% cd INSTALL_ROOT % rm -f SOMEWHERE/outputfile % find . \! -type d -print | xargs tar cf SOMEWHERE/outputfile % gzip SOMEWHERE/outputfile
この方法であれば、展開時に問題になるようなディレクトリを含むことは ありません。
ビルド済み Postfix パッケージを展開するには、以下と同等のことを 実行します:
# umask 022 # gzip -d <outputfile.tar.gz | (cd / ; tar xvpf -)
処理中に作成する必要がある非 Postfix ディレクトリのパーミションを正しく するために、umask コマンドが必要です。
Postfix が排他的に使うために必要な mail_owner アカウントと setgid_group グループを 作成します。
Postfix ファイルやディレクトリの所有者やパーミションを設定し、 Postfix 設定ファイルを更新するために postfix コマンドを実行します。必要 ならば、デフォルトではない mail_owner や setgid_group の設定を postfix コマンドラインで指定します:
# postfix set-permissions upgrade-configuration \
       setgid_group=xxx mail_owner=yyy
Postfix バージョン 2.1 以前では、post-install スクリプトを直接呼び出す ことで同じ結果が得られます。