diff options
author | Benjamin Schlüter <bschlueter@posteo.de> | 2018-01-26 17:27:38 +0100 |
---|---|---|
committer | Benjamin Schlüter <bschlueter@posteo.de> | 2018-01-26 17:27:38 +0100 |
commit | 7588119f979f15532a7b511bc6e669105daf1ca0 (patch) | |
tree | 061fe462fe99da7cc1b256407e1a2a0b3674a948 | |
parent | 1933c2af54561ce1169afe6b47e4617fa19ed3ac (diff) | |
download | itzks-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-only | 104 | ||||
-rw-r--r-- | install-itzks-workstation-packages-only | 45 | ||||
-rw-r--r-- | install-itzks-workstation-puppet-only | 38 | ||||
-rw-r--r-- | install-itzks-workstation-user-and-partitions-only | 24 |
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 + |