Commande interne 'shopt' manquante dans 'dash' et inutile ici.
[progfou.git] / sysadmin / upgrade.sh
CommitLineData
66d41e4b
P
1#!/bin/sh
2# upgrade.sh - outil de mise à jour de serveur, avec support OpenVZ
b47672eb
P
3# Copyright ©2010-2011 Agence universitaire de la Francophonie
4# http://www.auf.org/
66d41e4b
P
5# Licence : GNU General Public License, version 3
6# Auteur : Progfou <jean-christophe.andre@auf.org>
7# Création : 2010-01-26
b47672eb 8# Mise à jour : 2011-03-06
66d41e4b
P
9export LANG=
10CONFDIRS="/etc"
11IPT="iptables"
12IP6T="ip6tables"
13IF="`route -n | awk '/^0.0.0.0/{print $(NF);exit}'`"
14$IPT -I OUTPUT -o "$IF" -m owner --uid-owner 0 -p tcp --dport 80 -j ACCEPT
15$IP6T -I OUTPUT -o "$IF" -m owner --uid-owner 0 -p tcp --dport 80 -j ACCEPT
16aptitude update
17aptitude safe-upgrade
18aptitude clean
19$IP6T -D OUTPUT -o "$IF" -m owner --uid-owner 0 -p tcp --dport 80 -j ACCEPT
20$IPT -D OUTPUT -o "$IF" -m owner --uid-owner 0 -p tcp --dport 80 -j ACCEPT
21if test -x /usr/sbin/vzctl
22then
23 $IPT -I FORWARD -o "$IF" -p tcp --dport 80 -j ACCEPT
24 $IP6T -I FORWARD -o "$IF" -p tcp --dport 80 -j ACCEPT
66d41e4b
P
25 for id in `vzlist -H -o ctid`
26 do
27 #vzctl exec $id rm -v -f /var/lib/apt/lists/partial/*
28 vzctl exec $id aptitude update
29 vzctl exec $id aptitude safe-upgrade </dev/tty >/dev/tty
30 vzctl exec $id aptitude clean
31 done
32 $IP6T -D FORWARD -o "$IF" -p tcp --dport 80 -j ACCEPT
33 $IPT -D FORWARD -o "$IF" -p tcp --dport 80 -j ACCEPT
34 CONFDIRS="$CONFDIRS "/vz/private/*/etc
35fi
36find $CONFDIRS -name "*.dpkg*" -o -name "*.ucf*"