【ubuntu】开机启动

背景

在ubuntu下做开发,虚拟机要经常开启和关闭,重要的进程需要随机自启,非重要的可以手工启动。比如nginx就需要自启,confluence就没那么重要了。

为了控制哪些程序要自启,哪些程序不要自启,ubunt提供了一套API,update-rc.d。以下就是对于该API的操作示例和简单说明。

update-rc.d --help可查看更多用法。

===========================================

重要概念说明

[email protected]:~/dev/project$ ll /etc/rc?.d/*confluence1
lrwxrwxrwx 1 root root 21 Apr 27 2016 /etc/rc0.d/K20confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Apr 27 2016 /etc/rc1.d/K20confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Apr 27 2016 /etc/rc2.d/S20confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Apr 27 2016 /etc/rc3.d/S20confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Apr 27 2016 /etc/rc4.d/S20confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Apr 27 2016 /etc/rc5.d/S20confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Apr 27 2016 /etc/rc6.d/K20confluence1 -> ../init.d/confluence1*

confluence1是个shell脚本,rc*.d用来控制它的启不启动.
以/etc/rc0.d/K20confluence1为例,分解下/etc/rc[$a].d/$b$c$d,$a=0, $b=K, $c=20, $d=confluence1
$a: runlevel, [0-6]几个值, 0表示系统停机状态 1表示单用户或者系统维护状态 2-5表示多用户状态 6表示重启
$b: 启动/禁止启动, K/S,K表示开启,S表示停止;
$c: priority, 0-99 表示优先级, 1优先级最高,99优先级最低
$d: 服务执行脚本,shell脚本

查看某个服务:
ll /etc/rc?.d/*confluence1
lrwxrwxrwx 1 root root 21 Dec 15 11:57 /etc/rc0.d/K90confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Dec 15 11:57 /etc/rc1.d/K90confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Dec 15 11:57 /etc/rc2.d/S90confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Dec 15 11:57 /etc/rc3.d/S90confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Dec 15 11:57 /etc/rc4.d/S90confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Dec 15 11:57 /etc/rc5.d/S90confluence1 -> ../init.d/confluence1*
lrwxrwxrwx 1 root root 21 Dec 15 11:57 /etc/rc6.d/K90confluence1 -> ../init.d/confluence1*

更新某个服务:
[email protected]:~/dev/project$ sudo update-rc.d confluence1 start 90 2 3 4 5 . stop 90 0 1 6 .
System start/stop links for /etc/init.d/confluence1 already exist.

[email protected]:~/dev/project$ sudo update-rc.d confluence1 start 90 2 3 4 5 . stop 90 0 1 6 .
Adding system startup for /etc/init.d/confluence1 ...
/etc/rc0.d/K90confluence1 -> ../init.d/confluence1
/etc/rc1.d/K90confluence1 -> ../init.d/confluence1
/etc/rc6.d/K90confluence1 -> ../init.d/confluence1
/etc/rc2.d/S90confluence1 -> ../init.d/confluence1
/etc/rc3.d/S90confluence1 -> ../init.d/confluence1
/etc/rc4.d/S90confluence1 -> ../init.d/confluence1
/etc/rc5.d/S90confluence1 -> ../init.d/confluence1

删除某个服务:
[email protected]:~/dev/project$ sudo update-rc.d -f confluence1 remove
Removing any system startup links for /etc/init.d/confluence1 ...
/etc/rc0.d/K20confluence1
/etc/rc1.d/K20confluence1
/etc/rc2.d/S20confluence1
/etc/rc3.d/S20confluence1
/etc/rc4.d/S20confluence1
/etc/rc5.d/S20confluence1
/etc/rc6.d/K20confluence1

时间: 2024-11-05 11:53:28

【ubuntu】开机启动的相关文章

ubuntu开机启动脚本

引用http://www.linuxidc.com/Linux/2011-12/48922.htm 马克下 flux真好用,就是gui的在ubuntu下无响应,得自己执行终端的才行.写个脚本开机启动...

修改ubuntu开机启动项顺序 grub设置 删除多余内核

1 最简单方法,装个软件,图形化操作. sudo apt-get install startupmanager 安装启动项管理器 系统——系统管理——启动项管理器,后面不解释.然后会自动按照配置修改grub.cfg文件了. 2 然而,grub修改开机启动菜单,会自动把最新的Ubuntu放在第一位,把Windows放在最后一个.我们经常希望把Windows调整到靠前的位置,可能还会修改默认的启动项和等待时间等.解决方案如下: 1.找到grub配置,打开配置文档,在终端里输入命令: sudo ged

Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启动程序/服务)

注意:rc.local脚本里面启动的用户默认为root权限. 一.rc.local脚本 rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚本位于/etc/路径下,需要root权限才能修改. 该脚本具体格式如下: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the scrip

ubuntu 开机启动

1.2配置jdk环境变量 安装是自动的,但是配置需要自己动手了. 1.2.1修改用户环境变量 ? 1 $ vi /home/fancy(你的用户名)/.bashrc 在 .bashrc文件中加入: ? 1 2 3 export JAVA_HOME="/usr/lib/jvm/java-6-sun" export CLASSPATH="$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib" export PATH="$PA

Ubuntu 开机启动是出现 grub rescue 解决办法

最近想在Ubuntu的基础上,再在硬盘的一个分区安装Windows,其中有次不小心,在安装windows的时候,删除了一个分区,造成下次启动Ubuntu系统出现 grub rescue 下面是我的修复方法,参考了http://www.linuxidc.com/Linux/2012-07/65249.htm,有些修改 先使用ls命令,找到Ubuntu的安装在哪个分区,ls会罗列所有的磁盘分区信息,比方说: grub rescue>ls (hd0),(hd0,msdos3),(hd0,msdos2)

Ubuntu开机启动svn

一.创建脚本 $cd /etc/init.d/$sudo vim svnserve 内容如下#! /bin/shsudo svnserve -d -r /home/svn 二.脚本权限设置 sudo chmod +x svnserve 三.将脚本加入启动顺序 sudo update-rc.d svnserve defaults Adding system startup for /etc/init.d/svnserve .../etc/rc0.d/K20svnserve -> ../init.d

Debian、Ubuntu系统中开机启动设置

Unix系统使用比较广泛的便是Linux系统,而基于Linux内核下也有很多衍生的其他的系统,其中就有Debian.Ubuntu这类的系统,在Linux系统下平时使用习惯的开机启动/etc/rc.local或/etc/rc.d/rc.local就没有了,那在Debian.Ubuntu下需要开启启动时就需要使用update-rc.d用来定义开机启动的命令 ,举一个简单的例子在Debian.Ubuntu开机启动iptables: 在Debian.Ubuntu中iptables并没有被做成类似Linu

ubuntu ibus开机启动设置

安装ubuntu, 开机默认输入法是不启动ibus, 所以每次自己手动启动输入法.很是麻烦: 以下是解决方法:方法一.  System >> Administration >> Language Support 然后设置"Keyboard Input Method System"为ibus 方 法二:当然你也可以设置开机自己启动ibusSystem >> Preferences >> Startup ApplicationsClick t

Ubuntu下关闭apache和mysql的开机启动

Ubuntu下关闭apache和mysql的开机启动 sudo apt-get install sysv-rc-conf sudo sysv-rc-conf sudo vi /etc/init/mysql.conf Ubuntu运行级别的总结 一般的linux分7个级别: 0代表关机(halt) 1级别是单用户模式(single) 2级别是多用户级别,这个是默认级别 3,4,5未定义,可以提供给用户定义其他多用户级别 6代表重启(restart) S级别系统内部定义的单用户恢复模式. 相关问题:

ubuntu 14 中tomcat的开机启动设置

开机自启动,将要执行的语句写入/etc/rc.local. #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this