空桥云代维 2015-07-30 11:19:19 随着公司业务的不断发展,各种学习机会也在不断增多。今天学习了Redhat7企业版,整理作成Systemd相关文章与大家共享。 何为SystemdSystemd是linux下,进行启动处理,系统管理的一种init软件。Linux的启动处理Linux的启动大致分为以下4个阶段进行。
该init程序负责管理linux启动,之前使用的是Sysvinit,但近几年被以Ubuntu等采用的Upstart所取代。而且Fedora 15,CentOS 7,Red Hat Enterprise Linux 7采用的都是Systemd。 Systemd特征1.不是一个shell脚本。Sysvinit的处理全部被写成shell脚本。因为与服务相关的动作被写在单一的脚本中进行处理,而不能进行细化。 Systemd的话,服务不是写成一个的脚本,而是作为配置文件,以Unit为单位进行管理。因此各项处理可进行细化,和单独有效地运行。而且还可以明确各个处理的依赖关系。甚至这些细化也可以并行运行。例如,像A处理后,由B和C并行处理这样的极其细致的设定也是可以实现的。 2.可灵活地执行进程的启动。 不仅是在linux系统启动时,而且也可以设置各种阀值启动进程。例如定时器,插座通信检测,文件系统挂载等。根据系统构成的变化也可以自动改变系统。例如,检测到新的磁盘设备时,就启动特定程序等。 3.非PID而是通过cgroup管理进程。 Sysvinit的话,服务是通过PID进行管理的。而Systemd则是通过cgroup进行管理的。若是PID的情况下,进程达到2次分歧,就直接断开父进程和子进程的关系。cgroup的话,即使发生多回分歧,也可以进行管理。 但是,cgroup是linux内核的功能。Linux以外是不能使用的,这也是Systemd的限制,只有在linux内核上才能运行。 4.Systemd的历史 Systemd是以Lennart Poettering和Kay Sievers为中心开发的。2010年3月发行最初的版本之后,搭载在2011年发行的Fedora 15上。 2012年发行的Red Hat Forum 2012,Red Hat Enterprise Linux 7都声明采用了Systemd。 而且,2014年12月发行的Centos7已从Sysvinit变更为systemd。 后话现在,包括Fedora、CentOS、RedHat Enterprise Linux,openSUSE和SUSE Linux Enterprise Server、Oracle Linux、CoreOS、Arch Linux等将systemd作为默认的init系统。而且Debian下期版本8(jessie)也要采用Systemd,尽管有Systemd反对派的反对,但是Systemd已成为一种标准。 |
|