We keep the installation tree for the latest version of Red Hat Enterprise Linux AS (Advanced Server) for network installs with a generic kickstart file that sets keyboard language, network install URL, basic server packages, and other local settings. Kickstart installs are usually much faster than CD installs since you can specify settings beforehand and do not need to switch CDs. Since we are academic users, we almost always install AS since it includes both the necessary server and desktop software; see http://www.redhat.com/software/rhel/faq/#5 for more information.

If you can boot linux from the system, the easiest way to start a kickstart install is from your bootloader. If it's a reinstall, you can use the script at http://bursa.biostr.washington.edu/rhel/local/pxeboot.sh or just copy the files from images/pxeboot/ and put them in /boot; here is an example grub section:

title kickstart install
        root (hd0,0)
        kernel /pxeboot/vmlinuz ks=http://bursa.biostr.washington.edu/rhel/ks.cfg ksdevice=link ramdisk=32768
        initrd /pxeboot/initrd.img 

To perform a kickstart install from CD, burn the installation CD (CD#1) and boot from it. At the boot: prompt, type "linux http://bursa.biostr.washington.edu/rhel/ks.cfg" to use the generic kickstart file. The installer will prompt you for other necessary information such as partition sizes, ethernet configuration, and so on.

Alternatively, before instaling you may copy the generic file to something like servername.cfg, add in your specific preferences, and point the installer to that file. For more information about the kickstart files, see the Red Hat manual section about Kickstart Installations. Some kickstart features are also available for Ubuntu Automatic Installation.

The local default kickstart file

Here are more details about the local kickstart configuration file:

  • The kickstart file disables all network services since unupdated versions may have security vulnerabilities. After performing the install, run up2date -u to download all updates. To configure services that should run automatically after the first update, the kickstart creates this file that you can run with source /root/start-services:
    chkconfig ntpd on 
    chkconfig sendmail on 
    chkconfig sshd on 
    chkconfig rhnsd on
    chkconfig httpd on
    

Note that this does not immediately start these services; to do that run init 3 or commands such as

/etc/init.d/sshd start
/etc/init.d/ntpd start
  • Kickstart also
  • disables SELinux since we have too many non-standard parts. It would certainly be worth developing a good policy for it, though.
  • Kickstart does NOT start any services

Upgrades

To upgrade an installation, you can use the copy the generic kickstart file and change the install line to upgrade. You can even directly boot the installer using GRUB. Of course, you probably want to remove all the extra post-installation stuff.

Non-Kickstart Network Installations and Upgrades

Unfortunately, sometimes kickstart installations don't work, for example because of a driver or setup problem in anaconda (the Red Hat installer). If you find that kickstart isn't working, the best option is to do a network install. At the boot: prompt, type "linux askmethod" (or "linux text askmethod" for the faster text-mode installation). At the menu choose an HTTP install. The server name is 128.95.228.11 (bursa, ip address is much faster) and the directory is rhel/4as (extra slashes are OK but unnecessary).

If this does not work and you can't find a network connectivity problem, you may need to just burn all the binary CDs and install that way. It is also possible to create custom CDs, see http://people.redhat.com/rkeech/custom-distro.txt

You can also use a network install to create a kickstart file. After an install, the anaconda installer leaves a working kickstart file based on your install as /root/anaconda-ks.cfg. You can comment anything you don't want out of the kickstart file (i.e., partitioning information), and the installer will ask you.

Setting up the network installation server

This describes a method for sysadmins to create an install point without copying the RPMs from the ISOs. The goal is to create a single place that looks like one really big CD (or DVD) to anaconda, the Red Hat installer. This will need to be done for every new release or update CD set.

Make sure you have enough room for 4 CDs on the server, then go to the RHN website, click on "Channels" then click on "Easy ISOs" on the left.

  1. Find the correct Channel, currently "Red Hat Enterprise Linux AS (v. 4 for 32-bit x86)," then download them on the server:
    RNAME=4as
    mkdir -p /ISO/$RNAME
    cd /ISO/$RNAME
    nohup wget -c 'LONG-URL-disc1.iso' &
    nohup wget -c 'LONG-URL-disc2.iso' &
    nohup wget -c 'LONG-URL-disc3.iso' &
    nohup wget -c 'LONG-URL-disc4.iso' &
    
  2. Make directories and add the ISOs to /etc/fstab (same as mount -t iso9660 -o loop=/dev/loop1 RHEL4-i386-AS-disc1.iso disc1)
    DNAME=RHEL4-U3-i386-AS
    for i in 1 2 3 4; do
      mkdir /ISO/$RNAME/disc${i}
      echo "/ISO/$RNAME/$DNAME-disc${i}.iso /ISO/$RNAME/disc${i} iso9660 loop=/dev/loop${i} 0 0">> /etc/fstab 
      mount disc${i}
    done
    
  3. You should now be able to look inside the ISOs with a command like ls /ISO/4as/disc2/RedHat/.
    Set up a hierarchy and add symbolic links (ignore the TRANS.TBL warnings)
    mkdir -p /ISO/4as/RedHat/RPMS/
    ln -s /ISO/4as/disc1/RedHat/base/ /ISO/4as/RedHat/
    ln -s /ISO/4as/disc1/RedHat/TRANS.TBL /ISO/4as/RedHat/
    ln -s /ISO/4as/disc1/RedHat/RPMS/* /ISO/4as/RedHat/RPMS
    ln -s /ISO/4as/disc2/RedHat/RPMS/* /ISO/4as/RedHat/RPMS
    ln -s /ISO/4as/disc3/RedHat/RPMS/* /ISO/4as/RedHat/RPMS
    ln -s /ISO/4as/disc4/RedHat/RPMS/* /ISO/4as/RedHat/RPMS
    
  4. You now have a complete monolithic image, which could also be used to make a DVD.
    Make it all web-accessible
    mkdir /var/www/html/rhel
    cd /var/www/html/rhel
    ln -s /ISO/4as .