Ubuntu运行级别
Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作。

运行级别(Runlevel)指的是Unix或者Linux等类Unix操作系统下不同的运行模式。

运行级别通常分为7等,分别是从0到6,但如果必要的话也可以更多。

例如在大多数linux操作系统下一共有如下6个典型的运行级别:

0 停机

1 单用户,Does not configure network interfaces, start daemons, or allow non-root logins

2 多用户,无网络连接 Does not configure network interfaces or start daemons

3 多用户,启动网络连接 Starts the system normally.

4 用户自定义

5 多用户带图形界面

6 重启

查看当前系统的运行级别可以使用命令runlevel

runlevel

切换运行级别,执行命令:

init [0123456Ss]

( 即在 init 命令后跟一个参数,此参数是要切换到的运行级的运行级代号,如:用 init 0 命令关机;用 init 6 命令重新启动。)

Linux 系统主要启动步骤
1. 读取 MBR 的信息,启动 Boot Manager
Windows 使用 NTLDR 作为 Boot Manager,如果您的系统中安装多个
版本的 Windows,您就需要在 NTLDR 中选择您要进入的系统。
Linux 通常使用功能强大,配置灵活的 GRUB 作为 Boot Manager。
2. 加载系统内核,启动 init 进程
init 进程是 Linux 的根进程,所有的系统进程都是它的子进程。
3. init 进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别,
按顺序运行该运行级别对应文件夹下的脚本。脚本通常以 start 参数启
动,并指向一个系统中的程序。
通常情况下, /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是
/etc/rcN.d/ 目录。例如您设定的运行级别为 3,那么它对应的启动
目录为 /etc/rc3.d/ 。
4. 根据 /etc/rcS.d/ 文件夹中对应的脚本启动 Xwindow 服务器 xorg
Xwindow 为 Linux 下的图形用户界面系统。
5. 启动登录管理器,等待用户登录
Ubuntu 系统默认使用 GDM 作为登录管理器,您在登录管理器界面中
输入用户名和密码后,便可以登录系统。(您可以在 /etc/rc3.d/
文件夹中找到一个名为 S13gdm 的链接)

Ubunto中的运行级别
在Debian Linux中2-5这四个运行级别都集中在级别2上。这个级别也是系统预设的正常运行级别。

(注:对于这些运行级别我们不必太过纠结与到底什么意思,只需要知道在Debian/Ubuntu(Ubuntu是Debian的分支)Linux中默认都是在级别(Runlevel)2启动的)

在Debian Linux中,下列路径对应不同的运行级别。当系统启动时,通过其中的脚本文件来启动相应的服务。
/etc/rc0.d Run level 0
/etc/rc1.d Run level 1
/etc/rc2.d Run level 2
/etc/rc3.d Run level 3
/etc/rc4.d Run level 4
/etc/rc5.d Run level 5
/etc/rc6.d Run level 6
下面我们去/etc/目录下寻找这些目录,在终端中输入

ls /etc/rc*

对于以K开头的文件,系统将终止对应的服务;
对于以S开头的文件,系统将启动对应的服务;

现在对于Debian/Ubuntu Linux的启动过程大家应该有所了解,总结一下:

在/etc/rc0.d~rc6.d目录下存放的分别是运行在0~6个运行级时要启动的服务有关的文件,由于Ubuntu默认是在runlevel 2启动的,那么我们之需要修改rc2.d中的文件,从而禁止某些服务启动,例如apache2

安装sysv-rc-conf
在Ubuntu下用apt-get安装,非常简单

sudo apt-get install sysv-rc-conf

运行

sudo sysv-rc-conf

第一行service后面是运行级别,有1,2,3,4,5,0,6,S,与之前介绍的运行级别基本符合,最后一项这里不做介绍

图中打X的即表示运行在对应Runlevel时开机启动的服务,这里我们可以看到apache2在Runlevel2,3,4,均为开机启动,

对应到之前/etc/rc2.d~/etc/rc5.d目录下均为S91apache2文件,再次验证了之前的内容

将光标移动到apache2那行的第2列,按空格进行将启动项反选

常见的系统服务信息

acpi-support 高级电源管理支持

