我有一个运行 named-chroot 的 CentOS7 服务器。问题是 named 和 named-chroot 是 CentOS7 中独立的 systemd 服务,我有一个稳定的系统和一个短的内存。在需要 BIND 维护之间几个月过去了。当我有 BIND 工作要做时,我总是忘记输入
systemctl restart named-chroot
而是输入
systemctl restart named
如果我弄错了,则不会警告我正在启动不正确的服务。
我想使用 systemd 配置来编辑命名服务,以提醒我犯了一个错误。到目前为止,我已经覆盖了标准命名服务:我使用
systemctl edit named
并输入以下内容:
[Unit]
Description=You want named-chroot
Wants=
Before=
After=
[Service]
Type=simple
EnvironmentFile=
Environment=
ExecStartPre=
ExecStart=
ExecStart=/bin/bash -c "/usr/bin/echo 'No, you want named-chroot'"
ExecReload=
ExecReload=/bin/bash -c "/usr/bin/echo 'No, you want named-chroot'"
ExecStop=
ExecStop=/bin/bash -c "/usr/bin/echo 'No, you want named-chroot'"
StandardOutput=journal+console
PrivateTmp=false
这是我得到的。echo 命令的结果将在 journalctl 和 systemctl 状态中可见。当然,理想的情况是让它们打印在终端上,但我还没有想通。这不起作用:
StandardOutput=tty
TTYPath=/dev/tty
也不是其变体;我收到错误消息,告诉我 /dev/tty 在 bash 中不可用!
另一个问题:即使使用上述文件,像这样的命令也可能导致 named-chroot 停止而没有可见的指示符或警告:
systemctl restart named
systemctl start named
当我覆盖了我能找到的每个命名服务选项时,我无法弄清楚为什么由 named-chroot 启动的命名守护程序会受到我修改后的命名脚本的影响。
如果您是系统专家,请帮助我完成这项工作。
你为什么不直接屏蔽服务?这可以防止它以任何方式启动或使用。
替代建议。删除该
named
单元并创建一个别名。https://www.freedesktop.org/software/systemd/man/systemd.unit.html