Systemd入门

最近工作中Redhat升级为7之后,启动管理从SysvInit换成了Systemd,导致项目中很多之前写的脚本都要做相应的改动,籍此机会也简单学习了一下Systemd,在此记录一下一些入门常用。 注: 我看过的最好的一篇中文的Systemd入门文章,当然是阮一峰先生的这篇《Systemd入门教程》,有兴趣的同学,请移步。 Systemd是Linux下,进行启动处理,系统管理的一种init软件。 2 Linux的启动大致分为以下4个阶段进行: 接通电源以后,启动BIOS。 从BIOS加载引导程序 引导程序启动linux内核 Linux内核启动init程序(PID 1) 该init程序负责管理Linux启动,之前使用的是Sysvinit, 但近几年被以Ubuntu等采用的Upstart所取代, 而Fedora15, CentOS7, RedHat Enterprise Linux 7 采用的都是Systemd。 3.Systemd可以管理所有系统资源,不同的资源统称为Unit. Unit一共分成12种。 Service unit:系统服务 Target unit:多个 Unit 构成的一个组 Device Unit:硬件设备 Mount Unit:…

Linux初始化过程

现在的工作有一部分是运维方面的,所以要求对Linux要比较熟悉。我之前对Linux的使用仅局限于一些常用的命令和脚本,并没有深入去学习。一直以来对Linux的初始化过程都比较模糊,在网上找很多文章都语焉不详,并没有让我有豁然开朗的感觉。这几天在研究Systemd,读到这篇博客,觉得说得很清楚。特此总结一下。 操作系统启动过程中,Linux内核加载完成之后,内核初始化的最后一步就是运行init程序。init程序负责在系统启动时运行一些服务程序和脚本,来让一些重要和必要的服务开机就能运行起来。系统基本服务程序如network,crond,iptables等和用户安装服务程序如mysqld,nginx等,都是通过init系统来完成开机启动过程。 Linux世界中init系统有许多种类,不同的发行版采用不同的实现。大多数Linux发行版的init系统是和System V相兼容的,被称为"System V init(sysvinit)",这是人们最熟悉的init系统。早期的Ubuntu也是使用sysvinit,但是Ubuntu从6.10开始,使用Upstart替换sysvinit,成为Ubuntu新一代init系统。现在也有一些linux发行版如Fedora,Debian也开始或者计划采用systemd来作为init系统。 Ubuntu下,init系统程序位于/sbin/init,大多数Linux发行版的init程序都位于目录/sbin或者/bin之下。 Sysvinit中的一个概念:运行级别(Run Level)。 它是一个数字,…