1.7 Systemd初始化进程

Linux操作系统开机过程首先从BIOS开始→进入"Boot Loader"→加载系统内核→内核进行初始化→启动初始化进程。初始化进程作为系统第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。红帽RHEL7系统已经替换掉了大家往常熟悉的初始化进程System V init,正式采用全新的systemd初始化进程服务,因此如果您之前学习的是红帽RHEL5或红帽RHEL6系统,那么着实会感觉很不习惯。systemd初始化进程服务采用了并发启动机制,开机速度得到了不小的提升,虽然systemd初始化进程服务已经表现出了很多新特性和不错优势,但目前还是有4个主要的吐槽点。

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

吐槽2:systemd初始化进程服务仅仅可在Linux系统下运行,放弃了Unix系统用户。

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

吐槽4:使用systemd初始化进程服务后RHEL7系统变化太大,参考文档又不多,为难咱们啊!

不论怎么吐槽,既然红帽RHEL7系统选择了systemd初始化进程服务,随之也没有了“运行级别”这个概念,Linux系统启动时要做大量的初始化工作——例如挂载文件系统和交换分区,启动各类进程服务等等操作,这些都可以看作是一个个的单元(Unit),即用"目标(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

如果您想要将系统默认的运行目标修改为“多用户,无图形”模式,那么则可直接用ln命令把该文件连接到/etc/systemd/system/目录即可:

[root@linuxprobe ~]# ln -sf /lib/systemd/system/multi-user.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 查看各个级别下服务的启动与禁用情况
 Linux centos7设置系统默认启动界面不能再设置/etc/inittab 文件。RHEL6以前 纯文本界面(run level3),图形界面XWindow(run level5)

如果在centOS7系统设置默认 以某种方式启动

使用systemd创建符号链接指向默认运行级别。

修改方法为:

1.首先删除已经存在的符号链接

rm /etc/systemd/system/default.target

2.默认级别转换为3(文本模式) -s  symbolic  -f  force

(1)ln  -sf    /lib/systemd/system/multi-user.target     /etc/systemd/system/default.target

或者默认级别转换为5(图形模式)

(2)ln   -sf   /lib/systemd/system/graphical.target    /etc/systemd/system/default.target

3.重启  reboot

参考刘老师《Linux就该这么学》

Linux:RHEL7图形界面转文字的更多相关文章

  1. python在linux制作图形界面(snack)

    snack是一个用于在linux制作图形界面(GUI)的模块,该模块由c编写,而且redhat的系统都自带这个模块. 1.获取模块 虽然redhat系统会自带这个模块,但是直接去import snac ...

  2. Linux图形界面和文字界面的切换

    Ctrl+Alt+F1~F6:切换到文字界面 登陆tty1~tty6终端, 运行等级为run level 3 Ctrl+Alt+F7 或者输入命令startX:切换到图形界面,运行等级为run lev ...

  3. Linux 安装图形界面及远程连接

    #可查询哪些组件是否已经安装(可用来对照组件名称) yum grouplist yum groupinstall 'X Window System' -y #安装GNOME桌面环境 yum group ...

  4. Linux:远程到linux的图形界面

    一般linux都没有安装图形界面,可以通过VNC服务来实现步骤如下: 一.安装vnc server1.查看是否安装vncrpm -q vnc-serverpackage vnc is not inst ...

  5. unix/linux中图形界面那些事

    我们知道unix/linux刚开始的时候是没有图形界面的,随着时代的发展,排版.制图.多媒体应用越来越普遍了,这些需求都需要用到图形界面(Graphical User Interface).为此,MI ...

  6. weblogic11g 安装——linux 无图形界面

    weblogic11g 安装——linux下无weblogic安装图形界面 注意:此次安装,没做server.ip .系统规划 目的:学习weblogic11g 在linux下  无图形安装的过程 j ...

  7. kali Linux 文本图形界面切换遇到的怪问题

    前段装了在Virtual Box上装一个Kali Linux玩,然后设为了开机进入文本界面,后来遇到无法上网的问题,网上找到解决方法,说是NAT地址转换和host-only双网卡顺序问题,按照网上的说 ...

  8. linux字符图形界面

    /etc/inittab 1)  字符界面标识: id:3:initdefault: 2)  图形界面标识: id:5:initdefault:   [root@ora9i ~]# vi /etc/i ...

  9. Linux中图形界面和文本模式相互切换

    1.默认开机进入文本模式 如果想让开机自动进纯文本模式, 修改/etc/inittab 找到其中的 id:5:initdefault: 这行指示启动时的运行级是5,也就是图形模式 改成3就是文本模式了 ...

随机推荐

  1. 用C语言实现websocket服务器

    Websocket Echo Server Demo 背景 嵌入式设备的应用开发大都依靠C语言来完成,我去研究如何用c语言实现websocket服务器也是为了在嵌入式设备中实现一个ip camera的 ...

  2. 洛谷 P2577 [ ZJOI 2005 ] 午餐 —— DP + 贪心

    题目:https://www.luogu.org/problemnew/show/P2577 首先,想一想可以发现贪心策略是把吃饭时间长的人放在前面: 设 f[i][j] 表示考虑到第 i 个人,目前 ...

  3. JSSDK使用步骤

    绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. 引入js文件 在需要调用JS接口的页面引入如下JS文件,( ...

  4. Java游戏之碰撞检测

    在进行Java游戏开发时,我们经常会遇到碰撞检测的问题.如坦克大战中,炮弹与坦克相遇发生爆炸:守卫者游戏中,守卫者发射的箭与怪物相遇使怪物失血:打飞机游戏中,飞机发送的子弹与敌机相遇干掉敌机.这些都需 ...

  5. bzoj 1045: [HAOI2008] 糖果传递【瞎搞】

    感觉我的智商可能不够写题解,就直接截了hzwer的blog 地址http://hzwer.com/2656.html #include<iostream> #include<cstd ...

  6. 17年day5

    /* 嗯,一切都快要结束了. 觉得不必要写太多,从day5开始就挺好吧. 记得去年这时候看到峰峰博客里的倒计时,心里还毫无波动,只是走的时候挺伤心. 现在轮到了我们. 峰峰我想你. 衷心祝zjk和my ...

  7. P3043 [USACO12JAN]牛联盟Bovine Alliance(并查集)

    P3043 [USACO12JAN]牛联盟Bovine Alliance 题目描述 Bessie and her bovine pals from nearby farms have finally ...

  8. 个人作品:EasyPicker(轻取)简洁而又实用的文件收取Web应用

    EasyPicker简洁实用且方便的在线文件收取Web应用  小弟我作为班上的学委,有一个伟大的职责,收发各科作业(尤其是专业课的上机课),上机==写报告,此时就产生了实验报告这个玩意儿,一个班少则4 ...

  9. 2017 Pycharm激活码

    BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...

  10. 仓鼠找sugar II

    题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n.地下洞穴是一个树形结构.这一天小仓鼠打算从从他的卧室(a,是任意的)他的基友卧室(b,还是任意的).(注 ...