![なぜ `postmap` はこのような巨大なデータベースを生成するのでしょうか?](https://rvso.com/image/718105/%E3%81%AA%E3%81%9C%20%60postmap%60%20%E3%81%AF%E3%81%93%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E5%B7%A8%E5%A4%A7%E3%81%AA%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
/etc/postfix/generic
メール プロバイダーを介した SMTP リレーのアドレス マッピングを構成するための1 行があります。実行するとsudo postmap /etc/postfix/generic
、この 52 バイトのテキスト ファイルから 29,360,128 バイトの Berkeley DB ファイルが生成されます。これは少し過剰に思えます。
同様に、65 バイトの/etc/postfix/sasl_passwd
ファイルは DB 形式では 37,748,736 バイトに膨れ上がります。
これは macOS High Sierra の APFS パーティション上にあります。Sierra の HFS+ パーティション上の同様のファイルでは、はるかに妥当な 16384 バイトのファイルが生成されます。これはブロック サイズの問題で、APFS が何か奇妙なことを引き起こしているのではないかと思います。
答え1
ファイルシステムの問題に関してはあなたの言う通りだと思います。
私は Centos 6 で postfix リレーを実行していますが、元のファイルに関係なく、すべての Berkley DB ファイルは同じサイズです。
-rw-r--r-- 1 root root 20497 Oct 14 23:00 access
-rw-r--r-- 1 root root 12288 Oct 14 23:00 access.db
-rw-r--r-- 1 root root 1802 Oct 11 23:21 recipient_access
-rw-r--r-- 1 root root 12288 Oct 11 23:21 recipient_access.db
-rw-r--r-- 1 root root 2140 Jan 17 14:31 sender_access
-rw-r--r-- 1 root root 12288 Jan 17 14:31 sender_access.db
-rw-r--r-- 1 root root 12609 Oct 21 15:09 transport
-rw-r--r-- 1 root root 12288 Oct 21 15:09 transport.db
-rw-r--r-- 1 root root 12494 Mar 27 2007 virtual
-rw-r--r-- 1 root root 12288 Dec 8 2016 virtual.db