acpid acpi 守护程序.这两个用于电源管理,非常重要
alsa 声音子系统
alsa-utils
anacron cron 的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行。
apmd acpi 的扩展
atd 类似于 cron 的任务调度系统。建议关闭
binfmt-support 核心支持其他二进制的文件格式。建议开启
bluez-utiles 蓝牙设备支持
bootlogd 启动日志。开启它
cron 任务调度系统,建议开启
cupsys 打印机子系统。
dbus 消息总线系统(message bus system)。非常重要
dns-clean 使用拨号连接时,清除 dns 信息。
evms 企业卷管理系统(Enterprise Volumn Management system)
fetchmail 邮件用户代理守护进程,用于收取邮件
gdm gnome 登录和桌面管理器。
gdomap
gpm 终端中的鼠标支持。
halt 别动它。
hdparm 调整硬盘的脚本,配置文件为 /etc/hdparm.conf。
hibernate 系统休眠
hotkey-setup 笔记本功能键支持。支持类型包括: HP, Acer, ASUS, Sony,Dell, 和 IBM。
hotplug and hotplug-net 即插即用支持,比较复杂,建议不要动它。
hplip HP 打印机和图形子系统
ifrename 网络接口重命名脚本。如果您有十块网卡,您应该开启它
inetd 在文件 /etc/inetd.conf 中,注释掉所有你不需要的服务。如果该文件不包含任何服务,那关闭它是很安全的。
klogd 重要。
linux-restricted-modules-common 受限模块支持。
/lib/linux-restricted-modules/ 文件夹中的模块为受限模块。例如某些驱动程序,如果您没有使用受限模块,就不需要开启它。
lvm 逻辑卷管理系统支持。
makedev 创建设备文件,非常重要。
mdamd 磁盘阵列
module-init-tools 从/etc/modules 加载扩展模块,建议开启。
networking 网络支持。按 /etc/network/interfaces 文件预设激活网络,非常重要。
ntpdate 时间同步服务,建议关闭。
pcmcia pcmcia 设备支持。
powernowd 移动 CPU 节能支持
ppp and ppp-dns 拨号连接
readahead 预加载库文件。
reboot 别动它。
resolvconf 自动配置 DNS
rmnologin 清除 nologin
rsync rsync 守护程序
sendsigs 在重启和关机期间发送信号
single 激活单用户模式
ssh ssh 守护程序。建议开启
stop-bootlogd 在 2,3,4,5 运行级别中停止 bootlogd 服务
sudo 检查 sudo 状态。重要
sysklogd 系统日志
udev & udev-mab 用户空间 dev 文件系统(userspace dev filesystem)。重要
umountfs 卸载文件系统
urandom 随机数生成器
usplash 开机画面支持
vbesave 显卡 BIOS 配置工具。保存显卡的状态
xorg-common 设置 X 服务 ICE socket。
adjtimex 调整核心时钟的工具
dirmngr 证书列表管理工具,和 gnupg 一起工作。
hwtools irqs 优化工具
libpam-devperm 系统崩溃之后,用于修理设备文件许可的守护程序。
lm-sensors 板载传感器支持
mdadm-raid 磁盘陈列管理器
screen-cleanup 清除开机屏幕的脚本
xinetd 管理其他守护进程的一个 inetd 超级守护程序
---------------------
作者:JeanCheng
来源:CSDN
原文:https://blog.csdn.net/gatieme/article/details/45251389
版权声明:本文为博主原创文章,转载请附上博文链接!

