linux 开机启动设置
操作系统:Ubuntu12.04
硬件环境:HP CQ45
当用户使用sudo apt-get install安装完apache和mysql之后,这些服务默认是开机启动的,但是有的时候需要关闭这些服务的开机启动。
首先普及一个概念,以下转自维基百科:
运行级别(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 重启
在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/目录下寻找这些目录,在终端中输入:
hp@hp-Compaq-Presario-CQ45-Notebook-PC:~$ ls /etc/rc*
/etc/rc.local
/etc/rc0.d:
K09apache2 K20winbind S30urandom S40umountfs
K10unattended-upgrades README S31umountnfs.sh S60umountroot
K20speech-dispatcher S20sendsigs S35networking S90halt
/etc/rc1.d:
K09apache2 K20kerneloops K20winbind S70dns-clean
K15pulseaudio K20saned README S70pppd-dns
K20acpi-support K20speech-dispatcher S30killprocs S90single
/etc/rc2.d:
README S50pulseaudio S70pppd-dns S99grub-common
S20kerneloops S50rsync S75sudo S99ondemand
S20speech-dispatcher S50saned S91apache2 S99rc.local
S20winbind S70dns-clean S99acpi-support
/etc/rc3.d:
README S50pulseaudio S70pppd-dns S99grub-common
S20kerneloops S50rsync S75sudo S99ondemand
S20speech-dispatcher S50saned S91apache2 S99rc.local
S20winbind S70dns-clean S99acpi-support
/etc/rc4.d:
README S50pulseaudio S70pppd-dns S99grub-common
S20kerneloops S50rsync S75sudo S99ondemand
S20speech-dispatcher S50saned S91apache2 S99rc.local
S20winbind S70dns-clean S99acpi-support
/etc/rc5.d:
README S50pulseaudio S70pppd-dns S99grub-common
S20kerneloops S50rsync S75sudo S99ondemand
S20speech-dispatcher S50saned S91apache2 S99rc.local
S20winbind S70dns-clean S99acpi-support
/etc/rc6.d:
K09apache2 K20winbind S30urandom S40umountfs
K10unattended-upgrades README S31umountnfs.sh S60umountroot
K20speech-dispatcher S20sendsigs S35networking S90reboot
/etc/rcS.d:
README S25brltty S37apparmor S55urandom S70x11-common
代码中带色彩并用下划线标注的内容是与apache服务有关的文件,可以看到在rc1.d rc6.d中为K09apache2,在rc2.d rc3.d rc4.d rc5.d中为S91apache2,下面简单介绍一下K09apache2与S91apache2的意思:
对于以K开头的文件,系统将终止对应的服务;
对于以S开头的文件,系统将启动对应的服务;
现在对于Debian/Ubuntu Linux的启动过程大家应该有所了解,总结一下:
在/etc/rc0.d~rc6.d目录下存放的分别是运行在0~6个运行级时要启动的服务有关的文件,由于Ubuntu默认是在runlevel 2启动的,那么我们之需要修改rc2.d中的文件,从而禁止apache服务启动。回顾刚才/etc/rc2.d目录下的文件可以发现与apache2有关的文件是S91apache2,而之前简单介绍过以S开头的文件,系统将启动对应的服务。所以我们要做的是把S91apache2修改成以K******,但是我们并不知道应该修改成多少,这里我们需要借助一个管理工具进行管理,即sysv-rc-conf。
在Ubuntu下用apt-get安装,非常简单
hp@hp-Compaq-Presario-CQ45-Notebook-PC:/etc$ sudo apt-get install sysv-rc-conf
接下来打开sysv-rc-conf
hp@hp-Compaq-Presario-CQ45-Notebook-PC:/etc$ sudo sysv-rc-conf
(注意:由于这里需要修改系统有关的内容,所以需要使用sudo,即root权限打开)
配置界面简洁明了:
第一行service后面是运行级别,有1,2,3,4,5,0,6,S,与之前介绍的运行级别基本符合,最后一项这里不做介绍
图中打X的即表示运行在对应Runlevel时开机启动的服务,这里我们可以看到apache2在Runlevel2,3,4,5均为开机启动,对应到之前/etc/rc2.d~/etc/rc5.d目录下均为S91apache2文件,再次验证了之前的内容,将光标移动到apache2那行的第2列,按空格进行将启动项反选
按q退出之后配置即完成。现在我们再来看一下/etc/rc2.d/目录下的内容:
hp@hp-Compaq-Presario-CQ45-Notebook-PC:/etc$ ls /etc/rc2.d/
K09apache2 S20winbind S70dns-clean S99grub-common
README S50pulseaudio S70pppd-dns S99ondemand
S20kerneloops S50rsync S75sudo S99rc.local
S20speech-dispatcher S50saned S99acpi-support
现在已经出现了K09apache2文件,而之前的S91apache2文件不在了,到这里配置成功。
重启之后查看apache服务运行状态:
下面关于mysql的启动配置有所区别:
10.04以后把MySql的启动连接到了/lib/init/upstart-job,而后者是调用了/etc/init/mysql.conf文件里面关于开机的定义,这是新的框架,所以以前的方法不管用,我们需要修改mysql.conf文件,首先查看该文件:
hp@hp-Compaq-Presario-CQ45-Notebook-PC:/etc$ sudo vi /etc/init/mysql.conf
# MySQL Service
description "MySQL Server"
author "Mario Limonciello <superm1@ubuntu.com>"
这里用红色粗体字标注出了运行级别,我们只需把该行修改成start on runlevel [345](注意这里需要sudo权限), 也就是删除了runlevel 2。
重启后查看mysql服务运行状态:
参考链接
http://space.itpub.net/370491/viewspace-216954
http://wowubuntu.com/ubuntu1004-close-mysql.html
http://zh.wikipedia.org/wiki/%E8%BF%90%E8%A1%8C%E7%BA%A7%E5%88%AB
linux 开机启动设置的更多相关文章
- linux开机启动设置的几种方法
Linux开机自启动的几种方式: 1.chkconfig 以supervisord服务脚本为例: 第1步:把上面的脚本放在/etc/init.d/文件 ln -s ./supervisord /et ...
- Linux 开机启动
Linux开机启动(bootstrap) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 计算机开机是一个神秘的过程.我们只是 ...
- linux 开机启动过程详解
Linux开机执行内核后会启动init进程,该进程根据runlevel(如x)执行/etc/rcx.d/下的程序,其下的程序是符号链接,真正的程序放在/etc/init.d/下.开机启动的程序(服务等 ...
- linux开机启动
开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程.分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当你打开计算机电源,计算机 ...
- Linux开机启动程序详解
Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...
- Linux开机启动程序详解[转]
Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤 ...
- linux系统设置服务开机启动3种方法,Linux开机启动程序详解
linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图 方法2:利用命令行chkconfig命令进行设置 简要说明 ...
- LINUX开机启动过程
LINUX开机启动过程 启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息 ...
- Linux开机启动十步骤
启动第一步--加载BIOS 启动第二步--读取MBR 启动第三步--Boot Loader 启动第四步--加载内核 启动第五步--用户层init依据inittab文件来设定运行等级 启动第六步--in ...
随机推荐
- C#创建桌面快捷方式 和 开机启动
/// <summary> /// 创建桌面快捷方式 2010-11-25 /// </summary> p ...
- 洛谷 P1025 数的划分 Label:dp
题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法. 输 ...
- POJ 3280 Cheapest Palindrome(DP)
题目链接 被以前的题目惯性思维了,此题dp[i][j],代表i到j这一段变成回文的最小花费.我觉得挺难的理解的. #include <cstdio> #include <cstrin ...
- [BZOJ 3145][Feyat cup 1.5]Str 解题报告
[Feyat cup 1.5]Str DescriptionArcueid,白姬,真祖的公主.在和推倒贵看电影时突然对一个问题产生了兴趣:我们都知道真祖和死徒是有类似的地方.那么从现代科学的角度如何解 ...
- 李洪强-C语言关键字、标识符和注释
一.关键字 C语言提供的有特殊含义的符号,共32个. 在Xcode中关键字全部高亮显示,关键字全部都为小写.如return.int等. 二.标识符 定义:标识符是程序员在程序中自定义的一些符号和名称. ...
- 编写一个名为Test的主类,类中只有一个主方法; 在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1, 3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一 个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。
package liu0915; import java.util.Random; public class Test0915sz { public static void main(String[] ...
- shenyi 语录
[讲师]沈逸(65480539) 2016-06-08 14:58:42 会centos 转redhat是分分钟的事 [讲师]沈逸(65480539) 2016-06-08 14:58:54 查看 ...
- 3. PHP
安装: apt-get install php5-fpm php5-mysql 配置: vi /etc/php5/fpm/php.ini cgi.fix_pathinfo=0 vi /etc/ ...
- angular+selecte2(angular ng-repeat渲染)
一.页面代码 <select id="sponsorId" select2 ng-model="sponsorSelectedObj" ng-change ...
- HDU 2089 数位dp入门
开始学习数位dp...一道昨天看过代码思想的题今天打了近两个小时..最后还是看了别人的代码找bug...(丢丢) 传说院赛要取消 ? ... 这么菜不出去丢人也好吧~ #include<stdi ...