Exim FAQ

前の満足です

1. ビルディングとインストール

Q0101: 私はExim RPMについての問題を持っています。

A0101: 普通、RPMパッケージについての問題を持っているならばする事は、パッケージの中にあるソフトウェアを作った人ではなく、最初にパッケージを開発した人 に連絡することです。 通常、以下のコマンドを使って、誰がパッケージを作ったかを見つけ出すことができます:

   rpmはパッケージを--問います----queryformat『%{PACKAGER}\n』<rpm-パッ

ケージファイル>

<rpmのパッケージファイル>が実際のファイル、例えばexim-3.03-2.i386.rpmである所。 または、パッケージがシステムに取り付けられるならば:

   rpmは、queryformat 『%{PACKAGER}\n』<パッケージ名> を--問います--

例えば<パッケージ名>がパッケージの名前のコンポーネントである所exim. パッケージャーが、助けることができないか、しぶっているならば、その時だけ、ソフトウェアの実際の作者または関連したメーリングリストに連絡するべきで す。

誰で、人(または会社またはグループ)が、誰がパッケージを建造したかであるかをわかることができないか、それらがもう与えられたアドレスで存在していな いと質問プロセスを通して気づくならば、システムの上の未知のソースからパッケージを望んでいるかどうかを再考するべきです。

あなた自身が、パッケージを開発した人であると質問プロセスを通して気づくならば、作者または関連したメーリングリストに連絡するか、(b)理解しないソ フトウェアのRPMパッケージを開発していて、配布しているべきであるかどうかを再考するべきです。

debs、tarballs、およびPOSIXパッケージを含めて、同様な経験則は他のバイナリのパッケージフォーマットを制御します。

Q0102: 私は、Eximに、バークレーDBバージョン2.xまたは3.xによって編集させることができません。

A0102: あなたを配置させてください。「はいUSE_DB=」「ローカル番組 /Makefile中?」 これはEximに、互換インターフェース--それに、システムの上に存在しないかもしれないndbm.hと 呼ばれたヘッダーは必要です--の代わりにDBMライブラリにネイティブのインタフェースを使わせます。

Q0103:私はそれのために不確定なシンボルエ ラーを取ってきますhosts_ctl 私が、Eximを建造しようとする時。 (いくつかのシステムの上で、このエラーは‘ホスト_ctl’への 不確定なリファレンスです。)

A0103: USE_TCP_WRAPPERSの定義を 削除するか、追加するべきです。 -lwrap ローカル番組/Makefile中で設定しているEXTRALIBSに。

Q0104: 私は、新しいEximリリースにアップグレードしかかっています。 私は、スプールが空であると保証するか、他の特別な行動をとる必要がありますか?

A0104: それは、どこから来るかに依存します。

(1) 4.00に先がけてリリースからリリース4.00またはそれ以降に変わっているならば、ランタイムコンフィギュレーションファイルに変化を起こす必要があ るでしょう。 詳細はファイルdoc/Exim4.upgradeを見てください。 リリース3.00前から来るならば、またdoc/Exim3.upgradeを 見るべきです。

(2) Exim 4リリースから後の方のリリースまでアップグレードしているならば、特別な行動をとる必要がありません。 アップグレードが運転システムの上でされることができるように、ニュー・リリースは後方に古いスプールファイルとヒントデータベースと互換にされます。 必要であるべきであるすべては、新しいバイナリ、それからHUP、デーモンをインストールすることです。

Q0105: エラー情報のインストールをするもの: 見つからなかった平均を命じます

A0105: ローカル番組/MakefileINFO_DIRECTORYを 設定し、Eximは、Texinfo文書化をインストールしようとしているけれども、情報のインストールと呼ばれたコマンドを見つけること ができません。 3.9に先がけてTexinfoのバージョンを持っているならば、アップグレードするべきです。 さもなければ、なぜ情報のインス トールコマンドが入手可能でないかをわかるために、Texinfoのインストールをチェックしてください。

Q0106: Eximは、正しく私のオペレーティングシステムタイプを認めているようでなく、従って、建造することに失敗しています。

A0106: コマンドを実行してください。スクリプト/骨タイプの一般的. アウトプットは知られているOSタイプの1種類であるべきであり、オペレーティングシステムと一致するべきです。 どのOSが、従うことによってサポートされるかをわかることができます。ls OS/Makefile-* そしてファイル名接尾辞を見ます。

