-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_manage_X11_libs.sh
More file actions
executable file
·58 lines (52 loc) · 1.79 KB
/
_manage_X11_libs.sh
File metadata and controls
executable file
·58 lines (52 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/bash
#skrypt, który łączy wykrywanie systemu, sprawdzanie obecności bibliotek X11 oraz interaktywną ich instalację w razie potrzeby
#Zrobione w całości przez Gemini
# --- 1. Wykrywanie systemu i konfiguracja nazw deweloperskich ---
if [ -f /etc/debian_version ]; then
OS_TYPE="Debian-based"
PKG_MANAGER="apt"
CHECK_CMD="dpkg -s"
# Pakiety deweloperskie dla Debiana
XLIB_PKG="libx11-dev"
XPM_PKG="libxpm-dev"
elif [ -f /etc/redhat-release ]; then
OS_TYPE="RedHat-based"
PKG_MANAGER="dnf"
CHECK_CMD="rpm -q"
# Pakiety deweloperskie dla RedHat/Fedora
XLIB_PKG="libX11-devel"
XPM_PKG="libXpm-devel"
else
echo "Błąd: Nieobsługiwany system operacyjny."
exit 1
fi
echo "Wykryto system: $OS_TYPE"
echo "Tryb: Sprawdzanie pakietów deweloperskich (-dev/-devel)"
echo "------------------------------------------"
# --- 2. Funkcja sprawdzająca i instalująca ---
manage_package() {
local pkg=$1
echo -n "Sprawdzanie $pkg... "
if $CHECK_CMD "$pkg" &> /dev/null; then
echo "[ZAINSTALOWANY]"
else
echo "[BRAK]"
read -p "Czy chcesz zainstalować pakiet deweloperski $pkg? [y/N]: " choice
case "$choice" in
[yY][eE][sS]|[yY])
echo "Aktualizacja list pakietów i instalacja $pkg..."
# Dodano 'sudo apt update' dla Debiana, by uniknąć błędów 404
[[ "$PKG_MANAGER" == "apt" ]] && sudo apt update
sudo $PKG_MANAGER install -y "$pkg"
;;
*)
echo "Pominięto instalację $pkg."
;;
esac
fi
}
# --- 3. Wykonanie dla bibliotek deweloperskich ---
manage_package "$XLIB_PKG"
manage_package "$XPM_PKG"
echo "------------------------------------------"
echo "Zakończono sprawdzanie."