System V & systemd
基本概念
System V 初始化系统是一种最早的 Linux 服务管理方式,使用/etc/init.d 下的脚本来管理服务。
service 命令就是管理 System V 类型服务的命令。它主要用于操作/etc/init.d下的脚本。
System V 类型服务的特点是:
- 初始化脚本存放在/etc/init.d目录下
- 利用/etc/init.d 下的脚本来管理服务,例如 /etc/init.d/httpd 启动httpd服务
- service 命令用于管理这些服务,例如 service httpd restart 重启httpd服务
而 systemd 是一种新的服务管理方式,使用 systemctl 命令来管理 systemd类型的服务。
systemd 类型服务的特点是:
- 初始化脚本存放在 /etc/systemd/system目录下
- systemd unit 文件描述服务的各种属性
- systemctl 命令管理这些服务,例如 systemctl restart httpd.service 重启httpd服务
所以说:
System V 类型指的是使用/etc/init.d 脚本和 service 命令管理服务的旧的Linux服务;
systemd 类型则是新的Linux服务管理方式,使用systemctl 来管理。
希望我的解释能帮助你更好地理解System V类型和systemd类型的区别。如果仍然有任何疑问,欢迎继续提出。
主要区别
System V 和 systemd是Linux系统中最重要的两种服务管理方式:
System V是较早的一种服务管理方式,使用/etc/init.d目录下的脚本来管理服务。
systemd是当前主流的服务管理方式,使用systemd daemon管理所有系统资源。
脚本位置:
System V: /etc/init.d
systemd: /etc/systemd/system
命令:
System V: service命令
systemd: systemctl命令
管理性:
System V: 针对单个服务管理
systemd: 统一管理所有服务
管理方式:
System V: 通过运行/etc/init.d下的脚本来启动服务
systemd:通过加载systemd unit文件来管理服务
启动速度:
System V: 较慢,顺序启动服务
systemd:较快,并行启动服务
优点:
System V: 简单易理解
systemd: 更高效,统一管理方式
主流Linux发行版的变迁:
SysVinit(System V) -> Upstart -> systemd
总的来说,systemd具有更高的效率、简洁的管理方式,已成为主流Linux服务管理方式。
希望以上解释能帮助您更好理解System V和systemd的区别。如果仍然有任何疑问,欢迎继续补充。
systemctl & service
基本概念
- systemctl是Linux系统中的新一代服务管理工具,主要用于管理systemd服务。systemd是一个系统和服务管理器,可用于启动、停止、重启、暂停、恢复和管理系统服务。systemd使用单个配置文件来管理所有服务,可以轻松地管理多个服务并进行并行启动。systemctl工具可以查看、启动、停止、重启、恢复服务,以及查看服务状态和日志等。
- service是Linux中的传统服务管理工具,主要用于管理SysV服务。SysV是一种传统的Unix系统初始化管理工具,使用 /etc/init.d/ 下的脚本文件来管理系统服务。service命令可以启动、停止、重启、重新加载和查看服务状态。
主要区别
- systemctl 管理方式更简洁,能够同时管理多个服务。service 命令针对单个服务,
- systemctl 可以一次性列出和控制所有类型的服务,不仅限于初始化脚本。service 命令只能控制系统 V 类型的服务。
- systemctl 开机速度更快,系统启动过程更加并行化
常用命令
systemctl命令:
systemctl start service:启动指定的服务。
systemctl stop service:停止指定的服务。
systemctl restart service:重启指定的服务。
systemctl reload service:重新加载指定的服务配置。
systemctl enable service:设置指定的服务为开机自启动。
systemctl disable service:禁止指定的服务开机自启动。
systemctl status service:查看指定服务的状态和详细信息。
systemctl list-units --type=service:列出所有正在运行的服务。
systemctl list-unit-files --type=service:列出所有已经注册的服务。
service命令:
service service start:启动指定的服务。
service service stop:停止指定的服务。
service service restart:重启指定的服务。
service service reload:重新加载指定的服务配置。
service service status:查看指定服务的状态和详细信息。
service --status-all:列出所有正在运行的服务。
chkconfig --list:列出所有已经注册的服务和它们的运行级别。
结论:
总的来说,systemctl和service都是管理Linux系统服务的工具,但systemctl更加先进,可以方便地管理systemd服务,而service适用于管理传统的SysV服务。系统越新的越倾向于使用 systemctl 管理系统服务,目前主流的 Linux 发行版如 CentOS7、Ubuntu 16 及以上版本已经默认使用 systemd 作为 init 系统。