Voici un petit script que j'ai nommé “debsources” qui permet de savoir à partir de quel dépôt a été installé un paquet.
Il crée un fichier dans lequel est enregistrée la liste des paquets installés (/var/cache/deblist).
Il faut être root pour créer ou mettre à jour cette liste via l'unique option '-u', sinon un simple utilisateur suffit pour l'afficher sans aucune option.
#!/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