chkconfig 与 service的区别

 


  在某项目中,使用ubuntu系统,离线方式,需要到chkconfig,突然想到该命令与service的区别,在此一一阐述;

  (1)安装chkconfig,离线包安装(离线包的安装地址 http://pan.baidu.com/s/1o884uT0 密码:11qu ),下载后离线包后,上传至服务器指定的路径下,再进行安装

  dpkg -i chkconfig_11.0-79.1-2_all.deb 进行安装即可完成

  #dpkg命令: package manager for Debian ,是 Debian 和基于 Debian 的系统中一个主要的包管理工具,可以用来安装、构建、卸载、管理 deb 格式的软件包;
使用 命令安装软件时,可以使用 -i 选项并指定 deb 安装包的路径。和 Ubuntu 下的另一个包管理工具 apt-get(Advanced Package Tool)有所不同。
apt-get 命令并不直接操作 deb 安装包文件,而是从 /etc/apt/sources.list 配置文件中定义的软件镜像源里下载软件包并安装,使用时也只需指定软件的名称(或者也可以附加上版本号)

(2)service服务
service的执行脚本放在 /etc/service下,凡是能使用 service 服务 动作 的指令都可以在/etc/init.d目录下执行
例如: /etc/init.d/sshd start,使用 service 服务 动作 例子 service papche2 restart,其实是执行了一个脚本/etc/init.d apache2 restatr

(3)chkconfig主要用来更新(启动或停止)和查询系统服务的运行级信息。
谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接
linux服务器启动的时候分为6个等级
0.表示关机
1.单用户模式
2.无网络的多用户模式
3.有网络的多用户模式
4.不可用
5.图形化界面
6.重新启动
具体和默认的启动等级可以在 /etc/inittab目录下查看

一般自用的linux默认登陆等级为5 公司为3

管理各个登陆级别下使用服务的权限可以用 chkconfig 命令
查看各个级别下服务开机自启动情况 可以使用 chkconfig --list

增加一个自启动服务 chkconfig --add 服务名 例如 chkconfig --add sshd
减少一个自启动服务 chkconfig --add 服务名 例如 chkconfig --del sshd
需要注意的是:这样添加和删除开机自启动服务,是将服务加入开启自启动列表里
如果删除了,就是说6个运行级别都无法开机自启动该服务
如果增加一个服务,6个级别的开启关闭状况,都是按照原来的配置
例如: sshd 1开 2关 3开 4开 5开 6关 (删除之后整个ssh服务全部从开机自动项内移除,相当于6个级别全部关闭,但是如果又将该服务添加上,还是按照原来的配置执行操作:sshd 1开 2关 3开 4开 5开 6关(并非全开或全关))

如果想单独关闭/打开一个服务可以使用如下命令:
chkconfig --level 等级 服务 off/on
如果使用chkconfig --add httpd
不管用的话
可以在httpd文件里上面注释行写上
#chkconfig: 2345 10 90
#description: Activates/Deactivates Apache Web Server
然后
cp /etc/init.d/httpd /etc/rc.d/rc0.d
cp /etc/init.d/httpd /etc/rc.d/rc1.d
cp /etc/init.d/httpd /etc/rc.d/rc2.d
cp /etc/init.d/httpd /etc/rc.d/rc3.d
cp /etc/init.d/httpd /etc/rc.d/rc4.d
cp /etc/init.d/httpd /etc/rc.d/rc5.d
cp /etc/init.d/httpd /etc/rc.d/rc6.d

 

chkconfig和service命令的区别
chkconfig是当前不生效,Linux重启之后才生效的命令(开机自启动项)
service是即使生效,重启后失效的命令

posted @ 2019-12-25 17:37  小宇宙哈  阅读(1518)  评论(0编辑  收藏  举报