Faster Boot with System Efficiency



ubuntu karmic koala

For speed freaks out there, let's look at how we may tune the PC to load only those system services that we need, disabling unnecessary ones. Not only does this give a faster boot time but can also shore up potential security risks.

When you install Windows, unless you've got a PC crammed full of resource, one of the first things you would ideally do is to disable all those generally useless services, some of which are only there as legacies from prehistoric versions when Bill was practically poor and wearing those windows-sized glasses. (I hear Windows 7 is better, or at least the spectacles have improved.)

Setup Unmanaged VPS (4 Noobs!) ... with vpsBible
Secure WordPress. Properly. ... with wpCop, the platform's dedicated security website
Olly 'the_guv' Connelly's vpsBible.com site and 'WordPress 3 Ultimate Security' book.

With Ubuntu Karmic, so toned a system it is, there aren't that many services one can disable but, if you really want the barest possible Koala – and everyone likes a Koala bear – saving on startup time a tad, here's how.

Disabling Services using BUM

Get the friendly GUI application, Ubuntu BootUp Manager or BUM for short (hey, no wise cracks):-

Kick it up. Have to be root for this one:-

Or alternatively, navigate the menu:-

System > Administration > BootUp-Manager

.. either way, after giving your admin password, it'll take a little while to start the first time, while the programme scans your system.

One nice feature with BUM is the addition of a human-friendly description to each somewhat cryptic service name, to help identify what you may or may not wish to enable or kill.

To deactivate a service, simply uncheck the box next to the service item.

Otherwise, BUM benefits more advanced users with powerful run level editing functionality. At the bottom of the app's dialogue box, check the Advanced tab and a couple of tabs appear – Services and Startup and Shutdown Scripts: with these you can edit run levels, which basically means you can set whatever services to operate under different system conditions (maybe just for the root administrator, else for everyone, and more .. although run levels are not the point of this tutorial so, er, Google that.)

Disabling Services using sysv-rc-conf

An alternative method is using sysv-rc-conf, which is essentially the same but that works only from the terminal, and that misses the human-friendly service descriptions.

Download it:-

And, again as root, open it up:-

Disabling Services using Command Line Syntax

The quickest way to deactivate services is by running the update-rc.d script from the terminal.

Let's say, for example, that you want to disable cron, the service that schedules tasks:-

Like I say, I'm not getting into run levels here, but you can use update-rc.d to alter these too, as well as to start and stop services, and to prioritise them. To find out more, including examples:-

List of Services to Consider Disabling

Requirements vary, sure, but these are typical suspects to off-load.

<tr

Service Description
apmd for laptops and/or if you use UPSi
apport notifies the ubuntu makers of your pc errors
avahi-daemon printer/scanner service
bluetooth for bluetooth
brltty for accessability
cups for printing
dns-clean dial-up modems
hotkey setup laptop thing
laptop-mode laptop thing
pcmciautils laptop thing
ppp-dns for old ADSL modems
rsync remove
samba for windows lan
saned for scanners
windbind for samba
wpa-ifupdown for wifi

Human-Readable Descriptions of init Scripts

For a handy list of services, coupled with their user-friendly descriptions, take a look at this page on the Ubuntu wiki.

12


About the Author:

Olly Connelly (yeah, that's me) blogs at guvnr.com, polices WordPress security at wpCop.com and helps noobs build web servers at vpsBible.com, so if you've got sleeping problems you know where to come.

Discussion

  1. the_guv  May 30, 2010

    @Surja .. splendid, thank you

  2. Surja  May 25, 2010

    BUM was just what I was looking for. Very useful indeed. Thank you for the useful guide 🙂

  3. the_guv  January 13, 2010

    @Techs Palace, tx for that. Nice.

    Adding a bashrc entry:-

    # Change run levels
    alias runlev=”sudo update-rc.conf”

    .. one could make life even easier, spose, so that only the service name, action and required new levels need be remembered, with a command somat like:-

    runlev serviceName disable 2345

    Then again, balls, huh! Truth is, just wanted to plug my fave file, the bashrc .. here’s a top terminal shortcut tutorial:-

    Edit bashrc for a User-Friendly Command Line Shell .. (Yup, For Real!)

  4. Techs Palace  January 11, 2010

    I always prefer,

    sudo update-rc.conf service_namde disable 2345

    Regards

  5. the_guv  November 11, 2009

    cool beans Chris, thank you.

  6. Chris  November 6, 2009

    Much better 😉 Thx

  7. the_guv  November 6, 2009

    POST UPDATED!

    You know what, I just wasn’t happy with this post, so I rewrote it. It now explains BUM, which is the most noob-friendly way to cull services, as well as the update-rc.d script, which is the fastest.

    Strikes me, both these methods merit the rewrite.

    I’ve not gone into run levels because, really, I don’t think they’re that relevant to the purpose of this post and would probably confuse more than help.

    Hope that’s useful anyhow.

  8. the_guv  November 3, 2009

    @Chris & Hendy .. tx for that .. tssk, typical .. so that involves run levels and whatnot .. will adapt this post to reflect the change tomorrow.

    Essentially though, with the change:-

    Download and install it:-
    sudo aptitude install sysv-rc-conf

    And fire it up as root:-
    sudo sysv-rc-conf

  9. Hendy Irawan (Soluvas)  November 3, 2009

    sysvconfig is no longer available in Ubuntu 9.10 Karmic Koala.

  10. Chris  November 3, 2009

    Try sysv-rc-conf instead 😉

  11. Chris  November 3, 2009

    Hy,

    I tried to install sysvconfig, but in fact, it isnt in the 9.10 repository 🙁

Add a Comment

  1. » Deixando o Ubuntu 9.10 mais rápido - OxenTI » Blog Archive  December 10, 2009