linuxparty.sh 4.21 KB
Newer Older
Niklas Fischer's avatar
Niklas Fischer committed
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash

set -e

# Root pruefen 

if [ x$EUID != x0 ]
then
  echo "Du bist nicht ROOT ... verwende \"sudo bash $0\" !"
  exit 1
fi

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
Niklas Fischer's avatar
Niklas Fischer committed
66
67
68

#Medibuntu einbinden

69
70
if askyesno "Sollen die Medibuntu-Paketquellen hinzugefügt werden ?"
then
Niklas Fischer's avatar
Niklas Fischer committed
71
72
	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
73
74
75
76
77
78
79
	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"
Niklas Fischer's avatar
Niklas Fischer committed
80
81
82
83
else
	echo "Es wurde nichts installiert"
fi

84
85
#Allgemeine Programme, Codecs, etc. installieren (VPN, LaTeX, gcc, Flash, unrar...)

86
echo
87
echo "Programme, die für alle Fachrichtungen interressant sind (VPN, LaTeX, Flash, unrar, etc.)"
88
89
90
91
92
93
94
95
96
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"
97
98
99
else
	echo "Es wurde nichts installiert"
fi
Niklas Fischer's avatar
Niklas Fischer committed
100
101
102

#Fachrichtung wählen

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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)
119
120
121
122
	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
123
	apt-get update
124
	apt-get --quiet install -y root-system libroot-core-dev libroot-bindings-python-dev
125
	echo "ROOT wurde installiert"
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
	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;