194 lines
6.0 KiB
Bash
194 lines
6.0 KiB
Bash
#!/bin/bash
|
|
|
|
# ================================
|
|
# Skript zur Konfiguration von Debian
|
|
# ================================
|
|
# Beschreibung:
|
|
# Dieses Skript aktualisiert die Quellenliste, fügt neue Repositorys hinzu,
|
|
# installiert notwendige Softwarepakete über APT und Flatpak, und installiert
|
|
# zusätzliche .deb-Pakete.
|
|
|
|
# Farben für farbige Terminalausgaben definieren
|
|
GREEN='\033[0;32m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m' # Keine Farbe
|
|
|
|
# Variablen
|
|
SOURCES_FILE="/etc/apt/sources.list"
|
|
NEW_CONTENT=$(cat <<EOF
|
|
deb http://deb.debian.org/debian bookworm main contrib non-free
|
|
deb-src http://deb.debian.org/debian bookworm main contrib non-free
|
|
|
|
deb http://deb.debian.org/debian-security/ bookworm-security main contrib non-free
|
|
deb-src http://deb.debian.org/debian-security/ bookworm-security main contrib non-free
|
|
|
|
deb http://deb.debian.org/debian bookworm-updates main contrib non-free
|
|
deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free
|
|
|
|
deb http://www.ecodms.de/ecodms_240264/bookworm /
|
|
deb http://deb.debian.org/debian bookworm-backports main
|
|
EOF
|
|
)
|
|
|
|
APT_PACKAGES=(
|
|
"vlc"
|
|
"thunderbird"
|
|
"remmina"
|
|
"okular"
|
|
"libreoffice"
|
|
"gimp"
|
|
"nextcloud-desktop"
|
|
"gnucash"
|
|
"chromium"
|
|
"curl"
|
|
"ttf-mscorefonts-installer"
|
|
"ecodmsclient"
|
|
"ecodmsprinter"
|
|
"wine64"
|
|
"terminator"
|
|
)
|
|
|
|
FLATPAK_PACKAGES=(
|
|
"com.spotify.Client"
|
|
"com.bitwarden.desktop"
|
|
"com.github.philip_scott.notes-up"
|
|
"com.rustdesk.RustDesk"
|
|
)
|
|
|
|
ALTERNATIVES=(
|
|
"whatsapp-linux-app: Alternative: WhatsApp Web im Browser verwenden."
|
|
"chatgpt-desktop: Alternative: ChatGPT über die Weboberfläche nutzen."
|
|
)
|
|
|
|
DOWNLOAD_DIR=~/deb_packages
|
|
|
|
# ================================
|
|
# Funktionen
|
|
# ================================
|
|
|
|
# Funktion: Quellenliste aktualisieren
|
|
update_sources() {
|
|
echo -e "${GREEN}Aktualisiere die Quellenliste...${NC}"
|
|
echo "$NEW_CONTENT" | sudo tee "$SOURCES_FILE" > /dev/null
|
|
if [[ $? -eq 0 ]]; then
|
|
echo -e "${GREEN}Die Quellenliste wurde erfolgreich aktualisiert.${NC}"
|
|
else
|
|
echo -e "${RED}Fehler beim Aktualisieren der Quellenliste.${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# GPG-Schlüssel hinzufügen
|
|
echo -e "${GREEN}GPG-Schlüssel hinzufügen...${NC}"
|
|
wget -qO /etc/apt/trusted.gpg.d/ecodms.asc http://www.ecodms.de/gpg/ecodms.key || {
|
|
echo -e "${RED}Download des GPG-Schlüssels fehlgeschlagen.${NC}"
|
|
exit 1
|
|
}
|
|
}
|
|
|
|
# Funktion: System aktualisieren und Pakete installieren
|
|
install_apt_packages() {
|
|
echo -e "${GREEN}System wird aktualisiert...${NC}"
|
|
sudo apt update && sudo apt upgrade -y
|
|
|
|
echo -e "${GREEN}Installiere APT-Pakete...${NC}"
|
|
for PACKAGE in "${APT_PACKAGES[@]}"; do
|
|
if sudo apt install -y "$PACKAGE"; then
|
|
echo -e "${GREEN}$PACKAGE erfolgreich installiert.${NC}"
|
|
else
|
|
echo -e "${RED}Fehler bei der Installation von $PACKAGE.${NC}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
# Funktion: Flatpak installieren und Pakete einrichten
|
|
install_flatpak_packages() {
|
|
if ! command -v flatpak &> /dev/null; then
|
|
echo -e "${GREEN}Flatpak wird installiert...${NC}"
|
|
sudo apt install -y flatpak
|
|
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
fi
|
|
|
|
echo -e "${GREEN}Installiere Flatpak-Pakete...${NC}"
|
|
for PACKAGE in "${FLATPAK_PACKAGES[@]}"; do
|
|
if flatpak install -y flathub "$PACKAGE"; then
|
|
echo -e "${GREEN}$PACKAGE erfolgreich installiert.${NC}"
|
|
else
|
|
echo -e "${RED}Fehler bei der Installation von $PACKAGE.${NC}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
# Funktion: Zusätzliche .deb-Pakete herunterladen und installieren
|
|
install_deb_packages() {
|
|
echo -e "${GREEN}Lade zusätzliche .deb-Pakete herunter...${NC}"
|
|
mkdir -p "$DOWNLOAD_DIR"
|
|
|
|
wget -O "$DOWNLOAD_DIR/shadow-amd64.deb" https://update.shadow.tech/launcher/prod/linux/x86_64/shadow-amd64.deb
|
|
wget -O "$DOWNLOAD_DIR/Installer_Fakturama_linux_x64_2.1.3c.deb" https://files.fakturama.info/release/v2.1.3/Installer_Fakturama_linux_x64_2.1.3c.deb
|
|
wget -O "$DOWNLOAD_DIR/nomachine_8.14.2_1_amd64.deb" https://download.nomachine.com/download/8.14/Linux/nomachine_8.14.2_1_amd64.deb
|
|
wget -O "$DOWNLOAD_DIR/xpipe-installer-linux-x86_64.deb" https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-installer-linux-x86_64.deb
|
|
wget -O "$DOWNLOAD_DIR/rustdesk-1.3.6-x86_64.deb" https://github.com/rustdesk/rustdesk/releases/download/1.3.6/rustdesk-1.3.6-x86_64.deb
|
|
|
|
|
|
# Zusätzliche Dateien aus Zip entpacken
|
|
wget -O "$DOWNLOAD_DIR/folder.zip" "https://next.zell-cloud.de/nextcloud/s/6BHNNj9WpoAFpoW/download"
|
|
unzip -j "$DOWNLOAD_DIR/folder.zip" "*.deb" -d "$DOWNLOAD_DIR" && rm -f "$DOWNLOAD_DIR/folder.zip"
|
|
|
|
echo -e "${GREEN}Installiere .deb-Pakete...${NC}"
|
|
for DEB_FILE in "$DOWNLOAD_DIR"/*.deb; do
|
|
if sudo apt install -y "$DEB_FILE"; then
|
|
echo -e "${GREEN}$DEB_FILE erfolgreich installiert.${NC}"
|
|
else
|
|
echo -e "${RED}Fehler bei der Installation von $DEB_FILE.${NC}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
# Funktion: Alternativen anzeigen
|
|
show_alternatives() {
|
|
echo -e "${GREEN}Alternativen für nicht verfügbare Pakete:${NC}"
|
|
for ALT in "${ALTERNATIVES[@]}"; do
|
|
echo -e "${GREEN}$ALT${NC}"
|
|
done
|
|
}
|
|
|
|
# Funktion: autofs
|
|
autofs() {
|
|
sudo apt install autofs -y
|
|
echo "/net /etc/auto.net --timeout=600" | sudo tee -a /etc/auto.master
|
|
systemctl restart autofs
|
|
systemctl enable autofs
|
|
}
|
|
|
|
# Funktion: shared_dir
|
|
shared_dir() {
|
|
# Variablen
|
|
SHARED_DIR="/home/shared"
|
|
|
|
# Ordner erstellen
|
|
echo "Erstelle den gemeinsamen Ordner unter $SHARED_DIR..."
|
|
sudo mkdir -p "$SHARED_DIR"
|
|
|
|
# Berechtigungen setzen
|
|
echo "Setze die Berechtigungen für $SHARED_DIR..."
|
|
sudo chmod 1777 "$SHARED_DIR"
|
|
|
|
# Abschlussmeldung
|
|
echo "Der Ordner $SHARED_DIR wurde erfolgreich erstellt und konfiguriert."
|
|
echo "Alle Benutzer haben Zugriff auf diesen Ordner."
|
|
}
|
|
|
|
|
|
# ================================
|
|
# Hauptskript
|
|
# ================================
|
|
update_sources
|
|
install_apt_packages
|
|
install_flatpak_packages
|
|
install_deb_packages
|
|
show_alternatives
|
|
autofs
|
|
shared_dir
|
|
|
|
echo -e "${GREEN}Skript abgeschlossen.${NC}"
|