trop de modifications
This commit is contained in:
77
local/bin/update_bullseye2buster.sh
Normal file
77
local/bin/update_bullseye2buster.sh
Normal file
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Fonction pour vérifier si une ligne existe déjà dans un fichier
|
||||
line_exists() {
|
||||
grep -Fq "$1" "$2"
|
||||
}
|
||||
|
||||
# Vérifie si le système est sous Buster
|
||||
check_buster() {
|
||||
if grep -Fq "buster" /etc/os-release; then
|
||||
echo "Le système est sous Buster."
|
||||
return 0
|
||||
else
|
||||
echo "Le système n'est pas sous Buster."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Vérifie si non-free-firmware est configuré
|
||||
check_non_free_firmware() {
|
||||
if grep -Eq "non-free-firmware" /etc/apt/sources.list /etc/apt/sources.list.d/*; then
|
||||
echo "Le dépôt non-free-firmware est déjà configuré."
|
||||
return 0
|
||||
else
|
||||
echo "Le dépôt non-free-firmware n'est pas configuré."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Met à jour les sources.list pour passer de Buster à Bullseye ou une version ultérieure
|
||||
update_sources() {
|
||||
local new_codename="$1"
|
||||
sed -i.bak -e "s/buster/$new_codename/g" /etc/apt/sources.list /etc/apt/sources.list.d/*
|
||||
echo "Mise à jour de /etc/apt/sources.list et /etc/apt/sources.list.d/* pour passer à $new_codename."
|
||||
}
|
||||
|
||||
# Ajoute non-free-firmware aux sources.list si nécessaire
|
||||
add_non_free_firmware() {
|
||||
if ! check_non_free_firmware; then
|
||||
if check_buster; then
|
||||
# Ajouter non-free-firmware pour la version Bookworm ou ultérieure
|
||||
sed -i.bak -e '/deb .*main/ s/$/ contrib non-free non-free-firmware/' /etc/apt/sources.list /etc/apt/sources.list.d/*
|
||||
echo "Ajout de non-free-firmware aux dépôts."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Main script
|
||||
echo "Mise à jour de votre système Debian..."
|
||||
|
||||
# Mettre à jour le système dans sa version actuelle
|
||||
sudo apt-get update
|
||||
sudo apt-get upgrade -y
|
||||
sudo apt-get full-upgrade -y
|
||||
|
||||
# Vérifier si des sauvegardes ont été effectuées (cette étape est manuelle)
|
||||
|
||||
# Mise à jour des sources.list
|
||||
if check_buster; then
|
||||
update_sources "bullseye"
|
||||
add_non_free_firmware
|
||||
fi
|
||||
|
||||
# Nettoyer et mettre à jour les listes de paquets
|
||||
sudo apt-get clean
|
||||
sudo apt-get update
|
||||
|
||||
# Effectuer la mise à niveau majeure
|
||||
sudo apt-get upgrade -y
|
||||
sudo apt-get full-upgrade -y
|
||||
|
||||
# Supprimer les paquets non nécessaires
|
||||
sudo apt-get autoremove -y
|
||||
|
||||
# Redémarrer le système
|
||||
echo "Redémarrage du système pour appliquer les changements..."
|
||||
sudo shutdown -r now
|
||||
Reference in New Issue
Block a user