Skip to content
Snippets Groups Projects
Commit d2891e54 authored by Philippe Dpt35's avatar Philippe Dpt35
Browse files

Ajout du script de migration

parent 9149b30b
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
archive="home.tar"
archive_clc="clc-linux.tar"
md5home="c53e282a97925f57e86c4374c51455a8 home.tar"
md5clc="824a4b3bc7f88de3fe1c77ad6b56710b clc-linux.tar"
#version_requise="8 (jessie)"
#archi_requise="i686"
primtux="01-mini
02-super
03-maxi"
apt-get update && apt-get dist-upgrade
# Vérifie l'OS
archi=$(uname -m)
version=$(cat /etc/os-release | grep ^VERSION= | cut -d"\"" -f2)
id=$(cat /etc/os-release | grep ^ID= | cut -d"=" -f2)
sessions=$(grep -E "01-mini|02-super|03-maxi" /etc/passwd | cut -d":" -f1)
#if [ "$archi" != "$archi_requise" ] || [ "$version" != "$version_requise" ] || [ "$sessions" != "$primtux" ]
if [ "$sessions" != "$primtux" ]
then echo "La version de votre système d'exploitation ne
correspond pas à celles susceptibles de recevoir
cette mise à jour."
exit 0
fi
# vérifie la présence et l'intégrité des archives
if ! [ -e "$archive" ] || ! [ -e "$archive_clc" ]
then echo "Le script va s'interrompre car il manque une archive
des fichiers nécessaires à la mise à jour."
exit 0
fi
md5a=$(md5sum "$archive")
md5b=$(md5sum "$archive_clc")
if [ "$md5a" != "$md5home" ] || [ "$md5b" != "$md5clc" ]
then echo "Une archive de fichiers est corrompue.
Vous devrez peut-être refaire le téléchargement."
exit 0
fi
# Demande confirmation de la mise à jour
echo "Votre version 2 de PrimTux va être mise à jour pour
bénéficier de l'apparence de la nouvelle PrimTux4.
Confirmez-vous l'opération ? (O/N défaut N)"
read confirmation
if [ "$confirmation" != "O" ] && [ "$confirmation" != "o" ]
then exit 0
fi
# Nettoyage des fichiers de configuration obsolètes
rm /home/administrateur/.config/xfce4/panel/launcher-8/15250977438.desktop
rm /home/03-maxi/.config/xfce4/panel/launcher-15/14502846451.desktop
rm /home/02-super/.config/xfce4/panel/launcher-15/14502846451.desktop
rm -rf /home/01-mini/.local/share/applications/*
rm -rf /home/02-super/.local/share/applications/*
rm -rf /home/03-maxi/.local/share/applications/*
rm -rf /home/administrateur/.local/share/applications/*
# Conversion des fichiers de configuration des handymenus
python handymenuMigration.py
# Installation des fichiers de la nouvelle configuration
tar xvf "$archive" -C "/"
tar xvf "$archive_clc" -C "/home/02-super"
tar xvf "$archive_clc" -C "/home/03-maxi"
tar xvf "$archive_clc" -C "/home/administrateur"
# Harmonisation des paquets
apt-get install -y handymenu thunderbird thunderbird-l10n-fr gnome-calculator geany mothsart-wallpapers-primtux
apt-get remove --purge handymenu-primtux2 handymenu-mini-primtux2 handymenu-maxi-primtux2 handymenu-super-primtux2 qalculate-gtk
# Rétablissement des droits
chown -R administrateur:administrateur /home/01-mini/.config/lxpanel
chown -R administrateur:administrateur /home/01-mini/.config/xfce4
chown -R administrateur:administrateur /home/02-super/.config/lxpanel
chown -R administrateur:administrateur /home/02-super/.config/xfce4
chown -R administrateur:administrateur /home/03-maxi/.config/lxpanel
chown -R administrateur:administrateur /home/03-maxi/.config/xfce4
chown -R administrateur:administrateur /home/01-mini/.config/libfm
chown -R administrateur:administrateur /home/02-super/.config/libfm
chown -R administrateur:administrateur /home/03-maxi/.config/libfm
chown -R administrateur:administrateur /home/01-mini/.fluxbox/startup
chown -R administrateur:administrateur /home/02-super/.fluxbox/startup
chown -R administrateur:administrateur /home/03-maxi/.fluxbox/startup
chown administrateur:administrateur /home/01-mini/.config/rox.sourceforge.net/ROX-Filer/Options
chown administrateur:administrateur /home/02-super/.config/rox.sourceforge.net/ROX-Filer/Options
chown administrateur:administrateur /home/03-maxi/.config/rox.sourceforge.net/ROX-Filer/Options
chown administrateur:administrateur /home/01-mini/.config/rox.sourceforge.net/ROX-Filer/globicons
chown administrateur:administrateur /home/02-super/.config/rox.sourceforge.net/ROX-Filer/globicons
chown administrateur:administrateur /home/03-maxi/.config/rox.sourceforge.net/ROX-Filer/globicons
chown administrateur:administrateur /home/01-mini/.config/rox.sourceforge.net/ROX-Filer/menus2
chown administrateur:administrateur /home/02-super/.config/rox.sourceforge.net/ROX-Filer/menus2
chown administrateur:administrateur /home/03-maxi/.config/rox.sourceforge.net/ROX-Filer/menus2
chown administrateur:administrateur /home/01-mini/.config/rox.sourceforge.net/ROX-Filer/panels
chown administrateur:administrateur /home/02-super/.config/rox.sourceforge.net/ROX-Filer/panels
chown administrateur:administrateur /home/03-maxi/.config/rox.sourceforge.net/ROX-Filer/panels
chmod -R 777 /home/02-super/abuledu-primtux/abuledu-aller
chmod -R 777 /home/03-maxi/abuledu-primtux/abuledu-aller
chown -R 01-mini:01-mini /home/01-mini/.wine
chown -R 02-super:02-super /home/02-super/.wine
chown -R 03-maxi:03-maxi /home/03-maxi/.wine
# Indication de version PrimTux
if ! [ -e "/etc/primtux_version" ]
then > /etc/primtux_version
if [ "$version" = "8 (jessie)" ]
then case "$id" in
debian) if [ "$archi" = "i686" ]
then echo "Migration PrimTux2 vers PrimTux4 Debian8 i686" > /etc/primtux_version
else if [ "$archi" = "x86_64" ]
then echo "Migration PrimTux2 vers PrimTux4 Debian8 amd64" > /etc/primtux_version
fi
fi
;;
raspbian) echo "Migration PrimTux2 RPi vers PrimTux4 Raspbian8" > /etc/primtux_version;;
esac
else if [ "$version" = "9 (stretch)" ]
then case "$id" in
debian) if [ "$archi" = "i686" ]
then echo "Migration PrimTux3 vers PrimTux4 Debian9 i686 DG" > /etc/primtux_version
else if [ "$archi" = "x86_64" ]
then echo "Migration PrimTux3 vers PrimTux4 Debian9 amd64 DG" > /etc/primtux_version
fi
fi
;;
raspbian) echo "Migration PrimTux3 RPi vers PrimTux4 Raspbian9 DG" > /etc/primtux_version;;
esac
fi
fi
fi
apt-get update && apt-get dist-upgrade
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment