Linux系统——运行级别
学习之前先了解下Linux系统的运行级别和其原理,博主使用的是Linux系统中的Redhat9.0版本,之后的学习也是基于这个系统版本。
Linux系统的7个运行级别(runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
运行级别的原理:
1。在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)
2。在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
3。rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
4。系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件
对于以K开头的文件,系统将终止对应的服务
对于以S开头的文件,系统将启动对应的服务
5。查看运行级别用:runlevel
6。进入其它运行级别用:init N
7。另外init0为关机,init 6为重启系统
由于现在的Linux系统安装完后就运行在第5个级别,即系统启动后直接进入图形界面,而不用在字符模式下登录后用startx或者xinit 来起动图形界面。建议在系统安装完成后把系统的默认运行等级设置在第3级,在字符终端登录后,再手工输入startx 命令起动图形界面。可以用如下的方法修改:
用文本编辑器修改 /etc/inittab文件,把
代码:
id:5:initdefault:这一行,修改成
代码:
id:3:initdefault:保存后就reboot重起,系统就默认启动到字符界面。不同运行级别之间的 差别的在于系统默认起动的服务的不同,如运行级别3默认不启动X图形界面服务,而运行级别5 却默认起动。本质上是没有区别的,更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别,用户都可用init 命令来切换到其他运行级别。
具体操作过程:
- 虚拟机安装Redhat9.0版本(网上自行搜索教程,要镜像文件可以私信我)
- 系统启动后默认进入级别5(图形界面),之后的实验在此级别上展开
系统运行级的查看,可以通过执行命令方式或查看配置文件方式实现:
(1).执行命令方式:用runlevel命令可以查看以前和当前系统的运行级。 在命令行下输入 runlevel 命令,它查看的是/etc/run/utmp 文件,并在标准输出设备上输出以前和当前运行级情况,如下图所示:
N 5表示以前运行级未知,当前运行级为5,也就是当前运行级为自动启动的XFree86系统(图形方式)。
用vi编辑器打开文件etc/inittab
修改系统默认级别具体方法: 用方向键将光标移动到id:5:initdefault:一行,放到5上,Delete——>Insert 3 , 修改后结果id:3:initdefault——>Esc——>Shift——>:wq(保存并退出)——>输入命令reboot,重启后进入级别3(由于切换系统级别时后台会改变一些配置文件,因此过程会稍慢,请耐心等待)
进入系统级别3,登录用户名和密码
注意,这里输入密码是不会显示的,输入密码后直接回车
登录成功以后的界面↓,以后启动电脑后默认都是进的这个界面
(2).查看配置文件的方式,查看配置文件的方式只能查看系统当前的运行级,系统的配置文件是/etc/inittab: 我们可以通过文件编辑器打开,也可以使用打开文件的命令来查看,在命令行下输入:gedit /etc/inittab,即:(下图引用于:http://blog.csdn.net/u012561176/article/details/44248945)
看到上图红色箭头指向框框处,id:5:initdefault:,这行中的5表示当前默认的系统运行级为5,直接修改为3即可,保存,reboot,同样修改了默认系统级别为3,效果同上.
系统级别之间的快速互相切换:
演示一个级别3——>5的切换:终端命令行直接输入命令init N(N为数字0-6,不要输入0或者6),这里输入init 5,回车,进入系统级别5的图形界面,打开终端,输入命令runlevel,结果如下图所示,完成3——5的切换,其它级别互相切换同理:
- 管理系统服务
在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service);在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别.
- 终端输入命令chkconfig --list,查看各运行级别服务启动情况
附:Linux系统服务简述和作用:
http://files.cnblogs.com/files/lj-cn/Linux%E7%B3%BB%E7%BB%9F%E6%9C%8D%E5%8A%A1.js
2.如果需要自启动某些服务,只需输入chkconfig 服务名 on即可,若想关闭,将on改为off
注:在默认情况下,chkconfig会自启动2345这四个级别,如果想自定义可以加上--level选项
3.下面我们先将random服务的所有启动级别关闭,然后使用--level选项启动自定义级别
部分内容引用自该文章,转载请注明出处!
Linux系统——运行级别的更多相关文章
- Linux系统运行级别和关机重启命令介绍
Linux系统运行级别介绍 Linux系统有七种运行级别(Run Level),各个运行级别下,系统有不同的状态,各个级别的意义描述如下. 0:关键级别1:单用户运行级别,运行rc.sysinit和r ...
- 『学了就忘』Linux启动引导与修复 — 68、Linux系统运行级别
目录 1.Linux系统运行级别介绍 2.查看运行级别 3.修改当前系统的运行级别 4.系统默认运行级别 5./etc/rc.d/rc.local文件说明 1.Linux系统运行级别介绍 Linux默 ...
- linux 系统运行级别及修改[转]
Linux运行级别从0-6,共7个. 0:关机.不能将系统缺省运行级别设置为0,否则无法启动. 1:单用户模式,只允许root用户对系统进行维护. 2:多用户模式,但不能使用NFS(相当于Window ...
- Linux系统运行级别配置
Linux的运行级别 Linux的运行级别有七种,可以通过查看/etc/inittab文件进行了解: Level0:系统停机状态,默认系统运行级别不能设置为0,否则系统不能正常启动: Level1:单 ...
- Linux 系统运行级别
Linux运行级别从0-6,共7个. 0:关机.不能将系统缺省运行级别设置为0,否则无法启动. 1:单用户模式,只允许root用户对系统进行维护. 2:多用户模式,但不能使用NFS(相当于Win ...
- linux 系统运行级别(转)
Linux系统有7个运行级别(runlevel)运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆运行级别2:多 ...
- linux 系统运行级别一般为 0-6,请分别写出每个级别的含义
每个运行级别的含义 0 关机模式(不要把启动级别 运行级别设置为0) 1 单用户模式 2 无NFS多用户模式 3 文本模式(命令行模式,完整的多用户模式) 4 未使用的 5 ...
- Linux系统运行级别
- 第14章 Linux启动管理(1)_系统运行级别
1. CentOS 6.x 启动管理 (1)系统运行级别 ①运行级别 运行级别 含义 0 关机 1 单用户模式,可以想象为Windows的安全模式,主要用于系统修复.(但不是Linux的安全模式) 2 ...
随机推荐
- 《物联网框架ServerSuperIO教程》-20.网络通讯控制器分组,提高交互的负载平衡能力。v3.6.6 版本发布
20.1 概述 ServerSuperIO原来在网络通讯模式下,只有一个网络控制器,在自控模式.并发模式和单例模式下时都是异步处理返回的数据,并不会出现性能问题.但是在轮询模式下,一个网络控制 ...
- [Leetcode] Sort, Hash -- 274. H-Index
Given an array of citations (each citation is a non-negative integer) of a researcher, write a funct ...
- python http长连接客户端
背景: 线上机器,需要过滤access日志,发送给另外一个api 期初是单进程,效率太低,改为多进程发送后,查看日志中偶尔会出现异常错误(忘记截图了...) 总之就是端口不够用了报错 原因: 每一条日 ...
- python学习-面向对象
面向对象 编程方式的区别 过程式编程 函数式编程 面向对象式编程 面向对象编程 对象是类的一个实例 创建 class foo(): def __init__(self): #类的构造方法 pass d ...
- php 可变函数
//可变函数 function Test(){ $arr = func_get_args(); //获取所有参数 ,返回数组 $sum=0; for($i ...
- 在Ubuntu中设置DNS域名服务器端
在Ubuntu中设置DNS域名服务器主要有四种方法: 一.设置全局静态DNS $ sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的),插入: n ...
- Hibernate入门(二)
一 Hibernate使用注解 可以使用注解创建Hibernate程序,使用注解的优点是不用创建映射文件,直接创建对象的关联. 使用hibernate注解需要导入注解相关的JAR包. 1.下载JAR包 ...
- 微信 python 接口 -- itchat 文档
itchat 一. 安装 $ pip install itchat 特殊的字典使用方式 通过打印 itchat 的用户以及注册消息的参数, 可以发现这些值都是字典. 但实际上 itchat 精心构造了 ...
- Dockerfile命令详解(超全版本)
制作Dockerfile为Docker入门学习的第一步(当然,除了环境搭建). 本文收集.整理了官网关于制作Dockerfile的全部命令(除SHELL没整理,这个就不弄了),可帮助大家快速进入Doc ...
- java 抛出异常
这种方式serviceImpl 方法不用throws异常,比较方便 if(count>0){ //或者 IllegalArgumentException java的 throw new Ille ...