[Note: Make sure that gcc, g++ and gnat are included. Only one desktop (Gnome or KDE) should be installed; there won't be room for both on the CD.]
/etc/hosts:
172.16.1.1 contest-server
up2date -uf
yum -y update
jdk_1_5_0_07-linux.i586-rpm.bin
(filename and version number will vary; adjust accordingly) into
the /tmp directory.
sh /tmp/jdk_1_5_0_07-linux.i586-rpm.bin
ln -s /usr/java/jdk1.5.0_07/bin/* /usr/local/bin
/tmp (for testing; may remain on final version):
useradd -u450 -g100 -d/tmp -s/bin/bash -c "User account" user
passwd user
The uid of 450 is chosen so that it won't conflict with any
NIS-supplied ones.
groupadd -g 500 judge
for i in atd crond anacron sshd kudzu
do
chkconfig --del $i
done
netfs, ncsd and
rhnsd to the list of daemons to be disabled.
atd, crond,
anacron, netfs, and sshd
daemons. In particular, note that kudzu
should remain enabled.
pcscd,
auditd, avahi-daemon,
exim, and
haldaemon should be disabled as well.
halt script so that it won't reset the
hardware clock or (more importantly) try to unmount loop
filesystems too soon (on the CD, /usr will be mounted
as a loopback device).
Place the swap
script in the /etc/init.d directory and configure
it to run automatically on startup. This script searches the hard
drives for Linux swap partitions wherever they are and automatically
turns them on.
chkconfig --add swap
makewhatis -w
MANPATH
/usr/java/latest/man" to /etc/man.config
(adjust as necessary for actual manpage location) before
running makewhatis. After running
makewhatis, remove all the lines containing
'(rpm)' as a section number from
/var/cache/man/whatis.
/etc/bashrc and /etc/csh.cshrc
to set the default user umask to 077. Add the current directory
(".") to PATH, if desired.
/etc/sysconfig/iptables file.
*.* @contest-server
to the /etc/syslog.conf file.
ServerName contest-server
to the /etc/cups/client.conf file.
/etc/security/console.perms
file, commenting out permission lines for unwanted devices, and zero (or
comment) out the contents of the /etc/updfstab
file.
/etc/security/console.perms
file, commenting out permission lines for unwanted devices.
Disable the HAL daemon from automatically updating
/etc/fstab:
ln -s /bin/false /etc/hal/device.d/50-fstab-sync.hal
/etc/udev/rules.d/90-hal.rules file.
chkconfig --del haldaemon
[This should probably work for FC5, as well.]
for i in /bin/*awk /usr/bin/perl* /usr/bin/pyth* /usr/bin/*lex /usr/bin/yacc /usr/bin/bison
do
chown root:judge $i
chmod 750 $i
done
Copy large directories in /etc to
/opt (to save space on the CD-ROM boot ramdisk).
mv /etc/gconf /opt; ln -s /opt/gconf /etc
mv /etc/security /opt; ln -s /opt/security /etc
[Note: /etc/security need not be moved for
FC3, but it won't hurt anything if it is.]
/etc/selinux directory should be relocated as
well.
/etc/sysconfig/network-scripts/ifcfg-eth0 file,
removing the "HWADDR=" and "TYPE=" lines. Remove the
/etc/auto.misc file.
Additionally, for FC5/7: add the lines
RelaxPermissions=2
CheckDirOwner=false
to the "[security]" section of the
/etc/gdm/custom.conf file to avoid login messages
because of root ownership
of home directories. Setting
RelaxPermissions=2 will eliminate the
warning when logging in with the dummy "user" account, as well.
/misc/contest/local-setup to
/etc/rc.local. This allows site-specific
initializations to be placed on the server, which will provide a
shared /misc directory.
[Note: Things are slightly different for FC3, as the source RPM must first be downloaded and installed separately. Differences are noted here as necessary.]
/usr/src/squashfs2.1-r2.
cd /usr/src/squashfs2.1-r2/squashfs-toolsmake
cd /usr/src/linux-2.6.8-1.521
cd /usr/src/redhat/BUILD/kernel-.../linux-...]
patch -p1 <
/usr/src/squashfs2.1-r2/linux-2.6.8.1/squashfs2.1-patch
config-2.6.8-1.521
or
config-2.6.12-1.1372_FC3
for current configurations):
make menuconfig
make && make modules_install rm -fr /lib/modules/2.6.8-1.521 cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.8-1.521 cp System.map /boot/System.map-2.6.8-1.521 cp .config /boot/config-2.6.8-1.521 cd /boot mkinitrd --with=loop --with=ext3 --with=jbd initrd 2.6.8-1.521custom[Note: FC3 appends "prep" instead of "custom" to the new kernel name]
mv initrd initrd-2.6.8-1.521.img
Squash the /usr filesystem (omitting
/usr/src and /usr/share/doc to save
space), creating /opt/usr.sqsh:
mksquashfs /usr /opt/usr.sqsh -e /usr/src/* /usr/share/doc/*
(if your distribution does not include mksquashfs,
you'll need to specify the full path to the executable in the
squashfs-tools directory). Add the following line to
/etc/fstab:
#/opt/usr.sqsh /usr squashfs ro,loop 0 0
[Note: It's probably a good idea to reboot at
least once with this line uncommented, just to make sure the
squashed /usr works, but it's best to leave the line
commented as much as possible, in case you need to make changes
later. Naturally, you'll have to rebuild usr.sqsh
after any changes.]
mkdir /opt/knoppix /opt/knoppix/sbin
hwsetup.c (in
the hwsetup package) to stop after finding the first network
card (otherwise the system tends to configure only the last
card found, rather than the first).
mkxf86config script (in the
xf86config-knoppix package) to work properly with
the installed version of X.
mkxf86config
xorg.conf.in file
into the /etc/X11 directory.
/opt/knoppix/sbin.
knoppix-autoconfig
script (modified somewhat from the one on a Knoppix Live
CD; couldn't find it anywhere else) in
the /opt/knoppix directory.
/etc/modprobe.conf
(/etc/modules.conf for kernels before 2.6).
hw-detect
script in the /etc/init.d directory and configure
it to run automatically on startup.
chkconfig --add hw-detect
xconfig
script in the /etc/init.d directory and configure
it to run automatically on startup.
chkconfig --add xconfig
Comment out all the lines in /etc/modprobe.conf.