我在 freedns.afraid.org 上为我的 12.04 服务器使用动态 DNS 服务。我原以为协议会标准化并且 ddclient 会正常工作,但显然不会。我在 /var/log/syslog 中收到此消息:
ERROR: Invalid update URL (2): unexpected status ()
Run Code Online (Sandbox Code Playgroud)
我尝试使用此答案中描述的替代 PPA 中的 ddclient 更新版本,但后来我遇到了此错误:
FATAL: Error loading the Perl module Digest::SHA1 needed for freedns update.
FATAL: On Debian, the package libdigest-sha1-perl must be installed.
Run Code Online (Sandbox Code Playgroud)
当我尝试安装该软件包时,我得到以下信息:
E: Unable to locate package libdigest-sha1-perl
Run Code Online (Sandbox Code Playgroud)
这让我看到了这个错误报告,它显然没有解决方案。如何进行?
我的主磁盘是 SSD,因此为了通过减少写入来保持其使用寿命,我遵循了一些建议,并/var/spool通过将此行添加到/etc/fstab以下内容制作了一个 ram 磁盘:
tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0
Run Code Online (Sandbox Code Playgroud)
后来我配置了 postfix,因为我的系统上有一个 RAID 阵列,如果 RAID 阵列出现故障,mdadm 想给我发送电子邮件,这听起来是个好主意。电子邮件发送工作正常,直到我重新启动,此时:
postfix: fatal: open /etc/postfix-out/main.cf: No such file or directory
Run Code Online (Sandbox Code Playgroud)
对此的修复显然是:
mkdir /var/spool/postfix
postfix check
Run Code Online (Sandbox Code Playgroud)
然后我发现我还必须这样做:
mkfifo /var/spool/postfix/public/pickup
service postfix restart
Run Code Online (Sandbox Code Playgroud)
现在发送电子邮件工作正常......直到下次重新启动。
那么:如果 /var/spool/postfix 不存在,那么在启动时自动重新创建它的内容的最正确方法是什么?
我正在使用 Ubuntu Server 12.04。