systemd初始化进程(转)

Systemd初始化进程

Linux操作系统开机过程首先从BIOS开始→进入"Boot Loader"→加载内核→内核的初始化→启动初始化进程,初始化进程作为系统第一个进程,它需要完成相关的初始化工作,为用户提供合适的工作环境。

红帽RHEL7系统已经替换掉了大家熟悉的初始化进程System V init,并正式采用全新的初始化进程systemd。初始化进程systemd使用了并发启动机制,所以开机速度得到了不小的提升。虽然systemd已经表现出了优势,但一直有抵制的呼声:

吐槽1:因作者Lennart Poettering就职于红帽,让其他系统的粉丝很不爽。

吐槽2:systemd仅仅可在linux系统下运行,放弃了BSD用户。

吐槽3:接管了诸如syslogd、udev、cgroup等等服务的工作,不再甘心只做初始化进程。

吐槽4:使用systemd后RHEL7系统变化太大,参考文档又不多,为难我们啊!

不论怎么吐槽,既然红帽RHEL7系统选择了systemd,原先的inittab将已经不再起作用,也没有了“运行级别”这个概念,Linux系统启动时要做大量的初始化工作——例如挂载文件系统和交换分区,启动各类进程服务等等操作,这些都可以看作是一个个的单元(Unit),分析下nfs服务的单元配置文件吧:

[[email protected] ~]# cat /etc/systemd/system/nfs.target.wants/nfs-lock.service
[Unit]
Description=NFS file locking service.
//表示rpcbind服务必须在nfs服务启动前已经运行。
Requires=rpcbind.service network.target
After=network.target named.service rpcbind.service
Before=remote-fs-pre.target
[Service]
Type=forking
StandardError=syslog+console
EnvironmentFile=-/etc/sysconfig/nfs
//启动nfs服务前需要执行的命令:
ExecStartPre=/usr/libexec/nfs-utils/scripts/nfs-lock.preconfig
//启动nfs服务具体的命令语法:
ExecStart=/sbin/rpc.statd $STATDARG
# Make sure lockd‘s ports are reset
ExecStopPost=-/sbin/sysctl -w fs.nfs.nlm_tcpport=0 fs.nfs.nlm_udpport=0
[Install]
WantedBy=nfs.target

如前面所述在红帽RHEL7系统中systemd用"目标(target)"代替了“运行级别”这个概念。

Sysvinit运行级别 Systemd目标名称 作用
0 runlevel0.target, poweroff.target 关机
1 runlevel1.target, rescue.target 单用户模式
2 runlevel2.target, multi-user.target 等同于级别3
3 runlevel3.target, multi-user.target 多用户的文本界面
4 runlevel4.target, multi-user.target 等同于级别3
5 runlevel5.target, graphical.target 多用户的图形界面
6 runlevel6.target, reboot.target 重启
emergency emergency.target 紧急Shell

将默认的运行级别修改为“多用户,无图形模式”:

