Shorten Linux Boot Time with Services
The patience of today's computer user is low. Time is, very much, of the essence. And for some reason that adage applies in spades to Linux computer and Linux server boot times. Although less than 1 or 2 minutes doesn't seem like an eternity, when booting a computer it is. And when getting work done (or getting a server rebooted) as quickly as possible is of the utmost importance, every little second counts. That is where configuring which services start at boot time will help you tremendously.
If you're not running a mail server, why have Sendmail start? If you're not running a web server, why have Apache start? These and many other linux services can be configured to not start at boot up to save you time.
In modern desktops (such as GNOME or KDE you will find on distributions such as Red Hat Linux, Fedora, or Mandriva Linux) you will find the Services tool in the main menu. GNOME, in particular, houses this entry in the System|Administration menu. The image to the left (click to show full-sized image) illustrates exactly where you will find the Services utility.
Once the Services widow opens you will have a listing of every service available to your machine. This window is broken into two panes. The left pane is the listing of each service. The right pane describes the service as well as the status of the service.
With the Services window open the first thing you want to do is to find those services you do not need or use. For instance, my machine does not have Bluetooth, so it would be safe for me to disable this service.
To disable a Linux script or service I would highlight the service and then click the disable button. You will have to supply your root password for certain services to be disabled (most will require).
Runlevel
From within this window you can also configure when a service is to start. This is called the Runlevel. There are 6 runlevels:
- Single user mode. This is used for recovery and does not start daemons.
- Multi user mode. Does not start daemons. Is not used for recovery (rarely used).
- Starts system normally but ends in console (X Windows is not started)
- Special purpose (rarely used).
- Starts system normally and ends in full X Windows mode.
- Reboot the system.
Many daemons will be configured for runlevel 3. You would never want to configure a service for runlevel 6 or 2.
To configure a service for a specific runlevel highlight the service, click on the Service menu, select the Customize entry, and select the runlevel you want to apply to that service. You can also highlight the service and click the Customize button to take care of the same task.
Final Thoughts
Once you have found all of the services your machine doesn't need started, you will find your Linux machine booting faster. Just make sure you don't disable critical services that are required in order to run your operating system.
Advertisement
You should run an MTA like Postfix so local mail can be delivered, local mail being a standard Unix system by which processes notify the system administrator of various issues. The correct thing to do is set up mail aliases so that mail to the user ‘root’ on the local machine gets delivered to a real mail box or spool where you read it from a mail client. Of course, for simply delivering local mail, you can use something a lot smaller and less potentially dangerous than sendmail.
Good article, though.
I am assuming, as is the case with Windows, that disabling unnecessary services not only shortens boot time but would also provide a smaller security footprint and provide more physical RAM for running things you want to run.
Casey: You are correct. I did leave out runlevel 0. Thanks for pointing that out.
Very cool. Great artikel again. Thanks Jack.
There are actually seven runlevels. Runlevel 0 shuts down the system.