もし不一致があるならば、それは、スクリプトが、theからアウトプットを解釈することに失敗しているのを意味していますuname 正しく統率してください。さもないと、アウトプットが悪い。 その間、従うことによってEximを建造することができます。

   EXIM_OSTYPE=xxxx構成

まさにそれの代わりに構成環境に正しくEXIM_OSTYPEを設定することによってボーン対応のシェルを動かしている か、違っているならば。 再びクリーンな配布から、未遂から残されたどのような残骸でも避け始めることはたぶん最もよい。

Q0107:Eximは、作りつけることに失敗し、theの不在 について不満を言いますkillpg 役目を果たしてください。

A0107: この機能はUnixのすべての現代の風味において存在するべきです。 より古いバージョンを使っているならば、挿入することによって問題のまわりに到着することができるべきです。

   #はkillpg(pgid,sig)殺し(-(pgid),sig)を定義します。

xxxがオペレーティングシステムを識別し、コマンドのアウトプットである所で、ファイルの中にOS/os.h-xxxが呼びかけました。 スクリプト/骨タイプの一般的.

Q0108: 私は未解決のシンボルを得ています。ldap_is_ldap_url Eximを建造しようとする時。

A0108: 指定したにちがいありません。LOOKUP_LDAP=yes コンフィギュレーションの中。 あなたを、設定するために覚えさせてください。-lldap どこか(例えばLOOKUP_LIBSに おける)? リンクする時に、LDAPライブラリに走査されさせるために、それが必要です。

Q0109: 私は未解決のシンボルを得ています。mysql_close Eximを建造しようとする時。

A0109: 指定したにちがいありません。LOOKUP_MYSQL=yes コンフィギュレーションの中。 あなたを、設定するために覚えさせてください。-lmysqlclient どこか(例えばLOOKUP_LIBSに おける)? リンクする時に、MySQLライブラリに走査されさせるために、それが必要です。

Q0110: 私は、PAMサポートによってEximを組み立てようとしています。 私は含みました。-lpam EXTRALIBSけ れども私にリンクエラーがまだ到着しています:

   /lib/libpam.so: ‘dlerror’/lib/libpam.soへの不確定なリファレンス: ‘dlclose

’/lib/libpam.soへの不確定なリファレンス: ‘dlopen’/lib/libpam.soへの不確定

なリファレンス: ‘dlsym’への不確定なリファレンス

A0110: 追加してください。-ldl EXTRALIBSに。 いくつかのシステムの中に、これらの動的なロード機能は彼ら自身のライブラリにあります。

Q0111: 私はエラーdb.hを得ています: 私が、Eximを建造しようとする時のそのようなファイルまたはディレクトリがありません。

A0111: この問題はRedHat 7.0によって認められたけれども、他の環境においてまた起こることができました。 システムがDBライブラリを使っているならば、Eximを建造するためにDB開発パッケージを取り付ける必要があります。 パッケージは似ている何かと呼ばれます。db3強打3.1.14-16.i386.rpm Linuxシステムであるがあなたが、DBのどのバージョンをインストールし(現在のリリースはDB4です)たかをチェックするべきであるので。

Q0112: 私はエラー/usr/bin/ldを得 ています: 私がEximを建てようとする時には、-ldbを見つけることができません

A0112: これはたぶんQ0111と 同じ問題です。

Q0113: 私はEximをコンパイルし、私はそれをどうにかして始めたけれども、1つの問題がありました。 - このファイルが/usr/local/lib/mysql/.に あっても、libmsqlclient.so.10が見つからなかったことについて、それはいつも不満を言いました。

A0113: Solaris: ローカル番組/Makefile中にこれ を持っていると保証してください:

   LOOKUP_LIBS=-L/usr/ローカルな/lib/mysql -R/usr/ローカルな/lib/mysql

/FreeBSDを網で捕らえてください/、開いてください: このコマンド(または、それがブート時間に自動的に実行されると保証してください)を実行してください:

   ldconfig -m /usr/local/lib/mysql

Linux: /usr/local/lib/mysqlから/etc/ld.so.confまで追加し、ldconfigを 再び動かしてください。 代わりに、追加してください。

   -Wl,-rpath-Wl,/usr/ローカルな/lib/mysql

EXTRA_LIBS、それから再リンク(これは上でSolaris解決に類似しています)に。 これは、たぶんまた、GNU Binutilsを使う他のシステムに取り組むでしょう。

Q0114: どのように私は私のシステムからSendmailを削除することができますか? 私はEximとランを建造しました。構成はインストールします。けれども、それはまだ、完全に運転中であるようでありません。

