chkconfig 安装
开始的时候因为Raspbian的原因,系统是不自带chkconfig这个命令的,
root@raspberrypi:~# chkconfig
-bash: chkconfig: command not found
所以要手动安装一下才行,
安装很简单apt-get install chkconfig即可,
安装过程如下:
root@raspberrypi:~# apt-get install chkconfig
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
chkconfig
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 9766 B of archives.
After this operation, 59.4 kB of additional disk space will be used.
Get:1 http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie/main chkconfig all 11.4.54.60.1debian1 [9766 B]
Fetched 9766 B in 0s (20.1 kB/s)
Selecting previously unselected package chkconfig.
(Reading database ... 120673 files and directories currently installed.)
Preparing to unpack .../chkconfig_11.4.54.60.1debian1_all.deb ...
Unpacking chkconfig (11.4.54.60.1debian1) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up chkconfig (11.4.54.60.1debian1) ...
使用chkconfig
下面是chkconfig的命令帮助
使用语法:
chkconfig [–add][–del][–list][系统服务] 或 chkconfig [–level <等级代号>][系统服务][on/off/reset]
chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。
参数用法:
–add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
–del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
–level <等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
开机禁用某服务
再此以minidlna为例,
先看看minidlna服务现在的运行情况
root@raspberrypi:~# chkconfig -l | grep mini
minidlna 0:off 1:off 2:on 3:on 4:on 5:on 6:off
从level 2 – 5 全部禁用。
使用命令chkconfig --level 2345 minidlna off,
并且在查询一遍服务状态,如下:
root@raspberrypi:~# chkconfig --level 2345 minidlna off
root@raspberrypi:~# chkconfig -l | grep mini
minidlna 0:off 1:off 2:off 3:off 4:off 5:off 6:off
为了节省树莓派2b可怜的512mb内存,我还顺便禁用了ftp和mysql服务。
事后,重启,查看服务状态
因为我是用的 lnmp 一键安装包装的环境,
所以我是用lnmp status和lnmp pureftpd status来查看服务状态。
查看下内存使用,果然少用了几十兆,嘿嘿。
例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for
# higher quality random number generation.
使用范例:
chkconfig --list #列出所有的系统服务
chkconfig --add httpd #增加httpd服务
chkconfig --del httpd #删除httpd服务
chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
chkconfig --list #列出系统所有的服务启动情况
chkconfig --list mysqld #列出mysqld服务设置情况
chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级
如何增加一个服务:
1.服务脚本必须存放在/etc/ini.d/目录下;
2.chkconfig --add servicename
在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了;
3.chkconfig --level 35 mysqld on
修改服务的默认启动等级。