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. sql加一个%号是什么意思

    sql%notfound 是异常SQL%ROWCOUNT SQL语句执行影响的行数SQL%FOUND SQL语句是否成功执行SQL%NOTFOUND SQL语句是否成功执行SQL%ISOPEN 游标是 ...

  2. 在mac下设置环境变量

    在mac下设置环境变量   在基于unix/linux的操作系统下进行程序开发,使用环境变量将会方便.通过设置环境变量将可以在任意目录通过输入程序名来执行设定目录下的程序.不需要通过cd将工作目录改变 ...

  3. JS动态加载JS

    1.直接document.write <script language="javascript">     document.write("<scrip ...

  4. 19.Extjs主页面显示js

    1. /** * @author sux * @time 2011-1-11 * @desc main page */ var mainPage = Ext.extend(Ext.Viewport,{ ...

  5. Oracle 助记

    title: Oracle 助记 Nothing is impossible! 基础操作 $ sqlplus name/pssword; # 登录数据库 $ create user username ...

  6. 自己编写的str操作函数

    1.strcat() 此函数原型为 char *strcat(char *dest, const char *src). 功能为连接两个字符串,把src连接到dest后面:返回dest地址 实现如下 ...

  7. Oracle取查询结果数据的第一条记录SQL

    Oracle取查询结果数据的第一条记录SQL: ; ;

  8. Spring加载applicationContext.xml实现spring容器管理的几种方式

    package com.etc.test; import org.junit.Test; import org.springframework.beans.factory.BeanFactory; i ...

  9. Spring:(三) --常见数据源及声明式事务配置

    Spring自带了一组数据访问框架,集成了多种数据访问技术.无论我们是直接通过 JDBC 还是像Hibernate或Mybatis那样的框架实现数据持久化,Spring都可以为我们消除持久化代码中那些 ...

  10. LN : leetcode 238 Product of Array Except Self

    lc 238 Product of Array Except Self 238 Product of Array Except Self Given an array of n integers wh ...