programm ubuntu aktualisiert

This commit is contained in:
sebastian.zell 2024-12-31 10:53:18 +00:00
parent b528107ba7
commit b8c9bbc8c7
1 changed files with 70 additions and 73 deletions

View File

@ -1,8 +1,5 @@
#!/bin/bash
# ================================
# Skript zur Konfiguration von Debian
# ================================
@ -16,6 +13,9 @@ GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m' # Keine Farbe
# System aktualisieren
sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y
# Variablen
SOURCES_FILE="/etc/apt/sources.list"
NEW_CONTENT=$(cat <<EOF
@ -51,24 +51,18 @@ APT_PACKAGES=(
"terminator"
)
SNAP_PACKAGES=(
"spotify"
"bitwarden"
"whatsapp-linux-app"
"notes"
"chatgpt-desktop"
"bw"
)
FLATPAK_PACKAGES=(
""
SNAP_PACKAGES=(
"spotify"
"bitwarden"
"whatsapp-linux-app"
"notes"
"chatgpt-desktop"
"bw"
)
ALTERNATIVES=(
"none"
)
FLATPAK_PACKAGES=()
DOWNLOAD_DIR=~/deb_packages
DOWNLOAD_DIR="$HOME/deb_packages"
# ================================
# Funktionen
@ -78,14 +72,11 @@ DOWNLOAD_DIR=~/deb_packages
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
if [[ $? -ne 0 ]]; then
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}"
@ -96,7 +87,10 @@ update_sources() {
# Funktion: System aktualisieren und Pakete installieren
install_apt_packages() {
echo -e "${GREEN}System wird aktualisiert...${NC}"
sudo apt update && sudo apt upgrade -y
sudo apt update && sudo apt upgrade -y || {
echo -e "${RED}Fehler bei Systemaktualisierung.${NC}"
exit 1
}
echo -e "${GREEN}Installiere APT-Pakete...${NC}"
for PACKAGE in "${APT_PACKAGES[@]}"; do
@ -108,11 +102,34 @@ install_apt_packages() {
done
}
# Funktion: Snap installieren und Pakete einrichten
install_snap_packages() {
if ! command -v snap &> /dev/null; then
echo -e "${GREEN}Snap wird installiert...${NC}"
sudo apt install -y snapd || {
echo -e "${RED}Fehler bei der Snap-Installation.${NC}"
exit 1
}
fi
echo -e "${GREEN}Installiere Snap-Pakete...${NC}"
for SNAP in "${SNAP_PACKAGES[@]}"; do
if sudo snap install "$SNAP" --classic; then
echo -e "${GREEN}$SNAP erfolgreich installiert.${NC}"
else
echo -e "${RED}Fehler bei der Installation von $SNAP.${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 apt install -y flatpak || {
echo -e "${RED}Fehler bei der Flatpak-Installation.${NC}"
exit 1
}
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
fi
@ -126,31 +143,25 @@ install_flatpak_packages() {
done
}
# Funktion: snap installieren und Pakete einrichten
install_snap_packages() {
for SNAP in "${SNAP_PACKAGES[@]}"; do
echo "Installiere $SNAP..."
snap install "$SNAP" --classic
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
declare -A DEB_URLS=(
["shadow-amd64.deb"]="https://update.shadow.tech/launcher/prod/linux/x86_64/shadow-amd64.deb"
["fakturama.deb"]="https://files.fakturama.info/release/v2.1.3/Installer_Fakturama_linux_x64_2.1.3c.deb"
["nomachine.deb"]="https://download.nomachine.com/download/8.14/Linux/nomachine_8.14.2_1_amd64.deb"
["xpipe.deb"]="https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-installer-linux-x86_64.deb"
["rustdesk.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"
for FILE in "${!DEB_URLS[@]}"; do
wget -O "$DOWNLOAD_DIR/$FILE" "${DEB_URLS[$FILE]}" || {
echo -e "${RED}Fehler beim Herunterladen von $FILE.${NC}"
continue
}
done
echo -e "${GREEN}Installiere .deb-Pakete...${NC}"
for DEB_FILE in "$DOWNLOAD_DIR"/*.deb; do
@ -162,50 +173,36 @@ wget -O "$DOWNLOAD_DIR/rustdesk-1.3.6-x86_64.deb" https://github.com/rustdesk/ru
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
# Funktion: autofs einrichten
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
echo -e "${GREEN}Richte autofs ein...${NC}"
sudo apt install -y autofs || {
echo -e "${RED}Fehler bei der Installation von autofs.${NC}"
exit 1
}
echo "/net /etc/auto.net --timeout=600" | sudo tee -a /etc/auto.master
systemctl restart autofs
systemctl enable autofs
}
# Funktion: shared_dir
# Funktion: Gemeinsamen Ordner einrichten
shared_dir() {
# Variablen
SHARED_DIR="/home/shared"
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."
echo -e "${GREEN}Erstelle den gemeinsamen Ordner unter $SHARED_DIR...${NC}"
sudo mkdir -p "$SHARED_DIR"
sudo chmod 1777 "$SHARED_DIR"
echo -e "${GREEN}Der Ordner $SHARED_DIR wurde erfolgreich erstellt und konfiguriert.${NC}"
}
# ================================
# Hauptskript
# ================================
update_sources
install_apt_packages
install_flatpak_packages
install_snap_packages
install_flatpak_packages
install_deb_packages
show_alternatives
autofs
shared_dir