
了解Linux初始化过程& Different 运行级别s
可以多种方式使用不同的Linux系统。这是在不同的操作级别上运行不同的服务的主要思想。例如,仅当系统运行X服务器时才可以运行图形用户界面。仅当系统处于多用户状态或模式(例如具有可用的网络连接)时,才可以进行多用户操作。这些是系统的较高状态,有时您可能希望在较低级别上运行,例如在单用户模式或命令行模式下。
对于不同的操作(例如,解决文件或磁盘损坏问题)或服务器在不需要X会话的运行级别进行操作,此类级别非常重要。在这种情况下,运行依赖于更高级别操作的服务是没有意义的,因为它们会妨碍整个系统的运行。
达到运行级别时,每个服务都被分配为启动。因此,当您确保启动过程是有序的并且您更改了机器的模式时,您无需担心手动启动或停止哪种服务。
系统可以使用的主要运行级别为:
运行级别 |
目标 |
笔记 |
0 |
运行级别0.target, poweroff.target |
停 的 系统 |
1 |
运行级别1.target, 救援目标 |
单 用户 模式 |
2, 4 |
运行级别2.target, 运行级别4.target, 多用户目标 |
用户定义/特定于站点 运行级别。 通过 默认, 相同 至 3 |
3 |
运行级别3.target,多用户目标 |
多用户, 非图形的。 用户数 能够 通常 登录 通过 多 游戏机 要么 通过 的 网络。 |
5 |
运行级别5.target, 图形目标 |
多用户, 图形化。 通常 具有 所有 的 服务 的 运行级别3 加 a 图形化 登录-X11 |
6 |
运行级别6.target, 重新启动目标 |
重启 |
紧急情况 |
紧急目标 |
紧急情况 贝壳 |
的Linux的系统和服务管理器现在是“系统的”。如上表所示,它提供了“目标”的概念。尽管目标的作用与运行级别相似,但它们的作用有所不同。每个目标都有一个名称而不是一个数字,并具有特定的用途。在继承另一个目标的所有服务并向其添加更多服务之后,可能会实现某些目标。
存在向后兼容性,因此使用熟悉的telinit RUNLEVEL命令切换目标仍然有效。在Fedora安装中,运行级别0、1、3、5和6具有与特定systemd目标的精确映射。但是,用户定义的运行级别(例如2和4)不会以这种方式映射。默认情况下,对它们的处理类似于运行级别3。
为了使用用户定义的级别2和4,必须定义新的systemd目标,该目标使用现有运行级别之一作为基础。您要启用的服务必须符号链接到该目录。
当前正在运行的linux系统中最常用的运行级别是3和5。您可以通过多种方式更改运行级别。
运行级别5将带您进入启用GUI的登录提示界面和桌面操作。通常,在默认安装下,这会将您带到GNOME或KDE linux环境。运行级别3会将您的Linux机器引导到终端模式(非X)Linux机器,并将您带到终端登录提示。运行级别0和6是分别用于停止或重新引导Linux的运行级别。
虽然与 SysV 和 最低位 初始化脚本, 系统的:
- 提供积极的并行化功能。
- 提供按需启动守护程序。
- 使用套接字和D-Bus激活来启动服务。
- 使用Linux cgroup跟踪进程。
- 保持安装和自动安装点。
- 支持快照和还原系统状态。
- 实现详尽的基于事务的依赖关系的服务控制逻辑。
系统化 启动并监督系统的整个操作。它基于单位的概念。这些由名称和类型组成,如上表所示。有一个具有相同名称和类型的匹配配置文件。例如,一个单元avahi.service将具有一个具有相同名称的配置文件,并且它将是一个封装Avahi守护程序的单元。有七种不同类型的单元,分别是服务,套接字,设备,安装,自动安装,目标和快照。
要在systemd下自省和/或控制系统和服务管理器的状态,主要工具或命令是“系统控制”。开机时 系统的 激活default.target。 default.target的工作是通过考虑不同的服务和其他单元的依赖性来激活它们。 ‘系统.unit =命令行选项可解析内核参数,以覆盖要激活的单元。例如,
系统的.unit = 救援目标是用于设置基本系统和救援外壳的特殊目标单元(类似于运行级别1);
系统的.unit = 紧急目标与传递init = / bin / sh非常相似,但是可以从那里引导整个系统。
系统的.unit = 多用户目标,用于设置非图形多用户系统;
系统的.unit = 图形目标用于设置图形登录屏幕。
如何启用/禁用Linux服务
以下是用于在CentOS,Redhat Enterprise 的Linux和Fedora系统中启用或禁用服务的命令:
立即激活服务,例如后缀:
[root @ gateway〜]# 服务后缀启动
开始后缀:[ 好 ]
开始后缀:[ 好 ]
要立即停用服务,例如后缀:
[root @ gateway〜]# 服务后缀停止
关闭后缀:[ 好 ]
关闭后缀:[ 好 ]
要立即重启服务,例如后缀:
[root @ gateway〜]# 服务后缀重启
关闭后缀:[失败]
开始后缀:[ 好 ]
关闭后缀:[失败]
开始后缀:[ 好 ]
您可能已经注意到“ 失败”消息。这是正常现象,因为我们使用第一个命令关闭了postfix服务(service postfix stop),因此第二次关闭它自然会失败!
确定在启动时启用了哪些Linux服务
此输出的第一列是当前在引导时启用的服务的名称。查看列出的每个服务,以确定是否可以将其禁用。
如果适合禁用服务,请使用以下命令:
[root @ gateway〜]#
chkconfig -level servicename 的f
运行以下命令以获取所有编程为在系统的不同运行级别中运行的服务的列表:
[root @ gateway〜]#
chkconfig --list | grep :on
网络Manager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
abrtd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
avahi-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
cpuspeed 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off
haldaemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
httpd 0:off 1:off 2:off 3:on 4:off 5:off 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
irqbalance 0:off 1:off 2:off 3:on 4:on 5:on 6:off
这些服务中的几个是必需的,但其他几个服务在您的环境中可能无法满足任何目的,并使用可以更好地分配给应用程序的CPU和内存资源。假设您没有RPC服务,autofs或NFS,则可以使用以下命令为所有运行级别禁用它们:
[root @ gateway〜]#
[root @ gateway〜]#
[root @ gateway〜]#
[root @ gateway〜]#
[root @ gateway〜]#
[root @ gateway〜]#
[root @ gateway〜]#
[root @ gateway〜]#
[root @ gateway〜]#
[root @ gateway〜]#
/ sbin / chkconfig –级别0123456端口映射关闭[root @ gateway〜]#
/ sbin / chkconfig –级别0123456 nfslock关闭[root @ gateway〜]#
/ sbin / chkconfig –级别0123456端口映射关闭[root @ gateway〜]#
/ sbin / chkconfig –级别0123456 netfs 的f[root @ gateway〜]#
/ sbin / chkconfig –级别0123456端口映射关闭[root @ gateway〜]#
/ sbin / chkconfig –级别0123456 rpcgssd关闭[root @ gateway〜]#
/ sbin / chkconfig –级别0123456端口映射关闭[root @ gateway〜]#
/ sbin / chkconfig –级别0123456 rpcid映射关闭[root @ gateway〜]#
/ sbin / chkconfig –级别0123456端口映射关闭[root @ gateway〜]#
/ sbin / chkconfig –级别0123456 autofs关闭如何更改运行级别
您可以切换到 运行级别3 通过运行:
[root @ gateway〜]# 系统控制隔离多用户目标
(要么)
[root @ gateway〜]# 系统控制隔离runlevel3.target
您可以切换到 运行级别5 通过运行:
[root @ gateway〜]# 系统控制隔离图形目标
(要么)
[root @ gateway〜]# 系统控制隔离runlevel5.target
如何使用Systemd更改默认运行级别
系统的使用符号链接指向默认运行级别。您必须先删除现有的符号链接,然后才能创建新的符号链接: [root @ gateway〜]# rm /etc/systemd/system/default.target
切换到 运行级别3 默认:
[root @ gateway〜]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
切换到 运行级别5 默认:
[root @ gateway〜]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
而且,以防万一您想知道,systemd不使用经典的/ etc / inittab文件。
如何使用Inittab文件更改默认运行级别
有 系统化 当然, 初始化表 道路。在这种情况下,运行级别由 / etc / inittab 文本文件。始终从以下位置指定默认运行级别 / etc / inittab 文本文件。
要更改fedora中的默认运行级别,请编辑 / etc / inittab 并找到如下所示的行: id:5:initdefault:
数字5表示启用X的运行级别(主要是GNOME / KDE)。如果要更改为运行级别3,只需更改此设置
id:5:initdefault:
对此
对此
id:3:initdefault:
保存并重新启动您的Linux机器。现在,您的Linux机器将在运行级别3(没有X或GUI的运行级别)上重启。避免更改默认值 / etc / iniittab 运行级别值 0 要么 6 .
使用Linux编辑器有困难的用户还可以阅读我们有关如何使用的文章 六,流行的Linux编辑器: 的Linux VIM / 六编辑器-教程-基本& Advanced Features.
回到 的Linux管理部分