[root@linuxprobe ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

将默认的运行级别修改为“图形化模式”:

[root@linuxprobe ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

对于学习过红帽RHEL6系统或已经习惯使用service、chkconfig等命令来管理系统服务的读者可能要郁闷一段时间了,因为在红帽RHEL7系统中管理服务的命令是"systemctl",但使用方法大致相同,我们来做下对比吧。

systemctl管理服务的启动、重启、停止、重载、查看状态的命令:

Sysvinit命令(红帽RHEL6系统) Systemctl命令(红帽RHEL7系统) 作用
service foo start systemctl start foo.service 启动服务
service foo restart systemctl restart foo.service 重启服务
service foo stop systemctl stop foo.service 停止服务
service foo reload systemctl reload foo.service 重新加载配置文件(不终止服务)
service foo status systemctl status foo.service 查看服务状态

systemctl设置服务的开机启动、不启动、查看各级别下服务启动状态的命令:

Sysvinit命令(红帽RHEL6系统) Systemctl命令(红帽RHEL7系统) 作用
chkconfig foo on systemctl enable foo.service 开机自动启动
chkconfig foo off systemctl disable foo.service 开机不自动启动
chkconfig foo systemctl is-enabled foo.service 查看特定服务是否为开机自启动
chkconfig --list systemctl list-unit-files --type=service 查看各个级别下服务的启动与禁用情况

时间: 2024-12-13 04:26:50

systemd初始化进程(转)的相关文章

Systemd 初始化进程

1.Linux操作系统的开机过程 从BIOS开始 → 进入Boot Loader → 加载系统内核 → 内核进行初始化 → 启动初始化进程. 初始化进程作为Linux系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境.红帽RHEL 7系统已经替换掉了熟悉的初始化进程服务System V init,正式采用全新的systemd初始化进程服务.如果读者之前学习的是RHEL 5或RHEL 6系统,可能会不习惯.systemd初始化进程服务采用了并发启动机制,开机速度

第二课(安装虚拟机与RPM红帽软件包管理器、Yum软件仓库以及Systemd初始化进程原理)

一.安装虚拟机 很简单,不多说 ,重要的是镜像.内存以及模式搞清楚就行. 虚拟机中三种模式: 1.桥接模式:相当于在物理主机与虚拟机网卡之间架设了一座桥梁,从而可以通过物理主机的网卡访问外网. 2.NAT模式:让VM虚拟机的网络服务发挥路由器的作用,使得通过虚拟机软件模拟的主机可以通过物理主机访问外网,在真机中NAT虚拟机网卡对应的物理网卡是VMnet8. 3.仅主机模式:仅让虚拟机内的主机与物理主机通信,不能访问外网,在真机中仅主机模式模拟网卡对应的物理网卡是VMnet1. 二.RPM(Red

RHEL7 systemd初始化进程@3

system contralsystemctl restart 服务名称 重启服务systemctl start 服务名称 启动服务systemctl stop 服务名称 关闭服务systemctl reload 服务名称 重载服务systemctl enable 服务名称 加入到开机启动项systemctl status 服务名称 查看服务 RPM原理:将程序的源代码与安装规则一起打包:好处是降低软件的安装难度,无需用户手动配置: 长格式和长格式之间不能合并长格式和短格式之间不能合并参数与参数

ogg初始化进程配置

网上搜索"ogg配置",基本上都是配置流程,较少有ogg初始化进程的技术文档.一般ogg初始化主要分为两种,一种是源数据库表列不含clob类型,另一种 情况是源数据库表列含有clob类型. 此处测试为:源数据库表为source.test1,目的端IP为192.168.100.20,OGG用户和密码为ogg,ogg,目的端数据库实例为orcl 方式一(适合不包含clob数据类型的数据库) 1.源端初始化进程配置    ADD EXTRACT ini_1,SOURCEISTABLE    

15.2、systemd守护进程介绍

1.系统启动的流程回顾: post(加电自检,主要用来检查支持系统启动的硬件环境是否满足)---> bootseqence(根据bios中设定启动顺序,去加载相应的启动项设备)---> bootloader(根据启动项设备的mbr去加载bootloader)---> kernel(加载内核至内存中)---> rootfs(根切换)---> init(/sbin/init) 不同系统的init程序不一样: centos5:sysV init //V表示版本号,第五版 cento

11-19,20笔记

查看及更改文件安全标签 查看及更改服务selinux策略值##############系统启动故障修复系统引导过程概述     通电      |  bios初始化      |  grub2磁盘引导阶段      |   grub2文件引导      阶段      |  指定boot所在分区      |  启动内核,只读   挂载/设备      |  启动init程序进入初始化阶段      |  启动systemd初始化进程      | 读取/etc/systemd/中的文件    

第十一单元文档2

##系统恢复技术## ##学习目标 引导过程 恢复 Shell ##系统引导过程概述 通电-->进入初始化阶段-->bios 初始化-->grub2 磁盘引导阶段-->grub2 文件引导阶段--> 指定 boot 所在分区-->启动内核,只读挂在 / 设备启动-->init 程序进入初始化阶段--> 启动 systemd 初始化进程-->读取 /etc/systemd/中的文件-->启动程序-->启动登陆环境 ##bios初始化 基本输入

linux云自动化运维基础知识22(系统恢复)

系统引导过程概述: 通电--bios初始化--grub2磁盘引导阶段--grub2文件引导阶段--指定boot分区所在位置--启动内核,只读/挂载设备--启动init程序进入初始化阶段--启动systemd初始化进程--取/etc/systemd/中的文件--启动程序--启动登陆环境. 系统启动流程: 一.通电 bios(主板上的只读存储中,basic input or output system)作用:硬件检测,激活硬件 二.grub系统引导(grub引导分为两个阶段) 阶段1 mbr(主引导

第1章 部署虚拟环境安装linux系统

章节简述: 本章节带领读者从0基础了解虚拟机软件与红帽系统,完整的演示了在VM与KVM中安装红帽RHEL7系统的方法. 特别增加了超级实用的Linux系统找回root密码.虚拟机功能增强包.VNC远程控制服务等相关的技术知识点. 简单了解守护进程即可,对了!在安装RPM软件包或配置YUM软件仓库时请格外注意参数细节哦~ 本章目录结构 1.1 准备您的工具 1.2 安装配置VM虚拟机 1.3 安装您的Linux系统 1.4 重置root用户密码 1.5 红帽软件包管理器 1.6 Yum软件仓库 1