auth --useshadow --enablemd5 graphical firewall --enabled --ssh firstboot --disable keyboard us lang en_US url --url=http://ibiblio.lsu.edu/fc5/full selinux --disabled timezone America/Chicago install xconfig --defaultdesktop=GNOME --depth=16 --resolution=1024x768 --startxonboot %packages @base @base-x @core @development-libs @development-tools @editors @gnome-desktop @graphical-internet @kde-desktop @office @printing @text-internet Xaw3d aspell-en authd bsf cracklib-dicts cyrus-sasl ddd emacs emacs-common gnome-mime-data gstreamer-tools htmlview iptables joe jzlib ksh mailx microcode_ctl ntp openjade openmotif opensp pax postfix tzdata vim-X11 vnc-server xinetd -agg -alsa-utils -anacron -apmd -authconfig-gtk -autofs -automake14 -automake15 -automake16 -automake17 -autorun -beagle -bind -bluez-libs -bluez-pin -bluez-utils -boost -boost-devel -bsh -byacc -caching-nameserver -cadaver -cairo-java -comps-extras -cpuspeed -crash -curl -curl-devel -cvs -cyrus-sasl -cyrus-sasl-devel -db4-devel -dbus-devel -dbus-sharp -dhcdbd -dhcpv6_client -dialog -diffstat -diskdumputils -dos2unix -dosfstools -dump -dvd+rw-tools -e2fsprogs-devel -eclipse-bugzilla -eclipse-changelog -eclipse-pydev -ekiga -elfutils-libelf-devel -evolution -evolution-sharp -evolution-webcal -expat-devel -fbset -fetchmail -finger -firstboot -firstboot-tui -frysk -ftp -gaim -gcc-gfortran -gd -gdbm-devel -glib2-devel -glib-java -gmime -gmime-sharp -gmp-devel -gnome-audio -gnome-pilot -gnome-power-manager -gnome-python2-canvas -gnome-python2-extras -gnome-python2-gtkhtml2 -gnome-screensaver -gnome-spell -gnome-user-share -gnopernicus -gnupg -gpm-devel -gsf-sharp -gtkhtml2 -gtkhtml3 -gtk-sharp -gtk-sharp2 -gtkspell -hal-gnome -hesiod -hesiod-devel -hpijs -hplip -hsqldb -httpd -ipsec-tools -iptstate -irda-utils -jakarta-commons-codec -jwhois -kdeaccessibility -kdeaddons -kdeartwork -kdenetwork -kdepim -kdegraphics -kdemultimedia -krb5-auth-dialog -krb5-devel -krb5-workstation -krbafs -krbafs-devel -kudzu-devel -lftp -libacl-devel -libao -libattr-devel -libcap-devel -libevent -libgdiplus -libgfortran -libglade-java -libgnome-java -libgssapi -libgtk-java -libicu -libidn-devel -libnl -libogg-devel -libpcap -libsane-hpaio -libselinux-devel -libsilc -libuser-devel -libvorbis-devel -libvte-java -libwpd -libxml2-devel -linuxwacom -lockdev-devel -logwatch -longrun -ltrace -mdadm -mgetty -mkbootdisk -mono-core -mono-data -mono-data-sqlite -mono-web -mtools -mtr -mutt -nautilus-sendto -neon-devel -netconfig -netdump -NetworkManager -NetworkManager-glib -NetworkManager-gnome -newt-devel -nfs-utils -nfs-utils-lib -nss_db -numactl -opal -openldap-devel -openoffice.org-calc -openoffice.org-core -openoffice.org-draw -openoffice.org-graphicfilter -openoffice.org-impress -openoffice.org-math -openoffice.org-writer -openoffice.org-xsltfilter -openssh-askpass -openssl-devel -oprofile -pam_ccreds -pam_krb5 -pam_passwdqc -pam_smb -pciutils-devel -pcmciautils -perl-Digest-HMAC -perl-Digest-SHA1 -perl-Net-DNS -perl-Net-IP -perl-String-CRC32 -pinfo -pirut -planner -pm-utils -poppler-utils -portmap -ppp -procmail -psacct -pstack -pwlib -PyQt -python-devel -rcs -rdate -rdist -rhgb -rmt -rng-utils -rpm-devel -rp-pppoe -rsh -samba-client -sendmail -setarch -setuptool -sip -slang-devel -slrn -sox -spamassassin -specspo -sqlite-devel -stunnel -sudo -swig -symlinks -synaptics -syslinux -sysreport -system-config-date -system-config-keyboard -system-config-language -system-config-network -system-config-network-tui -system-config-printer-gui -system-config-securitylevel -system-config-securitylevel-tui -system-config-services -system-config-soundcard -system-config-users -systemtap -talk -tcl -tcpdump -telnet -tetex -tetex-fonts -texinfo -tomboy -unix2dos -usermode-gtk -valgrind -valgrind-callgrind -vconfig -vino -words -wpa_supplicant -xmlrpc -xmlsec1 -xmlsec1-nss -xscreensaver-base -xscreensaver-extras -xscreensaver-gl-extras -ypbind -yp-tools %post # save a copy of the output for debugging exec >/root/post-install.log 2>&1 baseurl='http://www.cct.lsu.edu/~meastman/scusa/' # selinux is only going to cause problems echo "Disabling selinux..." setenforce 0 sed -e 's/^SELINUX=.*$/SELINUX=disabled/' -i /etc/selinux/config echo # # lsu only - use lsu's yum repos # # here is where the local yum repository defs get created # echo "Updating yum repos..." cd /etc wget -q -O /tmp/yum-repos-lsu.tar.bz2 "${baseurl}yum-repos-lsu.tar.bz2" rm -rf yum.repos.d tar jxf /tmp/yum-repos-lsu.tar.bz2 rm -f /tmp/yum-repos-lsu.tar.bz2 sed -e 's/^\(metadata_expire.*\)$/#\1/' -i /etc/yum.conf echo echo "Updating rpms..." rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY{,-fedora,-fedora-extras} yum -d 1 -y update echo # create local user (only while testing) echo "Creating local user..." # note: password is "XXXXXX" useradd -p '$1$S5HGc1$/rpgxLaBnV6ETrmrh2WI8.' testuser echo # terminal launcher magic echo "Creating terminal launcher..." wget -q -O /usr/local/bin/term-launcher "${baseurl}term-launcher" wget -q -O /usr/share/applications/term-launcher.desktop \ "${baseurl}term-launcher.desktop" chmod +x /usr/local/bin/term-launcher echo echo "Updating gnome-terminal and konsole menu entries..." sed -e 's/^Exec=.*$/Exec=term-launcher gnome-terminal/' \ -e 's/^\(TryExec=\)/#\1/' \ -e 's/^\(OnlyShowIn\)/#\1/' \ -e 's/^Name=.*$/Name=GNOME Terminal/' \ -i /usr/share/applications/gnome-terminal.desktop sed -e 's/^Exec=.*$/Exec=term-launcher konsole/' \ -e 's/^\(TryExec=\)/#\1/' \ -e 's/^\(OnlyShowIn\)/#\1/' \ -e 's/^Name=.*$/Name=Konsole/' \ -e 's/;System;/;Application;Utility;/' \ -i /usr/share/applications/kde/konsole.desktop echo # now a little more cleanup of the menu items echo "Removing extra apps from menu..." for app in \ about-fedora \ cddb-slave \ gnome-about \ gnome-about-me \ gnome-cd \ gnome-display-properties \ gnome-gdmsetup \ gnome-network-preferences \ gnome-screensaver-properties \ gnome-settings-sound \ gnome-system-log \ gnome-system-monitor \ gnome-ui-properties \ gnome-volume-control \ gnome-volume-properties \ gthumb \ kde/kgpg \ kde/khexedit \ system-config-display do echo 'NoDisplay=true' >> "/usr/share/applications/${app}.desktop" done echo echo "Changing web icon..." sed -e 's/^Icon=.*$/Icon=firefox.png/' -i \ /usr/share/applications/redhat-web.desktop echo # remove most of the setuid and setgid apps echo "Updating setuid and setgid apps..." find / -xdev -type f -perm /06000 -exec chmod -v ug-s '{}' \; chmod -v u+s /bin/ping /bin/su /sbin/unix_chkpwd chmod -v g+s /usr/bin/locate /usr/lib/vte/gnome-pty-helper echo # turn off unnecessary services echo "Disabling extra services..." for service in netfs postfix gpm avahi-daemon do chkconfig --level 345 $service off done echo # setup iptables like we want echo "Configuring iptables..." [[ -e "/etc/sysconfig/iptables" ]] && mv /etc/sysconfig/iptables{,.orig} wget -q -O /etc/sysconfig/iptables "${baseurl}iptables" echo # configure sshd echo "Configuring sshd..." sed -e 's/^\(GSSAPIAuthentication\|PasswordAuthentication\).*$/\1 no/' \ -i /etc/ssh/sshd_config echo function gconf() { /usr/bin/gconftool-2 --direct --config-source \ 'xml:readwrite:/etc/gconf/gconf.xml.defaults' "${@}" >/dev/null } echo "Updating gconf settings..." /usr/bin/gconftool-2 --shutdown gconf --type bool --set /apps/panel/global/disable_lock_screen true gconf --type bool --set /apps/nautilus/preferences/enable_delete true gconf --type bool --set /apps/nautilus/desktop/computer_icon_visible false gconf --type list --list-type string --set /apps/panel/general/object_id_list \ '[menu_bar,web_launcher,terminal_launcher,pc2_launcher]' x='/apps/panel/objects/terminal_launcher' gconf --type string --set "$x/action_type" "lock" gconf --type string --set "$x/attached_toplevel_id" "" gconf --type string --set "$x/bonobo_iid" "" gconf --type string --set "$x/custom_icon" "" gconf --type string --set "$x/launcher_location" \ "/usr/share/applications/term-launcher.desktop" gconf --type bool --set "$x/locked" "false" gconf --type string --set "$x/menu_path" "applications:/" gconf --type string --set "$x/object_type" "launcher-object" gconf --type bool --set "$x/panel_right_stick" "false" gconf --type int --set "$x/position" "2" gconf --type string --set "$x/tooltip" "" gconf --type string --set "$x/toplevel_id" "top_panel" gconf --type bool --set "$x/use_custom_icon" "false" gconf --type bool --set "$x/use_menu_path" "false" echo # # The following is installing LSU locally developed RPMs for our contest image. You are free to # use them for the contest or to modify them (realize that the eclipse and java rpms include proprietary # software and by using them you are agreeing to all kinds of license stuff :) ). # echo "Installing additional packages..." yum -d 1 -y install ll-etc-pc ll-java42_12 ll-java57 ll-java58 ll-eclipse ll-usr-local ll-print echo