Select Git revision
linuxparty.sh
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
linuxparty.sh 4.22 KiB
#!/bin/bash
set -e
# Root pruefen
if [ x$EUID != x0 ]
then
echo "Du bist nicht ROOT ... verwende \"sudo bash $0\" !"
exit 1
fi
askyesno() {
while true
do
read -n1 -p "$1 [j,n]"
echo
case "$REPLY" in
y|Y|j|J) return 0;;
n|N) return 1;;
*) echo 'Antworte bitte mit "j" für "Ja" oder "n" für "Nein"' ;;
esac
done
}
ok() {
echo
echo -ne "\033[32;7m" # gruen
echo -n "$@"
echo -e "\033[0m" # normal
}
warn() {
echo
echo -ne "\033[33;7m" # gelb
echo -n "$@"
echo -e "\033[0m" # normal
}
err() {
echo
echo -ne "\033[31;7m" # rot
echo -n "$@"
echo -e "\033[0m" # normal
}
# Verbose error trapping
showerr() {
err "Bei der Installation ist ein Fehler aufgetreten. Frage einen Helfer."
}
trap showerr ERR
# DEBUG-Modus:
#apt-get() {
# echo "APT-GET $@"
#}
#/ DEBUG-Modus:
# System absichern
if askyesno "Netzwerk: Soll die Ubuntu Firewall (ufw/gufw) aktiviert werden ?"
then
ufw enable
apt-get --quiet install -y gufw
ok "Firewall aktiviert, benutze 'gufw' um die Einstellungen der Firewall zu verändern"
fi
#Medibuntu einbinden
if askyesno "Sollen die Medibuntu-Paketquellen hinzugefügt werden ?"
then
wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && apt-get --quiet update && apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && apt-get --quiet update
apt-get --quiet install -y app-install-data-medibuntu apport-hooks-medibuntu
apt-get --quiet install -y non-free-codecs
apt-get --quiet install -y libdvdread4
/usr/share/doc/libdvdread4/install-css.sh
apt-get --quiet install -y libdvdcss2 libxine1-ffmpeg gxine mencoder
apt-get --quiet install -y ffmpeg
apt-get --quiet install -y vlc mplayer
ok "DVDs abspielen ist nun möglich; der VLC Player und mplayer sind installiert worden"
else
echo "Es wurde nichts installiert"
fi
#Allgemeine Programme, Codecs, etc. installieren (VPN, LaTeX, gcc, Flash, unrar...)
echo
echo "Programme, die für alle Fachrichtungen interressant sind (VPN, LaTeX, Flash, unrar, etc.)"
if askyesno "Sollen diese Programme installiert werden ?"
then
apt-get -y --quiet install ubuntu-restricted-extras
ok "Codec Installation abgeschlossen"
apt-get install synaptic pwgen
ok "Installation der System-Utilities abgeschlossen"
apt-get install -y build-essential gcc g++ make automake vpnc network-manager-vpnc
apt-get install texlive texlive-doc-de texlive-latex-extra texlive-lang-german
ok "Development Programme, VPN und LaTeX abgeschlossen"
else
echo "Es wurde nichts installiert"
fi
#Fachrichtung wählen
echo
echo "Auswahl fachspezifischer Software. Wähle deine Fachrichtung:"
( # Diese Subshell setzt PS3 nur lokal
PS3="Deine Auswahl [1,2,3,4,5]<Enter>: "
select fach in "Informatik" "Mathematik" "Physik" "<anderes Fach>" "<keine Spezial-Software installieren>"
do
case "$fach" in
"") echo "Bitte wähle entsprechend deiner Fachrichtung eine Zahl von 1 bis 4 aus, tippe sie ein und drücke dann <Enter>"
;;
Informatik)
apt-get --quiet install -y default-jdk eclipse hugs swi-prolog
ok "Java, Haskell, Prolog und Eclipse wurden installiert"
break
;;
Physik)
wget http://www.fsmpi.rwth-aachen.de/apt/osak@fsmpi.rwth-aachen.de.gpg.key -O fsmpi.key
apt-key add fsmpi.key
rm fsmpi.key
echo "deb http://www.fsmpi.rwth-aachen.de/apt/ oneiric main" > /etc/apt/sources.list.d/fsmpi-root.list
apt-get update
apt-get --quiet install -y root-system libroot-core-dev libroot-bindings-python-dev
echo "ROOT wurde installiert"
apt-get --quiet install -y python python-numpy python-simpy python-scipy python-matplotlib ipython python-dev gnuplot wxmaxima kmplot
ok "Python (inkl. scipy und numpy), gnuplot, WxMaxima und KMplot wurden installiert"
break
;;
Mathematik)
warn "Bitte wende dich an deine Professoren - die Faschschaft I/1 könnte nicht klären," \
"welche (freie) Spezial-Software Mathematiker üblicherweise benutzen."
break
;;
"<anderes Fach>")
echo
echo "Für andere Fächer gibt es keine allgemeine Software-Empfehlung. Frage einen Helfer."
break
;;
"<keine Spezial-Software installieren>")
break ;;
esac
done
)
echo
echo "Wenn Du Software für eine weitere Fachrichung installieren möchtest, starte $0 erneut."
#end;