summaryrefslogtreecommitdiff
path: root/install-itzks-workstation
blob: ed5b4f9a69dcc7c32d402c9e981bd337e847b7e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#!/bin/bash
# Script zur Installation einer ITZKS-Workstation (z.B. Notebooks am Katharineum)
adduser --gecos "Local Administrator" locadm
adduser locadm sudo
lvextend -L 20G /dev/vg_system/root
resize2fs /dev/vg_system/root
invoke-rc.d fetch-ldap-cert start
touch /etc/apt/sources.list.d/itzks.list
echo "deb http://packages.it-zukunft-schule.de/debian jessie main contrib non-free" >> /etc/apt/sources-list.d/itzks.list
echo "deb http://packages.it-zukunft-schule.de/debian jessie-backports main contrib non-free" >> /etc/apt/sources-list.d/itzks.listapt-get update
apt-get update
apt-get install itzks-keyring && apt-get update && apt-get install itzks-systems-common
apt-get update
apt-get install x2go-keyring deb-multimedia-keyring && apt-get update
itzks-systems.do_preseed
apt-get install itzks-systems-workstation
dpkg-reconfigure kdm
while true; do
    read -p "Verfügt der Rechner über ein DVD-Laufwerk bzw. sollen DVDs abgespielt werden können? [j/n] " yn
    case $yn in
        [Jj]* ) apt install libdvdcss2; break;;
        [Nn]* ) exit;;
        * ) echo "Bitte antworte mit Ja oder Nein.";;
    esac
done
apt-get install libnss-mdns

####################
read -p '''!   Änderung in Network-Interfaces
Ändere die bestehenden Einträge für eth0 auf
   allow-hotplug eth0
   #NetworkManager
   #iface eth0 inet dhcp
Starte nun den Editor mit [Enter]
'''
editor /etc/network/interfaces
####################
read -p '''!   Änderung in NFS-Common
Ändere die Datei /etc/default/nfs-common am Ende:
   NEED_GSSD= (leer lassen)
Starte nun den Editor mit [Enter]
'''
editor /etc/default/nfs-common
###################
read -p '''!   Aktivieren von jessie, jessie-updates, jessie-security 
Parameter wie folgt setzen:
    Unattended-Upgrade::MinimalSteps "true";
    Unattended-Upgrade::InstallOnShutdown "false";
    Unattended-Upgrade::Automatic-Reboot "false"; 
Starte nun den Editor mit [Enter]
'''
editor /etc/apt/apt.conf.d/50unattended-upgrades
##################
echo '!   Java installieren...'
apt-get install oracle-java8-bin oracle-java8-jre oracle-java8-plugin
update-java-alternatives --jre --set java-8-oracle
update-java-alternatives --plugin --set java-8-oracle
###################
read -p '''!   Update-Benachrichtigungen deaktivieren
Es wird nun geprüft, ob die Update-Benachrichtigungen aktiv sind. [ENTER] 
'''
dpkg -l gnome-packagekit
while true; do
    read -p "Lies die Textausgabe des letzten Befehls. Ist das Paket aktiviert? [j/n] " yn
    case $yn in
        [Jj]* ) apt-get remove --purge gnome-packagekit; break;;
        [Nn]* ) exit;;
        * ) echo "Bitte antworte mit Ja oder Nein.";;
    esac
done
###################
echo '!   Umstellung auf systemd-networkd'
WIFIDEV=wlan0
export DEBIAN_FRONTEND=noninteractive
apt-get remove -q -y --purge resolvconf
systemctl disable NetworkManager
systemctl enable systemd-networkd.service
systemctl enable systemd-resolved.service
systemctl start systemd-resolved.service
rm /etc/resolv.conf
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
cat > /etc/systemd/network/20-dhcp.network << EOF
[Match]
Name=eth*

[Network]
DHCP=yes
EOF

cat > /etc/systemd/network/21-dhcp-wireless.network << EOF
[Match]
Name=$WIFIDEV

[Network]
DHCP=yes
EOF

cat > /etc/systemd/system/wpa_supplicant@.service << EOF
[Unit]
Description=WPA supplicant daemon (interface-specific version)
Requires=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
Before=network.target
Wants=network.target

# NetworkManager users will probably want the dbus version instead.

[Service]
Type=simple
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -i%I

[Install]
Alias=multi-user.target.wants/wpa_supplicant@%i.service
EOF

touch /etc/wpa_supplicant/wpa_supplicant-$WIFIDEV.conf
chmod go-rwx /etc/wpa_supplicant/wpa_supplicant-$WIFIDEV.conf

systemctl enable wpa_supplicant@$WIFIDEV.service
systemctl disable networking
systemctl disable wpa_supplicant.service
####################
echo '!   WIFI-Netzwerk hinzufügen'
read -p 'Wie lautet die SSID? ' ssid
read -p 'Wie lautet das zugehörige Passwort? ' passw
export WIFIDEV=wlan0
wpa_passphrase $ssid $passw >> /etc/wpa_supplicant/wpa_supplicant-$WIFIDEV.conf
####################
echo '!   Puppet-Agent installieren'
read -p '''Bevor der Puppet-Agent installiert werden kann,
muss der Hostname geändert werden. Es darf kein "lan" im
Namen auftauchen, z.B. statt mw101-lan.intern muss
es mw101.intern heißen. [ENTER] '''
#editor /etc/hostname
#read -p '''Der Rechner wird jetzt neu gestartet. 
#Danach bitte install-itzks2.sh ausführen. [ENTER] '''
#
# Folgendes ist eleganter
read -p 'Wie lautet der Hostname (ohne Domain)? ' myhost
hostnamectl set-hostname $myhost
# Hier muss ein Neustart vermieden werden. Welche Dienste sind neu zu starten?
# invode
echo '!   Puppet-Agent wird installiert... '
apt-get install puppet
puppet agent --test
puppet agent --enable
read -p '''Nun mit ssh auf den tjener wechseln und dort
mit   puppet cert --list   die am Master angemeldeten
Clients auflisten.

Anschließend mit   puppet cert --sign <myhost>.intern
den Puppet-Agent des Clients authorisieren. [ENTER] '''
ssh tjener
echo '''!   FERTIG
Die Installation 
  - des Basissystems mit ITZKS-Anpassungen
  - der Umstellung auf systemd-networkd
  - des Puppet-Agents
ist abgeschlossen.'''