2 # sysadmin-check-version-arch - vérifie la version et l'architecture système
3 # Copyright ©2011 Agence universitaire de la Francophonie
5 # Licence : GNU General Public License, version 3
6 # Auteur : Progfou <jean-christophe.andre@auf.org>
7 # Création : 2011-04-26
8 # Mise à jour : 2011-04-28
10 EXPECTED_DEBIAN_VERSION="6.0.1"
11 ACCEPTED_DEBIAN_VERSION="5.0.8"
12 if grep -qE ' Intel.* Xeon| AMD.* Opteron' /proc/cpuinfo ; then
13 EXPECTED_DEBIAN_ARCH="x86_64"
14 ACCEPTED_DEBIAN_ARCH="i686"
16 EXPECTED_DEBIAN_ARCH="i686"
17 ACCEPTED_DEBIAN_ARCH="i686"
20 EXPECTED_UBUNTU_VERSION="10.04"
21 ACCEPTED_UBUNTU_VERSION="10.04"
22 EXPECTED_UBUNTU_ARCH="i686"
23 ACCEPTED_UBUNTU_ARCH="i686"
26 color="$1" ; shift ; data="$@"
27 if [ "${color}" = "green" ] ; then
28 data="\033[1;32m${data}\033[m"
29 elif [ "${color}" = "red" ] ; then
30 data="\033[1;31m${data}\033[m"
36 name="$1" ; dist="$2" ; version="$3" ; arch="$4"
37 if [ "${dist}" = "Ubuntu" ] ; then
38 expected_version="${EXPECTED_UBUNTU_VERSION}"
39 accepted_version="${ACCEPTED_UBUNTU_VERSION}"
40 expected_arch="${EXPECTED_UBUNTU_ARCH}"
41 accepted_arch="${ACCEPTED_UBUNTU_ARCH}"
42 elif [ "${dist}" = "Debian" ] ; then
43 expected_version="${EXPECTED_DEBIAN_VERSION}"
44 accepted_version="${ACCEPTED_DEBIAN_VERSION}"
45 expected_arch="${EXPECTED_DEBIAN_ARCH}"
46 accepted_arch="${ACCEPTED_DEBIAN_ARCH}"
48 dist="`colorize red "${dist}"`"
50 if [ "${version}" = "${expected_version}" ] ; then
51 version="`colorize green "${version}"`"
52 elif [ "${version}" != "${accepted_version}" ] ; then
53 version="`colorize red "${version}"`"
55 if [ "${arch}" = "${expected_arch}" ] ; then
56 arch="`colorize green "${arch}"`"
57 elif [ "${arch}" != "${accepted_arch}" ] ; then
58 arch="`colorize red "${arch}"`"
60 printf "%-25s: %s %s (%s)\n" "${name}" "${dist}" "${version}" "${arch}"
63 display_host "CT 0 (host)" "`lsb_release -si`" "`lsb_release -sr`" "`uname -m`"
64 if test -x /usr/sbin/vzctl
66 IDS="`vzlist -H -o ctid`"
67 if [ -n "${IDS}" ] ; then
70 name="`sed -n '/^NAME=/s/^.*="\?\([^"]*\)"\?.*$/\1/p' /etc/vz/conf/${id}.conf`"
71 if [ -z "${name}" ] ; then
72 name="`sed -n '/^HOSTNAME=/s/^.*="\?\([^"]*\)"\?.*$/\1/p' /etc/vz/conf/${id}.conf`"
74 dist="`vzctl exec ${id} lsb_release -si 2>/dev/null`"
75 if [ -n "${dist}" ] ; then
76 version="`vzctl exec ${id} lsb_release -sr 2>/dev/null`"
78 dist="(paquet lsb-release manquant)"
81 arch="`vzctl exec ${id} uname -m`"
82 display_host "CT ${id} (${name})" "${dist}" "${version}" "${arch}"