New on quietlinux

You can now disable Root Certificate generation in CUPS.


I set the disk spin-down to 2 minutes with hdparm.

I would like to set it up so that after boot it only starts the disk if the computer us used: When I am printing the printer makes noise anyway and usually I do not print while sleeping.

What I would really like is for Linux distributions to add a way to configure this. When you install Linux you should get the question: "should this computer minimize disk access?".

Problematic Programs


Prints "-- MARK --" in log files every 20 minutes.


Start syslogd with "-m 0" option. Edit /etc/init.d/syslog


modprobe may search /lib/modules/kernelver/ for a nonexisting module every minute.

Solution 1

Look in /var/log/ksymoops/20020702.log (subsitute correct date)

20020702 161032 start /sbin/modprobe -s -k -- char-major-6 safemode=1

This was because i was running the "lpd" daemon without support for a parallel port.

Solution 2

Compile everything into the kernel and do not run modprobe (modutils)


ntp use /var/lib/ntp/ntp.drift and /var/log/ntpstats/loopstats

To minimize disk access increase the time between polls increase minpoll for each server: server minpoll 16 maxpoll 17


I do not really need ntp so I use ntpdate instead.

Wish list

A --quiet option to ntpd that disable drift files and stats.


CUPS write a SSL certificate to /etc/cups/ssl/server.crt every 5 minutes. It read /etc/groups every time so making /etc/cups/certs a link to a RAM disk does not work.

Solution 1

Get the source. In scheduler/main.c change the 300 in

if ((time(NULL) - RootCertTime) >= 300)

to something bigger or remove the if statement.

Solution 2: RootCertDuration

If you have CUPS version 1.1.16 or newer you can add the following to /etc/cups/cupsd.conf:
RootCertDuration 0
This directive was on our wish list, good.


runs a lot of things too often.


Remove everything you do not need from /etc/cron.d/, /etc/crontab, and /etc/cron.daily. See mail
I changed /etc/crontab so that /etc/cron.daily is run every week and /etc/cron.weekly is run every month.

Wish list

A --wait-for-disk option to cron.

This would make cron wait for the next disk access before starting anything.


Ftp servers typically access /etc/{passwd,hosts,group}, user home directories etc.

Solution muddleftp and tmpfs

Create a tmpfs partition, run muddleftpd. You have to set up muddleftpd using /etc/ in the followin way: A muddleftpd.conf for ONE user (luser).


Netscape 4.7 writes to its cache index even when not used. Opera touches the disk when it replaces the ads (free version).


Kill or suspend browsers when you do not use them.


MTA's (sendmail, exim, postfix, etc) is sometimes run every 15 minutes from /etc/cron.d/MTA, where "MTA" is the name of your MTA.

Check /etc/init.d/MTA to see if an MTA is started that checks the spool files at intervals. This is probebly done with a "-q time" (eg "-q 1h22m") option.


You probably do not need this: remove the "/etc/cron.d/MTA" file or the "-q" option in /etc/init.d/MTA.


runs find, etc. every day to update the database used by "locate"


Uninstall updatedb or remove /etc/cron.daily/find

If you need the "locate" command, just run "updatedb" as root manually once in a while.

Other Hints

Mount file-systems with "noatime"

If you mount a file-system with option, "noatime" the inode access times will not be updated. This means that if a cached file or directory is read, the disk will not spin up.

Put it in you /etc/fstab file:

/dev/hda3 /home ext2 defaults,noatime 0 0


noflushd is a deamon that spins idle disks down and then blocks further writes to the disk to prevent it from spinning up again. It does not work well with journaling file systems.

Finding the culprits

As part of the DIKU Linux kernel course a patch to the kernel 2.4.18 was developed. The patch makes the kernel log all file operations. It logs PID, command name, filename etc. Get the patch here.

This User mode program turns logging on and off. Compile as "cc -o do_noisy_logging -I /usr/src/linux/include do_noisy_logging.c"

run as "./do_noisy_logging 0" or "./do_noisy_logging 1"


Commons License
This work is licensed under a Creative Commons Attribution 2.5 License.
Niels Elgaard Larsen