scripts-bash/local/bin/update_bullseye2buster.sh

78 lines
2.2 KiB
Bash

#!/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