summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Schlüter <bschlueter@posteo.de>2018-01-26 17:27:38 +0100
committerBenjamin Schlüter <bschlueter@posteo.de>2018-01-26 17:27:38 +0100
commit7588119f979f15532a7b511bc6e669105daf1ca0 (patch)
tree061fe462fe99da7cc1b256407e1a2a0b3674a948
parent1933c2af54561ce1169afe6b47e4617fa19ed3ac (diff)
downloaditzks-install-script-7588119f979f15532a7b511bc6e669105daf1ca0.tar.gz
itzks-install-script-7588119f979f15532a7b511bc6e669105daf1ca0.tar.bz2
itzks-install-script-7588119f979f15532a7b511bc6e669105daf1ca0.zip
Made part-scripts available for testing.
-rw-r--r--install-itzks-workstation-network-only104
-rw-r--r--install-itzks-workstation-packages-only45
-rw-r--r--install-itzks-workstation-puppet-only38
-rw-r--r--install-itzks-workstation-user-and-partitions-only24
4 files changed, 211 insertions, 0 deletions
diff --git a/install-itzks-workstation-network-only b/install-itzks-workstation-network-only
new file mode 100644
index 0000000..46b0f43
--- /dev/null
+++ b/install-itzks-workstation-network-only
@@ -0,0 +1,104 @@
+#!/bin/bash
+# script for installing a Debian Edu Workstation with ITZkS modifications
+
+set -e
+
+# FIXME: this should be scripted; manage with puppet instead
+read -p '''! Änderung in Network-Interfaces
+Ändere die bestehenden Einträge für eth0 auf
+
+ #NetworkManager iface eth0 inet dhcp
+
+Starte nun den Editor mit [Enter]
+'''
+editor /etc/network/interfaces
+
+####################
+
+# FIXME: this should be scripted; manage with puppet instead
+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
+
+# Alternate: scripted edit to /etc/default/nfs-common when script is run
+# sed -i 's/NEED_GSSD=.*/NEED_GSSD=/' /etc/default/nfs-common
+
+####################
+
+# Add system-wide WiFi-config
+# 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
+
+# Alternate: Check for WiFi-Interface before asking for SSID and PW
+
+#FOUND=`iwconfig | grep "IEE 802.11"`
+#WIFIDEV=$(echo "$FOUND" | awk '{print $1}')
+
+# FIXME: this works for systemd-networkd, but not for NetworkManager
+#if [ -n "$FOUND" ]; then
+# export WIFIDEV
+# # Add system-wide WiFi-config
+# echo '! WIFI-Netzwerk hinzufügen'
+# read -p 'Wie lautet die SSID? ' ssid
+# read -p 'Wie lautet das zugehörige Passwort? ' passw
+# wpa_passphrase $ssid $passw >> /etc/wpa_supplicant/wpa_supplicant-$WIFIDEV.conf
+#fi
+
+# Alternate WiFi-config for NetworkManager
+
+# Write standard config
+touch /etc/NetworkManager/system-connections/BLANK
+cat <<EOT >> /etc/NetworkManager/system-connections/BLANK
+[connection]
+id=<SSID>
+uuid=42d084e4-4ff0-45a0-8aee-771c7a568046
+type=wifi
+permissions=
+timestamp=1515144490
+autoconnect=true
+
+[wifi]
+mac-address-blacklist=
+mode=infrastructure
+ssid=<SSID>
+
+[wifi-security]
+key-mgmt=wpa-psk
+psk=<password>
+
+[ipv4]
+dns-search=
+method=auto
+ignore-auto-routes=false
+ignore-auto-dns=false
+never-default=false
+
+[ipv6]
+method=ignore
+EOT
+
+# Generate uuid and timestamp and overwrite in file
+
+UUID=$(uuidgen -t wlan0)
+sed -i 's/uuid=.*/uuid='"$UUID"'/' /etc/NetworkManager/system-connections/BLANK
+
+TIMESTAMP=$(date +%s )
+sed -i 's/timestamp=.*/timestamp='"$TIMESTAMP"'/' /etc/NetworkManager/system-connections/BLANK
+
+# Ask user for SSID and password
+echo '! WIFI-Netzwerk hinzufügen'
+read -p 'Wie lautet die SSID? ' ssid
+sed -i 's/ssid=.*/ssid='"$ssid"'/' /etc/NetworkManager/system-connections/BLANK
+sed -i 's/id=<SSID>/id='"$ssid"'/' /etc/NetworkManager/system-connections/BLANK
+read -p 'Wie lautet das zugehörige Passwort? ' passw
+sed -i 's/psk=.*/psk='"$passw"'/' /etc/NetworkManager/system-connections/BLANK
+mv /etc/NetworkManager/system-connections/BLANK /etc/NetworkManager/system-connections/"$ssid"
+
+# Set permissions on generated file
+chmod go-rwx /etc/NetworkManager/systems-connections/"$ssid" \ No newline at end of file
diff --git a/install-itzks-workstation-packages-only b/install-itzks-workstation-packages-only
new file mode 100644
index 0000000..b6cce9b
--- /dev/null
+++ b/install-itzks-workstation-packages-only
@@ -0,0 +1,45 @@
+#!/bin/bash
+# script for installing a Debian Edu Workstation with ITZkS modifications
+
+set -e
+
+# Add itzks.list and its contents if file not already there
+if [ ! -e "/etc/apt/sources.list.d/itzks.list" ]; then
+ touch /etc/apt/sources.list.d/itzks.list
+ echo "deb http://packages.it-zukunft-schule.de/debian stretch main contrib non-free" >> /etc/apt/sources.list.d/itzks.list
+ echo "deb http://packages.it-zukunft-schule.de/debian stretch-backports main contrib non-free" >> /etc/apt/sources.list.d/itzks.list
+ echo "deb http://packages.it-zukunft-schule.de/debian sid main contrib non-free" >> /etc/apt/sources.list.d/itzks.list
+fi
+
+# Export proxy-settings for first install
+export https_proxy=http://webcache:3128
+export http_proxy=http://webcache:3128
+export ftp_proxy=http://webcache:3128
+
+# Get update and add itzks-keyring and itzks-systems-common package
+apt-get update
+apt-get install itzks-keyring && apt-get update && apt-get install itzks-systems-common
+
+# Get update and install keyring packages
+apt-get update
+apt-get install x2go-keyring deb-multimedia-keyring arctica-keyring && apt-get update
+
+# Install the itzks-systems-workstation package
+apt-get install --yes --force-yes ocsinventory-agent
+itzks-systems.do_preseed
+apt-get install itzks-systems-workstation
+
+# Install wireless-tools for configuration of WiFi
+apt-get install wireless-tools
+
+# Alternate install libdvdcss2 if needed
+read -p "Verfügt der Rechner über ein DVD-Laufwerk bzw. sollen DVDs abgespielt werden könnne? (j/n)? " answer
+case ${answer:0:1} in
+ y|Y|j|J )
+ apt install libdvdcss2
+ ;;
+ *)
+ :
+ ;;
+esac
+
diff --git a/install-itzks-workstation-puppet-only b/install-itzks-workstation-puppet-only
new file mode 100644
index 0000000..48d9ae2
--- /dev/null
+++ b/install-itzks-workstation-puppet-only
@@ -0,0 +1,38 @@
+#!/bin/bash
+# script for installing a Debian Edu Workstation with ITZkS modifications
+
+set -e
+
+# Install puppet-agent
+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] '''
+
+# Set hostname
+read -p 'Wie lautet der Hostname (ohne Domain)? ' myhost
+hostnamectl set-hostname $myhost
+
+# To be sure restart the following services
+invoke-rc.d rsyslog restart
+invoke-rc.d cron restart
+invoke-rc.d puppet restart
+
+# Install and enable puppet-agent on client
+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
+ - des Puppet-Agents
+ist abgeschlossen.''' \ No newline at end of file
diff --git a/install-itzks-workstation-user-and-partitions-only b/install-itzks-workstation-user-and-partitions-only
new file mode 100644
index 0000000..4d8bc2f
--- /dev/null
+++ b/install-itzks-workstation-user-and-partitions-only
@@ -0,0 +1,24 @@
+#!/bin/bash
+# script for installing a Debian Edu Workstation with ITZkS modifications
+
+set -e
+
+# Add user locadm if not already there
+if [ -z $"(getent passwd locadm)" ]; then
+ adduser --gecos "Local Administrator" locadm
+ adduser locadm sudo
+fi
+
+# Enlarge root-fs
+
+if [ -e /dev/vg_system/usr ]; then
+ lvextend -L 18G /dev/vg_system/usr
+ resize2fs /dev/vg_system/usr
+else
+ lvextend -L 22G /dev/vg_system/root
+ resize2fs /dev/vg_system/root
+fi
+
+# Retrieve LDAP CA certificate
+invoke-rc.d fetch-ldap-cert start
+