ubuntu 关闭开机启动服务

    当用户使用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 [2345]
stop on starting rc RUNLEVEL=[016]

respawn
respawn limit 2 5
这里用红色粗体字标注出了运行级别,我们只需把该行修改成start on runlevel [345](注意这里需要sudo权限), 也就是删除了runlevel 2。

重启后查看mysql服务运行状态:

转自:http://blog.163.com/thinki_cao/blog/static/839448752012112694037995/

### 如何优化 Ubuntu 系统以加快开机启动速度 #### 禁用不必要启动项 禁用不需要的服务和应用程序能够显著减少系统启动时间。通过 `systemctl` 或者图形界面中的启动应用管理器来关闭这些服务。 对于命令行操作,可以使用如下指令查看当前激活的服务列表并停用不必要的一项: ```bash sudo systemctl list-unit-files --type=service | grep enabled sudo systemctl disable <serviceName>.service ``` 其中 `<serviceName>` 是要停止自动加载的具体服务名称[^1]。 #### 修改GRUB引导菜单设置 编辑 `/etc/default/grub` 文件内的参数也可以帮助提升启动效率。具体来说就是移除默认显示进度条的文字模式提示信息,这可以通过更改下面两行实现: ```bash # 将这一行 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" # 改成为空字符串或者仅保留 "splash" 如果希望保持图形化动画效果 GRUB_CMDLINE_LINUX_DEFAULT="" ``` 完成修改之后记得更新 grub 配置使之生效: ```bash sudo update-grub ``` 此改动会使得内核加载过程更加简洁快速[^4]。 #### 使用分区管理工具GParted调整磁盘布局 有时硬盘上的数据分布也会影响读取性能进而影响到整个系统的响应速度。利用 GParted 工具可以帮助整理磁盘空间以及修复可能存在的文件系统错误等问题。首先需要安装该软件包: ```bash sudo apt-get install gparted ``` 然后运行它来进行必要的维护工作: ```bash sudo gparted ``` 请注意,在执行任何涉及重新分配或移动分区的操作前务必备份重要资料以防万一发生意外丢失情况[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值