Voici un petit script bash s'appuyant sur 'apt-cache policy' qui permet d'afficher la liste des paquets installés ainsi que leur dépot d'origine et que j'ai nommé "debsources" :
#!/bin/bash
deblist="/var/cache/deblist"
temp_file="/tmp/policy"
update() {
if [ `id -u` -ne 0 ]; then echo "Vous devez être ROOT"; exit 1; fi
rm -f "$deblist" > /dev/null;
for i in `dpkg -l | grep ^ii | awk '{print $2}'` ; do
apt-cache policy $i > "$temp_file"
let j=`cat -n $temp_file | grep 100\ \/var\/lib\/dpkg\/status | awk '{print $1}'`-1;
echo "$i: `cat -n $temp_file | sed -n "$j"p | awk '{print $3" "$4" "$5" "$6}'`" >> "$deblist";
done
rm -f "$temp_file" > /dev/null;
}
if [ ! -f $deblist ] && [ "$1" != "-u" ]; then
echo "Veuillez faire '`basename $0` -u' SVP";
exit 1;
fi
case $1 in
-h)
echo "Usage: `basename $0` -u : met à jour la base de donnée (root)"
echo " `basename $0` : affiche la base de donnée"
exit 0;
;;
-u)
update
exit 0
;;
*)
cat "$deblist"
;;
esac
Pour mettre à jour la base de donnée, il suffit de taper 'debsources -u' en root car il la stocke dans /var/cache/deblist. Sinon vous n'avez pas besoin d'être root.
D'ailleurs, je l'ai mis dans la section wiki :
http://debian-facile.org/wiki/doku.php? … debsources
Dernière modification par Thom1 (11-05-2008 08:52:12)