Disabling these services shove off about 5-10 seconds in boot time. Results will vary.
$ ./service-disable.sh mongod mongodb apache2 mysql memcached postfix qemu-kvm palm-novacomd lxc lxc-net quasselcore nfs-kernel-server| #!/bin/sh | |
| # Abort immediately if any command exists with a non-zero code. | |
| set -e | |
| # Do we need 'sudo'? | |
| sudo= | |
| if [ "$( id -u )" != 0 ]; then | |
| sudo='sudo' | |
| fi | |
| # Parse command-line options. | |
| while getopts 'h' option; do | |
| case "$option" in | |
| h) | |
| cat <<-HELP | |
| Usage: | |
| $( basename "$0" ) [...OPTIONS] [...service] | |
| Options: | |
| -h Print script usage and exit. | |
| Arguments: | |
| service The service name, e.g., 'apache2', 'mysql', etc. | |
| HELP | |
| exit 1 | |
| ;; | |
| esac | |
| done | |
| # Drop parsed options from script input. | |
| shift $((OPTIND-1)) | |
| # Ensure we can manage services and System-V init scripts. | |
| if ! which service 1>/dev/null 2>&1 || ! which update-rc.d 1>/dev/null 2>&1; then | |
| echo '[WARN] You need to be running a Debian-based system with System-V support.' 1>&2 | |
| echo '[WARN] Aborting before any real damage is done.' 1>&2 | |
| exit 1 | |
| fi | |
| for service in "$@"; do | |
| # Stop the service, if it's running. | |
| echo -n "[STOP] '$service'... " | |
| $sudo service "$service" stop 1>/dev/null 2>&1 || : | |
| echo 'OK' | |
| # If the legacy System-V style init script is used, purge it from the system. | |
| # The file remains in /etc/init.d/, but not in any of /etc/rcN.d/ so the service won't start on boot. | |
| echo -n "[DISABLE] '$service' rc.d initscript... " | |
| $sudo update-rc.d -f "$service" remove 1>/dev/null | |
| echo 'OK' | |
| # If Upstart is used, use an override to set the service job in 'manual' mode. | |
| # See http://upstart.ubuntu.com/cookbook/#manual | |
| if [ -f "/etc/init/${service}.conf" ]; then | |
| echo -n "[DISABLE] '$service' Upstart script... " | |
| if ! grep 'manual' "/etc/init/${service}.override" 1>/dev/null 2>&1; then | |
| echo 'manual' | $sudo tee -a "/etc/init/${service}.override" 1>/dev/null | |
| fi | |
| echo 'OK' | |
| fi | |
| done |
How to enable a service later on?