Projet

Général

Profil

horizon-check_upgrade.sh

Eric Seigne, 07/02/2017 21:39

Télécharger (1,48 ko)

 
1
#!/bin/bash
2
#script de verification de mise a jour par rapport aux depots apt officiels
3
#eric seigne <eric.seigne@abuledu.org> janvier 2017
4
#GNU/GPL v3
5

    
6
LOCALBASE=`tempfile -s csv`
7
LOCALERROR=`tempfile`
8
echo -e "Paquet;Version locale;Version apt.abuledu.org;" >> ${LOCALERROR}
9

    
10
if [ -f /etc/lsb-release ]; then
11
    . /etc/lsb-release
12
else
13
    DISTRIB_CODENAME=lucid
14
fi
15

    
16
cd /tmp
17
rm -f "${DISTRIB_CODENAME}"
18
rm -f "${LOCALBASE}"
19

    
20
dpkg-query -W -f='${binary:Package};${Version}\n' > ${LOCALBASE}
21

    
22
echo -n "Téléchargement en cours du fichier de référence ..."
23
TIMECODE=`date +%s`
24
wget -q http://apt.abuledu.org/${DISTRIB_CODENAME}.csv?version=${TIMECODE} -O ${DISTRIB_CODENAME}.csv
25
echo " [ok]"
26

    
27
if [ -f "${DISTRIB_CODENAME}.csv" ]; then
28
    for ligne in `cat ${DISTRIB_CODENAME}.csv`
29
    do
30
	package=`echo ${ligne} | cut -d ";" -f1`
31
	version=`echo ${ligne} | cut -d ";" -f2`
32
	#on cherche maintenant en local ce paquet pour voir si c'est la meme
33
	versionlocale=`grep "^${package};" ${LOCALBASE} | cut -d ";" -f2`
34
	if [ -n "${versionlocale}" ]; then
35
	    if [ "${version}" != "${versionlocale}" ]; then
36
		echo -e "${package};${versionlocale};${version};" >> ${LOCALERROR}
37
	    fi
38
	fi
39
    done
40
else
41
    echo "Erreur de téléchargement, passez sur support@abuledu.org ..."
42
fi
43

    
44
if [ -s "${LOCALERROR}" ]; then
45
    cat ${LOCALERROR} | column -t -s ";"
46
fi
47

    
48
rm -f "${DISTRIB_CODENAME}"
49
rm -f "${LOCALERROR}"
50
rm -f "${LOCALBASE}"
51

    
52
echo "Script terminé, si vous n'avez pas d'erreur c'est que ce système est à jour"
53

    
Redmine Appliance - Powered by TurnKey Linux