Feat: Konfiguriert apt für non-free Software.
This commit is contained in:
parent
938e1bc70d
commit
07d9282587
51
0_Setup.sh
51
0_Setup.sh
@ -7,6 +7,57 @@ if [ "$(id -u)" -ne 0 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
apt update && apt upgrade -y
|
apt update && apt upgrade -y
|
||||||
|
|
||||||
|
# sources-list Config
|
||||||
|
read -p "❓ Soll die apt sources-list so konfiguriert werden, dass sie Contributions und non-free Software zum installieren ermöglicht? (j/n) [n]: " answer
|
||||||
|
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||||
|
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||||
|
|
||||||
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
|
# Datei-Pfad zur sources.list
|
||||||
|
SOURCE_LIST="/etc/apt/sources.list"
|
||||||
|
|
||||||
|
# Backup erstellen
|
||||||
|
cp "$SOURCE_LIST" "$SOURCE_LIST.bak"
|
||||||
|
|
||||||
|
echo "ℹ️ Aktualisiere $SOURCE_LIST..."
|
||||||
|
|
||||||
|
# Neue Datei erzeugen
|
||||||
|
TEMP_FILE=$(mktemp)
|
||||||
|
|
||||||
|
while IFS= read -r line; do
|
||||||
|
# Falls die Zeile auskommentiert oder leer ist, unverändert übernehmen
|
||||||
|
if [[ "$line" =~ ^# || -z "$line" ]]; then
|
||||||
|
echo "$line" >> "$TEMP_FILE"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Den eigentlichen APT-Eintrag und die aktuellen Komponenten extrahieren
|
||||||
|
APT_ENTRY=$(echo "$line" | awk '{for (i=1; i<=NF; i++) if ($i ~ /^[a-zA-Z0-9.-]+:\/\//) {print substr($0, 1, index($0,$i) + length($i) - 1); exit}}')
|
||||||
|
COMPONENTS=$(echo "$line" | awk '{$1=$2=$3=""; print $0}' | xargs)
|
||||||
|
|
||||||
|
# Fehlende Komponenten hinzufügen
|
||||||
|
for component in main non-free non-free-firmware contrib; do
|
||||||
|
if ! grep -qE "(^| )$component( |$)" <<< "$COMPONENTS"; then
|
||||||
|
COMPONENTS="$COMPONENTS $component"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Neue Zeile zusammenbauen
|
||||||
|
echo "$APT_ENTRY $COMPONENTS" >> "$TEMP_FILE"
|
||||||
|
|
||||||
|
done < "$SOURCE_LIST"
|
||||||
|
|
||||||
|
# Originaldatei ersetzen
|
||||||
|
mv "$TEMP_FILE" "$SOURCE_LIST"
|
||||||
|
|
||||||
|
# apt aktualisieren
|
||||||
|
echo "🔄 Aktualisiere APT..."
|
||||||
|
apt update
|
||||||
|
|
||||||
|
echo "✅ Fertig! $SOURCE_LIST wurde aktualisiert."
|
||||||
|
fi
|
||||||
|
|
||||||
apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth wget curl
|
apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth wget curl
|
||||||
|
|
||||||
# GRUB-Config
|
# GRUB-Config
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user