A0114: FreeBSDを動かしているならば、Q9201を見てください。 さもなければ、打ち合せし that /usr/sbin/sendmailパ スまたは/usr/lib/sendmailのどれでも 必要があり、Eximを参照するために変更されて、システムにおいて存在します。 例えば、これらのコマンド(としての)を使うことがで きました:

   mv /usr/sbin/sendmail /usr/sbin/sendmail.original chmod u-s /usr/sbin/sendmail.original ln -s /path/to/exim /usr/sbin/sendmail

2番目のコマンドは一般的な安全対策として古いMTAからsetuid特権を削除します。 3番目のコマンドの中で、Eximバイナリへの実際のパスを/path/to/eximに 代用してください。

Q0115: するものはより新しい../スク リプト/を開くことができません: そのようなファイルまたはディレクトリ平均がありません? Eximを建造しようとする間に、私はそれを得ました。

A0115: FreeBSDまたはコマンドの運転を最適化しようとする構成コ マンドを持っている別のOSを使っています。 EximのMakefileはこのような連続したコマンドを持つ目標を含んでいます:

   buildpcre:

@cd pcre; $(構成)SHELL=$(シェル)AR=「$(AR)」$(MFLAGS) CC=「$(CC)」\CFLAGS=「$(CFLAGS) $(PCRE_CFLAGS)

」\

RANLIB="$(RANLIB)" HDRS="$(PHDRS)" \

INCLUDE=「(包括)(IPV6_INCLUDE)(TLS_INCLUDE)」@if$(SHELL)$(SCRIPTS

)/より新規pcre/libpcre.a exim; そして\/bin/rm -f exim eximon.bin; fi

2番目のコマンドはそれ the を仮定しますcd pcre 一番目において、コマンドはもう効果にありません。 催すならば-j3 デフォルトでそれの設定において MAKEFLAGSFreeBSD構成は、最適化しようとし、同じシェルプロセスにおける両方のコマンドによって上に終わります。 結果はそれです。$(スクリプト) (どれがその価値を持っていますか../スクリプト) 見つけられません。

最も簡単な解決は、theを使ってそれ自身のシェルの個々のコマンドによって後ろに互換モードを使うことを制作に強制することです-B たれ下がってください。 これが構造にわたって起こると保証するために、環境においてそれを輸出することは最もよい:

         MAKEFLAGS='-B'

MAKEFLAGSがする輸出

Q0116: 私は、バークレーDB 3と4によってEximを組み立てようとしたけれども、私はいつもエラーを得ます。

A0116: 同じホストにインストールされたBDBのいくつかの違うバージョンを持っている特に時の1つの共通の問題は、BDBのためのヘッダーファイルとライブラリ ファイルが標準の場所にないことです。 従って、ローカル番組/MakefileにINCLUDEとDBMLIBを設定するために、それら があるEximを判断する必要があります。 例えば、私が、DB 4.1によって建造したい時に、私は私のワークステーションの上のこれを使います:

   INCLUDE=-私/選択する/ローカルな/包括/db-4.1 DBMLIB=/選択する/ローカルな

/lib/db-の4.1/libdb.a

このような完全なライブラリファイルを指定することは、それに、静的にEximと結び付かせるでしょう。 どこにこれらのファイルがシステムの上にあるかをわかるためにチェックする必要があるでしょう。 例えば、FreeBSD 5上に、ヘッダーは/usr/local/include/db4に あり、ライブラリは/usr/local/libと呼ばれたlibdb4にあります。 その環境において、使うことができました:

   INCLUDE=-I/usr/ローカルです/は/db4 DBMLIB=-L/usr/ローカルな/lib -ldb4を含みま

す。

今回、DBMLIBは別々にライブラリ(db4)のライブラリディレクトリ(/usr/ローカルな/lib)と名前を指定し ています。 実際のライブラリファイルの名前は/usr/local/lib/libdb4.somethingです。 ライブラリがダイナミックリンクのためにコンパイルされたならば、それは使われるでしょう。

Q0117:どこでもソースからインストールされたExim の迅速なウォークスルーがありますか?

A0117: ここ! 多少編集されて、これはRedHatユーザーからの寄与です。 他のオペレーティングシステムの上で、事情は少し違うかもしれないけれども、一般的なアプローチは同じです。

(1) Eximのために必要であったdbをインストールしてください。 DBMライブラリをインストールさせないならば、これは、最初にされる必要があります。 http://www.sleepycat.comとダウンロードdb-4.1.25.tar.gzま たは現在のリリースがある何でもに行ってください。 Then:

   gunzip db-4.1.25.tar.gz

