Ear*_*ind 23 systemd systemd-unit
一些应用程序,如 ssh,有一个以 @ 结尾的单元文件,比如ssh.service和ssh@.service。它们包含不同的内容,但我无法理解功能或目的究竟有何不同。
这是我不知道的一些命名约定吗?
tel*_*coM 32
正如其他人所提到的,它是一个服务模板。在 的特定情况下ssh@.service,它sshd仅用于按需调用,以经典inetd服务的风格。
如果您希望很少使用 SSH 连接,并希望绝对减少sshd的系统资源使用(例如在嵌入式系统中),您可以禁用常规ssh.service并启用ssh.socket. 每当检测到 TCP 端口 22(标准 SSH 端口)的传入连接时,套接字将自动启动ssh@.service(运行sshd -i)的实例。这将减慢 SSH 登录过程,但sshd在没有入站 SSH 连接时无需运行。
cam*_*amh 17
它是一个模板:https : //www.freedesktop.org/software/systemd/man/systemd.service.html#Service%20Templates
它通过创建指向unit@instance.type链接源所在位置的链接来实例化unit@.type。的值instance在 systemd 单元文件中可用%i或%I,并允许您编写单个单元配置文件,该文件可以通过参数多次使用。
虽然最清晰的 systemd 文档是“服务模板”,但您可以对任何单元类型进行模板化,如 systemd.unit(5) 手册页中所述:https ://www.freedesktop.org/software/systemd/man/systemd .unit.html