Dateien nach "/" hochladen
This commit is contained in:
parent
b815307d1e
commit
fe02ac5770
|
|
@ -0,0 +1,255 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Überprüfen, ob das Skript als Root ausgeführt wird
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "Dieses Skript muss als Root ausgeführt werden!" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Systemaktualisierung
|
||||
apt-get update
|
||||
apt-get upgrade
|
||||
apt-get dist-upgrade
|
||||
|
||||
|
||||
|
||||
# Prüfen, ob 'software-properties-common' installiert ist (notwendig für add-apt-repository)
|
||||
if ! dpkg -l | gr<ep -q software-properties-common; then
|
||||
apt-get install -y software-properties-common
|
||||
fi
|
||||
|
||||
# Die Datei, in der der Fortschritt gespeichert wird
|
||||
PROGRESS_FILE="/var/script_progress.txt"
|
||||
|
||||
|
||||
# Prüfen, ob eine Fortschrittsdatei existiert
|
||||
if [ -f "$PROGRESS_FILE" ]; then
|
||||
# Wenn die Datei existiert, lesen wir den Fortschritt
|
||||
STEP=$(cat "$PROGRESS_FILE")
|
||||
else
|
||||
touch "@PROGRESS_FILE"
|
||||
echo "Die Datei '$FILENAME' wurde erstellt."
|
||||
echo "1" > "$PROGRESS_FILE"
|
||||
# Wenn keine Fortschrittsdatei existiert, starten wir bei Schritt 1
|
||||
STEP=1
|
||||
fi
|
||||
|
||||
# Schritt 1: Domänenbeitritt
|
||||
if [ "$STEP" -eq 1 ]; then
|
||||
# PPA hinzufügen und notwendige Pakete installieren
|
||||
add-apt-repository ppa:univention-dev/ppa
|
||||
apt-get update
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install univention-domain-join
|
||||
|
||||
echo "Bitte treten Sie nun mit der Desktop-Anwendung der Domäne bei"
|
||||
|
||||
# Pause, bis der Benutzer eine Taste drückt
|
||||
read -p "Drücken Sie Enter, um fortzufahren..."
|
||||
echo "2" > "$PROGRESS_FILE"
|
||||
reboot
|
||||
fi
|
||||
|
||||
# Schritt 2: LDAP-Gruppe für Sudo-Rechte und SSH-Zugriff konfigurieren
|
||||
if [ "$STEP" -eq 2 ]; then
|
||||
# LDAP-Gruppen anzeigen
|
||||
echo "Alle LDAP-Gruppen:"
|
||||
getent group
|
||||
|
||||
# LDAP-Gruppe für Sudo-Rechte hinzufügen (Ändere 'Administrators' auf die gewünschte Gruppe)
|
||||
GRUPPE="Administrators"
|
||||
echo "Füge Gruppe $GRUPPE zu Sudo-Rechten hinzu..."
|
||||
|
||||
# Sicherstellen, dass die Gruppe existiert
|
||||
if ! getent group $GRUPPE > /dev/null; then
|
||||
echo "Die Gruppe '$GRUPPE' existiert nicht. Bitte sicherstellen, dass die Gruppe korrekt ist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Benutzer zur Sudo-Gruppe hinzufügen
|
||||
usermod -aG sudo $GRUPPE
|
||||
|
||||
# Überprüfen, ob der SSH-Daemon installiert ist
|
||||
if ! dpkg -l | grep -q openssh-server; then
|
||||
echo "OpenSSH-Server ist nicht installiert. Installiere es jetzt..."
|
||||
apt update && apt install -y openssh-server
|
||||
fi
|
||||
|
||||
# SSH-Zugriff für diese Gruppe aktivieren
|
||||
echo "SSH-Zugriff für Gruppe $GRUPPE erlauben..."
|
||||
echo "AllowGroups $GRUPPE" >> /etc/ssh/sshd_config
|
||||
|
||||
# SSH-Dienst neu starten
|
||||
systemctl restart ssh
|
||||
|
||||
# Root-Rechte der Gruppe zuweisen (sudo erlauben)
|
||||
echo "Root-Rechte für Gruppe $GRUPPE (über Sudo) zuweisen..."
|
||||
echo "%$GRUPPE ALL=(ALL:ALL) ALL" >> /etc/sudoers
|
||||
|
||||
# Änderungen anwenden
|
||||
echo "Skript abgeschlossen. Bitte testen Sie die Änderungen."
|
||||
|
||||
# Fortschritt speichern
|
||||
echo "3" > "$PROGRESS_FILE"
|
||||
fi
|
||||
|
||||
# Schritt 3: Snap-Pakete installieren
|
||||
if [ "$STEP" -eq 3 ]; then
|
||||
# Liste der zu installierenden Snap-Pakete
|
||||
SNAP_PACKAGES=(
|
||||
"vlc"
|
||||
"spotify"
|
||||
"termius-app"
|
||||
"thunderbird"
|
||||
"remmina"
|
||||
"okular"
|
||||
"libreoffice"
|
||||
"gimp"
|
||||
"nextcloud-desktop-client"
|
||||
"gnucash-jz"
|
||||
"bitwarden"
|
||||
"whatsapp-linux-app"
|
||||
"notes"
|
||||
"chatgpt-desktop"
|
||||
|
||||
)
|
||||
|
||||
# Snap-Pakete installieren
|
||||
for SNAP in "${SNAP_PACKAGES[@]}"; do
|
||||
echo "Installiere $SNAP..."
|
||||
snap install "$SNAP" --classic
|
||||
done
|
||||
|
||||
# Snap-Verbindungen konfigurieren (z.B. Remmina)
|
||||
snap connect remmina:audio-record :audio-record
|
||||
snap connect remmina:avahi-observe :avahi-observe
|
||||
snap connect remmina:cups-control :cups-control
|
||||
snap connect remmina:mount-observe :mount-observe
|
||||
snap connect remmina:password-manager-service :password-manager-service
|
||||
snap connect remmina:ssh-keys :ssh-keys
|
||||
snap connect remmina:ssh-public-keys :ssh-public-keys
|
||||
|
||||
# Fortschritt speichern
|
||||
echo "4" > "$PROGRESS_FILE"
|
||||
fi
|
||||
|
||||
# Schritt 4: Repository hinzufügen und installieren
|
||||
if [ "$STEP" -eq 4 ]; then
|
||||
# URL der Paketquelle
|
||||
REPO_URL="deb http://www.ecodms.de/ecodms_240164/noble /"
|
||||
|
||||
# Datei, in der die Quelle hinzugefügt wird
|
||||
SOURCES_LIST_FILE="/etc/apt/sources.list.d/ecodms.list"
|
||||
|
||||
# Füge die Quelle hinzu
|
||||
echo "$REPO_URL" | tee "$SOURCES_LIST_FILE" > /dev/null
|
||||
|
||||
# GPG-Schlüssel hinzufügen
|
||||
wget -qO /etc/apt/trusted.gpg.d/ecodms.asc http://www.ecodms.de/gpg/ecodms.key || { echo "Download des GPG-Schlüssels fehlgeschlagen"; exit 1; }
|
||||
|
||||
# Paketquellen aktualisieren und Pakete installieren
|
||||
apt update
|
||||
apt upgrade -y
|
||||
apt-get install -y ecodmsclient
|
||||
apt-get install -y ecodmsprinter
|
||||
systemctl daemon-reload
|
||||
|
||||
# Automatisch fehlende Abhängigkeiten installieren
|
||||
apt-get install -f -y
|
||||
|
||||
# Unnötige Pakete entfernen
|
||||
apt-get autoremove -y
|
||||
|
||||
# Fortschritt speichern
|
||||
echo "5" > "$PROGRESS_FILE"
|
||||
|
||||
echo "Installation abgeschlossen!"
|
||||
fi
|
||||
|
||||
# Schritt 5: Software installieren
|
||||
if [ "$STEP" -eq 5 ]; then
|
||||
mkdir /mnt/software
|
||||
echo "Passwort: Et48^nSGRh6644"
|
||||
sshfs root@192.168.176.6:/mnt/synology/software/ubuntu_client /mnt/software
|
||||
cp /mnt/software/* /home/sebastian/Downloads
|
||||
umount /mnt/software
|
||||
rmdir /mnt/software
|
||||
cd /home/sebastian/Downloads/
|
||||
|
||||
dpkg -i rustdesk-1.3.5-x86_64.deb
|
||||
apt-get install -f -y
|
||||
dpkg -i BricsCAD-V24.2.07-1-de_DE-amd64.deb
|
||||
apt-get install -f -y
|
||||
dpkg -i Installer_Fakturama_linux_x64_2.2.0-BETA.deb
|
||||
apt-get install -f -y
|
||||
dpkg -i shadow-amd64.deb
|
||||
apt-get install -f -y
|
||||
sudo dpkg -i nomachine_8.14.2_1_amd64.deb
|
||||
apt-get install -f -y
|
||||
sudo apt install wine
|
||||
dpkg --add-architecture i386 && apt-get update && apt-get install wine32:i386
|
||||
|
||||
|
||||
# Unnötige Pakete entfernen
|
||||
apt-get autoremove -y
|
||||
|
||||
|
||||
mkdir -p /var/bricsys
|
||||
mkdir -p /var/tmp
|
||||
chmod -R 777 /var/bricsys
|
||||
chmod -R 777 /var/tmp
|
||||
|
||||
|
||||
|
||||
# Fortschritt speichern
|
||||
echo "6" > "$PROGRESS_FILE"
|
||||
|
||||
fi
|
||||
|
||||
# Schritt 6: Wireguard client
|
||||
if [ "$STEP" -eq 6 ]; then
|
||||
cd /home/sebastian/Downloads/
|
||||
wget https://github.com/UnnoTed/wireguird/releases/download/v1.0.0/wireguird_amd64.deb
|
||||
sudo dpkg -i ./wireguird_amd64.deb
|
||||
apt-get install -f -y
|
||||
# Fortschritt speichern
|
||||
echo "7" > "$PROGRESS_FILE"
|
||||
fi
|
||||
|
||||
# Schritt 7: NFS
|
||||
if [ "$STEP" -eq 7 ]; then
|
||||
|
||||
sudo apt install autofs -y
|
||||
echo "/net /etc/auto.net --timeout=600" | sudo tee -a /etc/auto.master
|
||||
systemctl restart autofs
|
||||
systemctl enable autofs
|
||||
|
||||
|
||||
~/symlink_manager.sh
|
||||
|
||||
|
||||
# Fortschritt speichern
|
||||
echo "8" > "$PROGRESS_FILE"
|
||||
fi
|
||||
|
||||
# Schritt 8: offene arbeiten
|
||||
if [ "$STEP" -eq 8 ]; then
|
||||
|
||||
|
||||
echo "- Drucuker installieren"
|
||||
echo "- Bricscad installieren mit dem lizenzserver.zell-cloud.de"
|
||||
echo "- Wireguard conf importieren"
|
||||
echo "- SQL Server konfigurieren für Fakturama"
|
||||
echo "- SQL Server konfigurieren für Gnu-Cash"
|
||||
|
||||
|
||||
# Fortschritt speichern
|
||||
echo "9" > "$PROGRESS_FILE"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
echo "Installation abgeschlossen!"
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue