Il semble que nous puissions utiliser une solution étrange, mais qui fonctionne.
Pour cette recherche, nous pouvons créer un environnement local chroot avec une ancienne version (Ubuntu 12.04 LTS) et y trouver des paquets. Nous utiliserons debootstrap
comme composant principal :
sudo apt-get install debootstrap
mkdir ~/precise_chroot
sudo debootstrap --no-check-gpg precise ~/precise_chroot
Ensuite, ajoutez tous les dépôts des versions LTS précédentes et sélectionnez la version principale. Ci-dessous se trouvent deux longues commandes, copiez-les entièrement puis collez-les dans le terminal :
cat <<EOF | sudo tee ~/precise_chroot/etc/apt/sources.list
# Ubuntu 12.04 LTS - Precise Pangolin
deb http://archive.ubuntu.com/ubuntu precise main universe multiverse restricted
# Ubuntu 10.04 LTS - Lucid Lynx
deb http://old-releases.ubuntu.com/ubuntu lucid main universe multiverse restricted
# Ubuntu 8.04 LTS - Hardy Heron
deb http://old-releases.ubuntu.com/ubuntu hardy main universe multiverse restricted
# Ubuntu 6.06 LTS - Dapper Drake
deb http://old-releases.ubuntu.com/ubuntu dapper main universe multiverse restricted
EOF
cat <<EOF | sudo tee ~/precise_chroot/etc/apt/apt.conf.d/01ubuntu
APT::Default-Release "precise";
EOF
Ensuite, appelez apt-get update
dans le chroot :
sudo chroot ~/precise_chroot/ apt-get update
et essayer de comparer la version d'un certain paquet (Midnight Commander - mc
à titre d'exemple) avec apt-cache policy mc
:
$ sudo chroot ~/precise_chroot/ apt-cache policy mc
mc:
Installed: (none)
Candidate: 3:4.8.1-2ubuntu1
Version table:
3:4.8.1-2ubuntu1 0
990 http://archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages
3:4.7.0-1ubuntu2 0
500 http://old-releases.ubuntu.com/ubuntu/ lucid/universe amd64 Packages
1:4.6.1-8ubuntu1 0
500 http://old-releases.ubuntu.com/ubuntu/ hardy/universe amd64 Packages
1:4.6.1-1ubuntu2 0
500 http://old-releases.ubuntu.com/ubuntu/ dapper/universe amd64 Packages
De plus, vous pouvez télécharger un seul paquet avec cette méthode en spécifiant la version avec -t target_release
option :
$ sudo chroot ~/precise_chroot/ apt-get download mc -t hardy
Get:1 Downloading mc 1:4.6.1-8ubuntu1 [2156 kB]
Fetched 2156 kB in 1s (1174 kB/s)
$ ls precise_chroot/*.deb
precise_chroot/mc_4.6.1-8ubuntu1_amd64.deb
Donc vous avez compris.
Petite note technique : le ~/precise_chroot
utilisera environ 600 Mo d'espace disque.
J'ai amélioré cette méthode - nous pouvons rechercher le paquet qui contient le nom de fichier connu :
sudo chroot ~/precise_chroot/ apt-get install -y apt-file
sudo chroot ~/precise_chroot/ apt-file update
Voici un exemple avec libicui18n.so.48 :
$ sudo chroot ~/precise_chroot/ apt-file search
lib32icu48: /usr/lib32/libicui18n.so.48
lib32icu48: /usr/lib32/libicui18n.so.48.1.1
libicu48: /usr/lib/libicui18n.so.48
libicu48: /usr/lib/libicui18n.so.48.1.1
libicu48-dbg: /usr/lib/debug/usr/lib/libicui18n.so.48.1.1
et connaître la version Ubuntu de ce paquet :
$ sudo chroot ~/precise_chroot/ apt-cache policy libicu48libicu48:
Installed: (none)
Candidate: 4.8.1.1-3
Version table:
4.8.1.1-3 0
990 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
Il est donc vraiment puissant et simple.