146 lines
6.0 KiB
HTML
146 lines
6.0 KiB
HTML
<!--startcut BEGIN header ==============================================-->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML><HEAD>
|
|
<title>Running UNIX At Home LG #47</title>
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
|
|
ALINK="#FF0000">
|
|
<!--endcut ============================================================-->
|
|
|
|
<H4>
|
|
"Linux Gazette...<I>making Linux just a little more fun!</I>"
|
|
</H4>
|
|
|
|
<P> <HR> <P>
|
|
<!--===================================================================-->
|
|
|
|
<center>
|
|
<H1><font color="maroon">Running UNIX At Home</font></H1>
|
|
<H4>By <a href="mailto:reid@astro.utoronto.ca">Rob Reid</a></H4>
|
|
</center>
|
|
<P> <HR> <P>
|
|
|
|
<!-- END header -->
|
|
|
|
<P> I started using UNIX years ago at school, so when Linux came along I eagerly
|
|
installed it on my home computer so that I could have the same wonderful
|
|
operating system in both places. Linux has worked amazingly well for me, but
|
|
after a while I noticed that it wasn't completely adapted for home use.
|
|
"locate"'s database wasn't getting updated, the log files kept growing and
|
|
growing, and the startups and shutdowns were taking a fair chunk out of my day.
|
|
This was because UNIX computers traditionally stay on all the time, while home
|
|
computers tend to be frequently turned off.
|
|
|
|
<P> None of my cron jobs, like updating locate's database and trimming the log
|
|
files, were being done since the computer was hardly ever on in the wee hours
|
|
of the morning, the time chosen by the distributions (Slackware, then Red Hat
|
|
3.0.3, then 5.1) for housecleaning. Very early in the morning is perfect for
|
|
computers that stay on all the time, since that's when there are the fewest
|
|
users to be upset by the somewhat disruptive janitorial jobs, but I was
|
|
unwilling to leave my computer on all them time just to make cron happy. I
|
|
ruled out changing the job running time to something during the day, since I
|
|
tend to run my home computer at unpredictable times for a few hours. The only
|
|
way I could be sure the jobs would be done would be to run them hourly instead
|
|
of daily or weekly. That would soon get annoying. My solution, the following
|
|
script, was to combine an hourly cron with batch, and to check whether the job
|
|
had already been done satisfactorily recently. The hourly cron is frequent
|
|
enough that it will probably get a chance while I have the computer on, but
|
|
batch minimizes my annoyance by only running the jobs when the computer isn't
|
|
too busy, like when I've gone for a snack. The timestamp check cancels the job
|
|
if it's already been done in the last week/month/etc.
|
|
|
|
<P> <A HREF=misc/reid/groundskeeper>groundskeeper</A> (Bash script)
|
|
|
|
<P> As you probably know, speeding up the startups and shutdowns is a matter of
|
|
not starting daemons you'll never need. I've taken it a bit further by often
|
|
not starting services that I often *do* need. Craziness? No. We all use SysV
|
|
runlevels, now, right? (When I started using Linux, with Slackware, this
|
|
wasn't the case, but I hope that even the most ardent BSDers have seen the
|
|
desirability of runlevels.) I was using runlevel 3 as my normal operating
|
|
mode, had a never used runlevel 4, and noticed that about half the time in
|
|
booting 3 was spent on network things. About half the time when I turn on my
|
|
computer, I'm not going to use my modem at all, so I set up runlevel 4 as "3
|
|
without network stuff". Now when I want to use my modem I boot normally, but
|
|
if I know I won't be using it I type "linux 4" at the LILO prompt and save a
|
|
lot of time. No reconfiguration of LILO was necessary. I haven't needed to
|
|
yet, but I could use my modem in 4 by becoming root and running the network
|
|
starter scripts by hand, and stopping them when I'm done. One of these days I
|
|
should write a script to automate that, but I'm lazy. Red Hat provides a
|
|
runlevel editor in their control-panel, but it is also easy to do from the
|
|
command line by playing around in the /etc/rc.d/* directories.
|
|
|
|
<P> If you're not sure which services you can safely eliminate, here's a
|
|
listing of my /etc/rc.d/rc[34].d directories as a sample. Your requirements
|
|
will probably be different, however.
|
|
|
|
<PRE>
|
|
rc3.d: rc4.d:
|
|
K08autofs K08autofs
|
|
K09keytable K09keytable
|
|
K10named
|
|
K15gpm K15gpm
|
|
K15sound K15sound
|
|
K30sendmail
|
|
K45sshd
|
|
K50inet
|
|
K55routed
|
|
K59crond K59crond
|
|
K60atd K60atd
|
|
K60lpd K60lpd
|
|
K65portmap K65portmap
|
|
K80random K80random
|
|
K97network
|
|
K99syslog K99syslog
|
|
S01kerneld S01kerneld
|
|
S10network
|
|
S20random S20random
|
|
S30syslog S30syslog
|
|
S40atd S40atd
|
|
S40crond S40crond
|
|
S40portmap S40portmap
|
|
S50inet
|
|
S55named
|
|
S55sshd
|
|
S60lpd S60lpd
|
|
S72autofs S72autofs
|
|
S75keytable S75keytable
|
|
S80sendmail
|
|
S85gpm S85gpm
|
|
S85sound S85sound
|
|
S99local S99local
|
|
</PRE>
|
|
|
|
<P> Another, very optional, thing you can do is run 'tune2fs' on your ext2
|
|
filesystems to increase the number of mounts before they get fscked. Read the
|
|
man page first, and I have no idea what the ideal number is.
|
|
|
|
|
|
|
|
<!-- BEGIN copyright ==================================================-->
|
|
<P> <hr> <P>
|
|
<H5 ALIGN=center>
|
|
|
|
Copyright © 1999, Rob Reid<BR>
|
|
Published in Issue 47 of <i>Linux Gazette</i>, November 1999</H5>
|
|
<!-- END copyright ===================================================-->
|
|
|
|
|
|
|
|
|
|
|
|
<!--startcut footer ===================================================-->
|
|
<P> <hr> <P>
|
|
<A HREF="index.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif"
|
|
ALT="[ TABLE OF CONTENTS ]"></A>
|
|
<A HREF="../index.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
|
|
ALT="[ FRONT PAGE ]"></A>
|
|
<A HREF="pollman.html"><IMG SRC="../gx/back2.gif"
|
|
ALT=" Back "></A>
|
|
<A HREF="../faq/index.html"
|
|
><IMG SRC="./../gx/dennis/faq.gif"
|
|
ALT="[ Linux Gazette FAQ ]"></A>
|
|
<A HREF="silva.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
|
|
<P> <hr> <P>
|
|
</BODY></HTML>
|
|
<!--endcut ============================================================-->
|