转载:ubuntu系统启动顺序,常见系统服务说明的更多相关文章

  1. ubuntu和windows双系统启动顺序的修改

    ubuntu和windows双系统启动顺序的修改 说到启动就不得不说GRUB,Linux下大名鼎鼎的启动管理工具(曾经的LILO已经风光不再),当然现在已经是GRUB2了,GRUB2和GRUB最重要的 ...

  2. Ubuntu系统启动后停在(initramfs)

    问题 今天我在启动虚拟机过程 遇到莫名其妙的问题,启动不了.如下图.提示某个文件系统错误了.例如我的就是 /dev/mapper/vagrant--vg-root . 上面问题 可把我急坏了,以为虚拟 ...

  3. ubuntu设置nginx为系统服务

    ubuntu设置nginx为系统服务,如果没有设置为系统服务,无法执行 sudo service nginx startsudo service nginx stop 设置为系统服务命令 sudo u ...

  4. 更改ubuntu多系统启动顺序

    电脑上双系统,启动时界面如下 ubuntu advance ubuntu option windows 在/boot/grub/grub.cfg中,查看到可以简单的修改/etc/defaulg/gru ...

  5. win10 ubuntu 双系统启动顺序设置

    之前安装ubuntu的时候就遇到过这个问题, 当时解决了,设置成开始可以选择启动ubuntu系统还是win系统. 但是过了好久后又忘记了,最近win10开了一次安全模式启动后,一开机就是win10,u ...

  6. Android系统启动顺序

    Android是一个基于Linux的开源操作系统.x86(x86是一系列的基于intel 8086 CPU的计算机微处理器指令集架构)是linux内核部署最常见的系统.然而,所有的Android设备都 ...

  7. Ubuntu系统启动过程详解

    作者:杨硕,华清远见嵌入式学院讲师. 一. Ubuntu的启动流程 ubuntu的启动流程和我们熟知的RedHat的启动方式有所区别. RedHat的启动过程如下图: 这是我们熟知的linux启动流程 ...

  8. ubuntu10.10和windows双系统启动顺序的修改

    我想大部分童鞋装ubuntu的时候,硬盘上的windows肯定还是保留着的,启动电 脑时可以选择,想进windows就进windows,想进ubuntu就进ubuntu.但装完ubuntu后,它默认启 ...

  9. [转载]Ubuntu下apache的安装与配置

    原文地址:https://blog.csdn.net/gatieme/article/details/53025505 1 安装apache 在 Ubuntu 上安装 Apache,有两种方式 使用源 ...

随机推荐

  1. Kubernetes 及安装注意事项

    Docker Desktop for Mac/Windows开启Kubernetes 及安装注意事项 Table of Contents 1 解决方案 2 注意事项 2.1 Choose Kubeco ...

  2. 使用echarts绘制条形图和扇形图

    使用echarts绘制条形图和扇形图 简单举例说明下echarts如何绘制条形图和扇形图 代码示例 <!doctype html> <html lang="en" ...

  3. C# FluentFTP类上传下载文件

    前言:最近要实现从FTP服务器下载和上传文件,在网上搜了一下据说 FluentFTP 是个客户端FTP功能的实现,使用还比较顺畅,所以对此展开研究,无奈网上给出的案例并没有想象中的那么简洁,所以想着自 ...

  4. 使用 Redis 的 sorted set 实现用户排行榜

    要求:实现一个用户排行榜,用户数量有很多,排行榜存储的是用户玩游戏的分数,对排行榜的读取压力比较大,如何实现? 思路分析: 实现排行榜,可以考虑使用 Redis 的 zset 结构: 用户数量很多的话 ...

  5. Spring Boot Web 自定义返回值(通用)

    在项目下新建common.entity包,包中包含两个文件Result数据类,ResultCode接口文件 Result.class @Data @NoArgsConstructor public c ...

  6. 对一次 redis 未授权写入攻击的分析以及学习

    前段时间自己使用 redis 开发的时候,搞了一个 docker ,然后直接开放连接没有密码,其实一开始我就知道会被黑产扫到然后给我种马,但是把因为也是测试服务,其实也没怎么上心,于是就放任自由了,结 ...

  7. java之spring之helloword

    这篇文章主要讲 spring的基础的使用案例 项目整体目录结构: 1.新建一个java项目:spring_helloworld 2.在项目下创建一个lib文件夹,并把一些必须的jar包复制过去 新建l ...

  8. 关于.Net使用企业库访问MySql数据库

    关于.Net使用企业库访问MySql数据库 在网上看了很多又重写又加WebConfig中的内容,其实不用那么麻烦 企业库5.0访问MySql数据库只需要在Web服务器安装mysql-connector ...

  9. MySQL和SQL Server一些基本用法区别

    具体查看:https://www.cnblogs.com/zhaow/articles/9633554.html 转自:https://www.cnblogs.com/zhaow/articles/9 ...

  10. Dijkstra堆优化+邻接表

    Dijkstra算法是个不错的算法,但是在优化前时间复杂度太高了,为O(nm). 在经过堆优化后(具体实现用的c++ STL的priority_queue),时间复杂度为O((m+n) log n), ...