AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 823245
Accepted
William Seligman
William Seligman
Asked: 2016-12-30 09:57:07 +0800 CST2016-12-30 09:57:07 +0800 CST 2016-12-30 09:57:07 +0800 CST

应该向终端打印消息的 Systemd 单元脚本不起作用

  • 772

我有一个运行 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 启动的命名守护程序会受到我修改后的命名脚本的影响。

如果您是系统专家,请帮助我完成这项工作。

bind chroot centos7 systemd
  • 2 2 个回答
  • 2369 Views

2 个回答

  • Voted
  1. Best Answer
    Michael Hampton
    2016-12-30T12:25:33+08:002016-12-30T12:25:33+08:00

    你为什么不直接屏蔽服务?这可以防止它以任何方式启动或使用。

    # systemctl mask named
    Created symlink /etc/systemd/system/named.service → /dev/null.
    
    # systemctl start named
    Failed to start named.service: Unit named.service is masked.
    
    • 1
  2. Daniel
    2016-12-30T10:21:36+08:002016-12-30T10:21:36+08:00

    替代建议。删除该named单元并创建一个别名。

    通过在其中一个单元搜索路径中创建从新名称到现有名称的符号链接,可以给单元起别名(具有替代名称)。例如,systemd-networkd.service 具有别名 dbus-org.freedesktop.network1.service,在安装期间创建为符号链接 /usr/lib/systemd/system/dbus-org.freedesktop.network1.service。此外,单元文件可以通过 [Install] 部分中的 Alias= 指令指定别名;这些别名仅在启用该单元时有效。启用该单元时,将为这些名称创建符号链接,并在禁用该单元时删除。例如,reboot.target 指定 Alias=ctrl-alt-del.target,因此启用后,只要按下 CTRL+ALT+DEL 就会调用它。别名可用于 enable、disable、start、stop、status 等命令以及单元依赖指令 Wants=、Requires=、Before=、After=、...,但通过 Alias= 指定的别名仅限启用时有效。

    https://www.freedesktop.org/software/systemd/man/systemd.unit.html

    • 0

相关问题

  • 配置仅在短时间内缓存的本地 DNS 解析器

  • BIND 服务器无法解析 us3.php.net!

  • DNS - 有什么方法可以强制名称服务器更新域的记录?

  • BIND/Named:禁用递归,客户端使用替代服务器

  • DR 站点中 Windows 域的 BIND

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve