-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.sh
64 lines (55 loc) · 2.45 KB
/
install.sh
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
59
60
61
62
63
64
#!/bin/bash
# Couleurs
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color
# Vérification que le script est exécuté en tant que root
if [ "$(id -u)" -ne 0 ]; then
echo -e "${RED}Ce script doit être exécuté avec les privilèges root${NC}" >&2
exit 1
fi
# Détection de la distribution
if [ -f /etc/os-release ]; then
# shellcheck disable=SC1091
. /etc/os-release
OS=$ID
OS_LIKE=$ID_LIKE
else
echo -e "${RED}Impossible de détecter la distribution.${NC}" >&2
exit 1
fi
# Mise à jour du système et installation des paquets
if [[ "$OS" == "fedora" || "$OS_LIKE" == "fedora" ]]; then
echo -e "${GREEN}Système Fedora détecté.${NC}"
echo -e "${YELLOW}Installation des paquets de virtualisation...${NC}"
dnf install -y @virtualization
elif [[ "$OS" == "arch" || "$OS_LIKE" == "arch" ]]; then
echo -e "${GREEN}Système basé sur Arch Linux détecté.${NC}"
echo -e "${YELLOW}Installation de KVM, QEMU, et Virt-Manager...${NC}"
pacman -S --noconfirm qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat dmidecode libguestfs
elif [[ "$OS" == "ubuntu" || "$OS_LIKE" == "ubuntu" || "$OS_LIKE" == "debian" || "$OS" == "debian" || "$OS_LIKE" == "linuxmint" || "$OS" == "linuxmint" ]]; then
echo -e "${GREEN}Système basé sur Debian/Ubuntu détecté.${NC}"
echo -e "${YELLOW}Installation de KVM, QEMU, et Virt-Manager...${NC}"
apt update
apt install -y virt-manager
else
echo -e "${RED}Distribution non supportée : $OS${NC}" >&2
exit 1
fi
# Configuration des permissions pour libvirtd
echo -e "${YELLOW}Configuration des permissions pour libvirtd...${NC}"
sed -i 's/#unix_sock_group = "libvirt"/unix_sock_group = "libvirt"/' /etc/libvirt/libvirtd.conf
sed -i 's/#unix_sock_rw_perms = "0770"/unix_sock_rw_perms = "0770"/' /etc/libvirt/libvirtd.conf
# Activation et démarrage du service libvirtd
echo -e "${YELLOW}Activation et démarrage du service libvirtd...${NC}"
systemctl enable --now libvirtd
# Ajout de l'utilisateur initial (non root) au groupe libvirt et kvm
CURRENT_USER=${SUDO_USER:-$(whoami)}
echo -e "${YELLOW}Ajout de l'utilisateur ${CURRENT_USER} au groupe libvirt et kvm...${NC}"
usermod -a -G libvirt "${CURRENT_USER}"
usermod -a -G kvm "${CURRENT_USER}"
# Redémarrage du service libvirtd
systemctl restart libvirtd.service
# Fin de l'installation
echo -e "${GREEN}Installation terminée avec succès. Veuillez vous déconnecter et vous reconnecter pour que les modifications prennent effet.${NC}"