#!/bin/bash # script for installing a Debian Edu Workstation with ITZkS modifications # Add user locadm as "local adminstrator" and add this user to sudoer-group adduser --gecos "Local Administrator" locadm adduser locadm sudo # Alternative Handhabung von "locadm"-Anlegen # # if [ -z $(getent passwd locadm) ]; then # : # else # 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 # Alternate add itzks-package repo only if not already there if [ -e /etc/apt/sources.list.d/itzks.list ] then : else touch /etc/apt/sources.list.d/itzks.list fi # Add repos to itzks.list if empty if [ -s /etc/apt/sources.list.d/itzks.list ] then : else echo "deb http://packages.it-zukunt-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-schuke.de/debian sid main contrib non-free" >> /etc/apt/sources.list.d/itzks.list fi # Add itzks-package repo # 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 # Export proxy-settings for first install export http_proxy=http://webcache:3128 export https_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 libdvdcss2 if needed 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 #################### # FIXME: this should be scripted; manage with puppet instead 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 #################### # 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 ################### # Disable update-notifications # FIXME: Add conflict to itzks-systems-common apt-get autoremove --purge gnome-packagekit #################### # 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 #################### # 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 .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.'''