タールxvf db-4.1.25.tar

cd db-4.1.25

cd build_unix

../不[dist]/は設定します。

構成にインストールさせてください。

(2) メールなどの既存のユーザーを使いたくない限り、Eximによる使用のためにユーザーを追加してください:

   adduser exim

(3) さて、Eximを建造することを準備することができます。 http://www.exim.orgま たはその鏡の1またはマスタftpサイトftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4に 行き、exim-4.20.tar.gzまたは現在のリリースがある何でもダウンロードしてください。 Then:

   gunzip exim-4.20.tar.gz

タールxvf exim-4.20.tar

cd exim-4.20

cp src/EDITME ローカルな/Makefile cp exim_monitor/EDITMEローカル番組/eximon.conf

(4) ローカル番組/Makefileを編集してください:

Eximモニタ(それはXウィンドウを必要としています)を取り付けることを必要としているEXIM_MONITOR= unlessをコメントアウトしてください。

Eximが自身のために使うことを必要としているユーザーを配置してください:

   EXIM_USER=exim

DBMライブラリがバークレーDBであるならば、そのネイティブのインタフェースを使うために、セットは立ち上がりました:

   USE_DB=yes

Eximの構造がDBMライブラリとそのヘッダーを見つけることができるのを確かめてください。 バークレーDB 4をインストールしたならば、ロー カル番組/Makefile中にこのような設定を持つ必要があるでしょう:

   INCLUDE=-I/usr/ローカルです/BerkeleyDB.4.1/はDBMLIB=/usr/ローカルな/BerkeleyDB.4.1/lib/libdb.a

を含みます。

(最初のディレクトリがdb.hファイルを含んでいて、2番目のライブラリが存在していることをチェックしてください。)

他の何も変更する必要がありませんけれども、「指定しなければなりません」セクションの中でデフォルト設定をレビューしたいかもしれません。

(4) 構成コマンドを実行することによって、Eximを建造してください。

(5) として、動くことによって、Eximをインストールしてください:

   構成はインストールします。

これをするであるにちがいありません。 前の建物活動の少しのためのも根である必要がありません。

(6) Exim上のいくつかのテストを実行してください; それがローカルで、リモートの配達をするかどうかを見てください。 コンフィギュレーションのために、必要なら、(を両替しなさい、例えばコメントしません。グループ 「スティッキー・ビット」ディレクトリ)を使わないならばlocal_delivery輸送において。

(7) SendmailからExim(もちろん、これをするためにインストールされたSendmailを持っていた必要があります)に変わってください。

   /etc/init.d/sendmail停止

mv /usr/sbin/sendmail /usr/sbin/sendmail.org ln -s /usr/exim/bin/exim /usr/sbin/sendmail /etc/init.d/sendmail

開始

(8) Eximログをチェックしてください。 Eximモニタまたはを使ってください:

   末部f /var/spool/exim/log/mainlog

Q0118: 私は設定しました。LOOKUP_INCLUDE=-I/クライアント/は含みます。 ローカル番組の中で、/Makefileであるがexim_dumpdbの コンパイルはこのオプションと失敗を無視しています。 なぜ?

A0118:LOOKUP_INCLUDEはEximのルックアップモジュールのためのスペ シャル包括ファイルです(例えば、mysql、LDAP)。 困惑させて、それは、他の物のためにも使われる基本的なDBMコードにあてはまりません。 代わりに設定INCLUDEとDBMLIBを試してください。 例えば:

   USE_DB=yes

INCLUDE=-I/クライアント/はDBMLIB=/クライアント/lib/libdb.aを含みます。

Q0119: 私は、exiscanとその他のためのEximのためのいくつかの3番目のパーティーパッチがあると知っています。 それらはどこにありますか?

A0119: Exiscanはhttp://duncanthrax.net/exiscan-acl/に あります。
Scanexiはhttp://w1.231.telia.com/~u23107873/scanexi.htmlに あります。
uvscanにインタフェースするためのサンプルのlocal_scan()機能はhttp://www.dcs.qmul.ac.uk/~mb/local_scan/に あります。
SMTP時間のSpamAssassinへのインタフェースはhttp://marc.merlins.org/linux/exim/sa.htmlに あります。
走査とウイルス走査といくつかのRPMsについての小型HOWTO(PDFファイル)はhttp://www.timj.co.uk/linux/exim.phpで 発見されることができます。



前の満足です