There are now THREE different ways for Linux services to start automatically at boot...
- New way: /etc/init/example.conf
- If you find such a file, open it up in an editor and examine its startup conditions (beginning with "start on").
- To prevent the service from starting, comment out the "start on" line (change "start on" to '#start on")
Alternatively, I'm told that you can say:echo "manual" >/etc/init/example.conf.override
- Legacy way: /etc/init.d/example and /etc/rc5.d/S20example.
To start a service using this traditional technique...
- Place a shell script in /etc/init.d/example.
- Create a symbolic link to /etc/init.d/example for each run level you want the service to auto-start in. For example: ln -s /etc/init.d/example /etc/rc5.d/S20example would start the example service in Run Level 5.
- Symbolic links named something like /etc/rcN.d/K20example provide a way to stop a service cleanly when the machine changes run level (e.g. shuts down).
- You may recall that run level 2 is single-user text-mode; 3 is multi-user text mode; 5 is multi-user GUI mode.
- The numbers after 'S' or 'K' provide a crude way of tweaking service start-up order, so that for example you can make sure that a database service starts up before an SQL-based application server.
- To stop a service starting in this way, you can just delete the symlinks i.e. rm /etc/rc*.d/S*example.
- Bastardized legacy way: /etc/init.d/example by itself.
- Some services still use /etc/init.d/example but rather than relying on symlinks such as /etc/rc*.d/S*example, they use a new syntax for startup conditions, placed in comments near the top of
/etc/init.d/example.
- For example, the Mathopd web server is controlled solely from
/etc/init.d/mathopd, which contains the text:
### BEGIN INIT INFO
# Provides: mathopd
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Mathopd web server
### END INIT INFO
Just delete all of the lines (from BEGIN INIT INFO to END INIT INFO) and replace them with a single line containing the word exit and it will not restart after you reboot the box.
If you see an IPv6 service listed like this:
tcp6 0 0 :::51413 :::* LISTEN
it simply means that the service is listening on all IPv6 interfaces, on port 51413. It's the IPv6 equivalent of showing 0.0.0.0:51413. Further reading at http://overtag.dk/wordpress/2011/02/headaches-over-disablingenabling-services-init-d-scripts-in-ubuntu-10-10/ . See also http://ubuntuforums.org/showthread.php?t=1519273 .
No comments:
Post a Comment
Spammers: please stop wasting my time. All comments are moderated before publication.