一个问题
今天在重启 nginx 服务的时候,注意到有这样一条输出
还有在设置 nginx 开机启动,一般的做法是 把脚本放在 /etc/init.d/ 下然后 用 chkconfig 管理
不过这些都是”相对过时”做法了,由 service+chkconfig 变成 systemctl,背后是Linux 用户态进程管理体系的一次更改
- service+chkconfig 是 system V 的做法
- systemctl 是systemd 的做法
什么是 System V
1 | UNIX System V是Unix操作系统众多版本中的一支。 |
什么是 是systemd
1 | systemd是Linux电脑操作系统之下的一套中央化系统及设置管理程序(init), |
参考: https://zh.wikipedia.org/wiki/Systemd
趋势
systemd已纳入众多Linux发行版的软件源中,以下简表:
默认init程序为systemd的发行版
- Fedora 15及后续版本
- openSUSE 12.1 及后续版本
- Red Hat Enterprise Linux 7及后续版本,包括其派生品CentOS、Scientific Linux、Oracle Linux等
- Arch Linux在2012年10月13日将systemd-sysvcompat纳入base软件组,自此Arch Linux默认安装完即以systemd为init程序[13],同时也提供了与Arch自带启动脚本兼容用的systemd启动脚本包以方便用户,使用户能“开箱即用”
- Chakra GNU/Linux,在2012.10的光盘映像档发布后默认使用systemd。
- Debian GNU/Linux,在2014年的技术委员会的init系统投票中决定在Debian 8“Jessie”中以Linux为核心的版本转换到systemd[16]。
- Ubuntu 15.04及后续版本[17]
发展的过程
发展的过程引用一片文章,讲的非常细,收藏