Я пытаюсь найти определенные пакеты, которые были доступны в старых релизах Ubuntu, но были удалены из текущих.
Я могу загрузить изображения всех CD, которые старые выпуски имели (http://old-releases.ubuntu.com/), но если я не могу загрузить пакеты, которые были доступны для них, в то время как они существовали (https://packages.ubuntu.com/или что-то подобное, другой субдомен...), затем почти бессмысленно хотеть те изображения.
Забавная деталь - то, что https://packages.ubuntu.com/упоминает http://old-releases.ubuntu.com/ как место для старых вещей выпуска. И так как это - страница для поиска пакетов, что-то основное, кажется, отсутствует здесь.
Так, как я нахожу пакеты для предыдущих выпусков, тот, которые больше не находятся в packages.ubuntu.com?
Я нашел так себе связанный вопрос, но это не то же:
Кажется, что мы можем использовать некоторых странное, но рабочее решение.
Для такого поиска мы можем создать локальную chroot среду с более старым выпуском (Ubuntu 12.04 LTS) и найти пакеты от него. Мы будем использовать debootstrap
как основной компонент:
sudo apt-get install debootstrap
mkdir ~/precise_chroot
sudo debootstrap precise ~/precise_chroot
Затем добавьте все репозитории от предыдущих выпусков LTS и выберите основной выпуск. Ниже две долгих команды, копируют их, полностью затем вставляют к терминалу:
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
Затем звоните apt-get update
внутри chroot:
sudo chroot ~/precise_chroot/ apt-get update
и попытайтесь сравнить версию некоторого пакета (Полуночный Командующий - mc
как пример) с 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
Кроме того, можно загрузить единственный пакет этим методом путем определения выпуска с -t target_release
опция:
$ 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
Таким образом, Вы получили идею.
Маленькое техническое примечание: ~/precise_chroot
папка будет использовать приблизительно 600 Мбит дискового пространства.
Я настроил этот метод - мы можем искать пакет, который содержит известное имя файла:
sudo chroot ~/precise_chroot/ apt-get install -y apt-file
sudo chroot ~/precise_chroot/ apt-file update
Ниже пример с 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
и знайте версию Ubuntu этого пакета:
$ 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
таким образом, это действительно мощно и просто.