Systemd how to

Systemd how to

RHEL7: How to get started with Systemd.

http://lxiaogao.lofter.com/post/1cc6a101_62292d3

理解SYSTEM UNITS

Units让systemd知道如何管理对象。这里有一些对被管理的系统资源基本地标准化描述。一些功能units能简单的实现:

  • 基于套接字的激活:套接字和服务的联系很好的突破了daemon它自己的处理顺序。这有很多的优点,如:延迟了服务的启动,直到关联的套接字先被访问。这同样允许系统在启动阶段建立所有套接字,使所有相关的服务并行启动。
  • 基于总线的激活:Units也能被D-Bus提供的总线接口激活。一个unit可以被与其相关的总线激活。
  • 基于路径的激活:unit可以被某个可用的或正在使用的文件系统目录激活。
  • 隐含依赖映射:systemd自己可以为多数unit建立依赖树。也可以自己手动添加,但对于重要的服务要非常的慎重。
  • 实例和模板:模版unit文件能用来建立多个相似的unit实例。这用于有少许改变或同级的unit,它们提供相同的功能。
  • 简单、安全:可能通过一些指令让unit实现相当好的安全功能。例如:可以指定没有访问权限或只读访问文件系统的一部分,限制内核能力,并且可以分配私有/tmp和网络访问。
  • drop-ins and snippets:Unit能被简单的扩展,只要提供覆盖的部分就可以。

Systemd Unit文件在哪里?

unit文件可以在很多不同的位置,它们有不同的属性和含意。当软件安装之后,unit默认的存放位置在/lib/systemd/system目录。

unit文件被存放在这里,可以在一个会话中被以deman的形式开始和停止。

目录 描述
/usr/lib/systemd/system/ RPM包安装的服务单元。
/run/systemd/system/ 在运行时创建的systemd unit文件。 该目录的优先级高于安装的服务单元。
/etc/systemd/system/ 该目录的Sysstemd unit由systemctl enable创建,同时该unit文件用于扩展服务 。这个目录的优先级高于运行时刻的单元文件。

/etc/systemd/system目录用于系统管理员自定义创建单元文件。

单元文件名的格式如下:

unit_name.type_extension
unit_name:unit文件名。
type_extension:表示unit类型。

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-unit_files

发表回复