Fix: Passt ersetzen der sources.list an.
This commit is contained in:
parent
07d9282587
commit
ad8298995f
46
0_Setup.sh
46
0_Setup.sh
@ -10,7 +10,7 @@ apt update && apt upgrade -y
|
|||||||
|
|
||||||
# sources-list Config
|
# 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
|
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,,} # In Kleinbuchstaben umwandeln
|
||||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||||
|
|
||||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
@ -22,31 +22,37 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
|||||||
|
|
||||||
echo "ℹ️ Aktualisiere $SOURCE_LIST..."
|
echo "ℹ️ Aktualisiere $SOURCE_LIST..."
|
||||||
|
|
||||||
# Neue Datei erzeugen
|
# Temporäre Datei erstellen
|
||||||
TEMP_FILE=$(mktemp)
|
TEMP_FILE=$(mktemp)
|
||||||
|
|
||||||
|
# Fehlende Komponenten, die hinzugefügt werden sollen
|
||||||
|
REQUIRED_COMPONENTS=("main" "non-free" "non-free-firmware" "contrib")
|
||||||
|
|
||||||
while IFS= read -r line; do
|
while IFS= read -r line; do
|
||||||
# Falls die Zeile auskommentiert oder leer ist, unverändert übernehmen
|
# Falls die Zeile auskommentiert oder leer ist, unverändert übernehmen
|
||||||
if [[ "$line" =~ ^# || -z "$line" ]]; then
|
if [[ "$line" =~ ^# || -z "$line" ]]; then
|
||||||
echo "$line" >> "$TEMP_FILE"
|
echo "$line" >>"$TEMP_FILE"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Den eigentlichen APT-Eintrag und die aktuellen Komponenten extrahieren
|
# Den APT-Eintrag und die 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}}')
|
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)
|
CURRENT_COMPONENTS=$(echo "$line" | awk '{$1=$2=$3=""; print $0}' | xargs)
|
||||||
|
|
||||||
|
# Set für aktuelle Komponenten erstellen
|
||||||
|
COMPONENTS_SET=($CURRENT_COMPONENTS)
|
||||||
|
|
||||||
# Fehlende Komponenten hinzufügen
|
# Fehlende Komponenten hinzufügen
|
||||||
for component in main non-free non-free-firmware contrib; do
|
for component in "${REQUIRED_COMPONENTS[@]}"; do
|
||||||
if ! grep -qE "(^| )$component( |$)" <<< "$COMPONENTS"; then
|
if ! [[ " ${COMPONENTS_SET[*]} " =~ " $component " ]]; then
|
||||||
COMPONENTS="$COMPONENTS $component"
|
COMPONENTS_SET+=("$component")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Neue Zeile zusammenbauen
|
# Neue Zeile mit ursprünglichem APT-Teil + aktualisierten Komponenten schreiben
|
||||||
echo "$APT_ENTRY $COMPONENTS" >> "$TEMP_FILE"
|
echo "$APT_ENTRY ${COMPONENTS_SET[*]}" >>"$TEMP_FILE"
|
||||||
|
|
||||||
done < "$SOURCE_LIST"
|
done <"$SOURCE_LIST"
|
||||||
|
|
||||||
# Originaldatei ersetzen
|
# Originaldatei ersetzen
|
||||||
mv "$TEMP_FILE" "$SOURCE_LIST"
|
mv "$TEMP_FILE" "$SOURCE_LIST"
|
||||||
@ -62,7 +68,7 @@ apt install -y git sudo 7zip unrar unzip network-manager software-properties-com
|
|||||||
|
|
||||||
# GRUB-Config
|
# GRUB-Config
|
||||||
read -p "❓ Soll GRUB so konfiguriert werden, dass es nur im Fehlerfall angezeigt wird? (j/n) [n]: " answer
|
read -p "❓ Soll GRUB so konfiguriert werden, dass es nur im Fehlerfall angezeigt wird? (j/n) [n]: " answer
|
||||||
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||||
|
|
||||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
@ -82,8 +88,8 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
|||||||
sed -i 's/^GRUB_TIMEOUT_STYLE=.*/GRUB_TIMEOUT_STYLE=hidden/' "$GRUB_CFG"
|
sed -i 's/^GRUB_TIMEOUT_STYLE=.*/GRUB_TIMEOUT_STYLE=hidden/' "$GRUB_CFG"
|
||||||
|
|
||||||
# Falls die Einträge nicht existieren, hinzufügen
|
# Falls die Einträge nicht existieren, hinzufügen
|
||||||
grep -q '^GRUB_TIMEOUT=' "$GRUB_CFG" || echo 'GRUB_TIMEOUT=0' >> "$GRUB_CFG"
|
grep -q '^GRUB_TIMEOUT=' "$GRUB_CFG" || echo 'GRUB_TIMEOUT=0' >>"$GRUB_CFG"
|
||||||
grep -q '^GRUB_TIMEOUT_STYLE=' "$GRUB_CFG" || echo 'GRUB_TIMEOUT_STYLE=hidden' >> "$GRUB_CFG"
|
grep -q '^GRUB_TIMEOUT_STYLE=' "$GRUB_CFG" || echo 'GRUB_TIMEOUT_STYLE=hidden' >>"$GRUB_CFG"
|
||||||
|
|
||||||
# GRUB-Konfiguration aktualisieren
|
# GRUB-Konfiguration aktualisieren
|
||||||
update-grub
|
update-grub
|
||||||
@ -94,11 +100,11 @@ fi
|
|||||||
|
|
||||||
# sbin in Path
|
# sbin in Path
|
||||||
read -p "❓ Soll sbin für sudo-Nutzer in den PATH aufgenommen werden? (j/n) [n]: " answer
|
read -p "❓ Soll sbin für sudo-Nutzer in den PATH aufgenommen werden? (j/n) [n]: " answer
|
||||||
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||||
|
|
||||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
cat << 'EOF' > /etc/profile.d/sbin_in_path.sh
|
cat << 'EOF' >/etc/profile.d/sbin_in_path.sh
|
||||||
if groups | grep -q "\bsudo\b"; then
|
if groups | grep -q "\bsudo\b"; then
|
||||||
case ":$PATH:" in
|
case ":$PATH:" in
|
||||||
*":/sbin:"*) ;;
|
*":/sbin:"*) ;;
|
||||||
@ -116,11 +122,11 @@ fi
|
|||||||
|
|
||||||
# sudo-Hinweis
|
# sudo-Hinweis
|
||||||
read -p "❓ Soll ein sudo-Hinweis hinzugefügt werden? (j/n) [n]: " answer
|
read -p "❓ Soll ein sudo-Hinweis hinzugefügt werden? (j/n) [n]: " answer
|
||||||
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||||
|
|
||||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
cat << 'EOF' > /etc/profile.d/sudo_hint.sh
|
cat << 'EOF' >/etc/profile.d/sudo_hint.sh
|
||||||
if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
|
if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
|
||||||
case " $(groups) " in *\ admin\ *|*\ sudo\ *)
|
case " $(groups) " in *\ admin\ *|*\ sudo\ *)
|
||||||
if [ -x /usr/bin/sudo ]; then
|
if [ -x /usr/bin/sudo ]; then
|
||||||
@ -136,11 +142,11 @@ fi
|
|||||||
|
|
||||||
# sudo-Hinweis
|
# sudo-Hinweis
|
||||||
read -p "❓ Sollen die XDG-Data-Dirs gesetzt werden? (j/n) [n]: " answer
|
read -p "❓ Sollen die XDG-Data-Dirs gesetzt werden? (j/n) [n]: " answer
|
||||||
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||||
|
|
||||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
cat << 'EOF' > /etc/profile.d/xdg_dirs_desktop_session.sh
|
cat << 'EOF' >/etc/profile.d/xdg_dirs_desktop_session.sh
|
||||||
# /etc/profile.d/desktop_session_xdg_dirs.sh - Prepend a $DESKTOP_SESSION-named directory to $XDG_CONFIG_DIRS and $XDG_DATA_DIRS
|
# /etc/profile.d/desktop_session_xdg_dirs.sh - Prepend a $DESKTOP_SESSION-named directory to $XDG_CONFIG_DIRS and $XDG_DATA_DIRS
|
||||||
|
|
||||||
DEFAULT_XDG_CONFIG_DIRS="/etc/xdg"
|
DEFAULT_XDG_CONFIG_DIRS="/etc/xdg"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user