Установите определенную версию старого пакета, добавив старое зеркало

Я пытаюсь установить определенную версию gcc в Ubuntu 18.04.

По умолчанию версия Ubuntu на момент написания - 18.04.5 . Установка его с помощью sudo apt-get install gcc-7 приводит к следующему:

user@server:~$ gcc-7 -v
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) 
user@server:~$ sudo apt-cache policy gcc-7
gcc-7:
  Installed: 7.5.0-3ubuntu1~18.04
  Candidate: 7.5.0-3ubuntu1~18.04
  Version table:
 *** 7.5.0-3ubuntu1~18.04 500
        500 http://hr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://hr.archive.ubuntu.com/ubuntu bionic-security/main amd64 Packages
     7.3.0-16ubuntu3 500
        500 http://hr.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

Apt распознает две версии и установил 7.5.0-3ubuntu1 ~ 18.04 одну. {{{{ 1}} Мне нужна версия 7.4.0 .

Я нашел зеркало пакета , которое имеет требуемую версию пакета ( gcc-7-Multilib_7.4.0-1ubuntu1 ~ 18.04.1_amd64.deb ) и сделал следующее:

# Add "deb https://mirror.squ.edu.om/ubuntuarchive/ubuntu bionic main restricted multiverse universe" to /etc/apt/sources.list
user@server:~$ sudo apt-get update
user@server:~$ sudo apt-cache policy gcc-7
gcc-7:
  Installed: 7.5.0-3ubuntu1~18.04
  Candidate: 7.5.0-3ubuntu1~18.04
  Version table:
 *** 7.5.0-3ubuntu1~18.04 500
        500 http://hr.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://hr.archive.ubuntu.com/ubuntu bionic-security/main amd64 Packages
     7.3.0-16ubuntu3 500
        500 http://hr.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
        500 https://mirror.squ.edu.om/ubuntuarchive/ubuntu bionic/main amd64 Packages

Однако это только добавило новое зеркало к 7.3.0-16ubuntu3 . Он не представил версию 7.4.0-1ubuntu1 ~ 18.04 , которая существует как пакет в зеркалах. Я ожидал увидеть новые доступные версии.

Ищу объяснение такого поведения и способы добавления версии 7.4.0 ?

0
задан 28 July 2021 в 16:47

1 ответ

Вот один из способов сделать это.

  1. Посмотрите в apt changelog gcc-7-multilib, чтобы узнать, какие старые выпуски Ubuntu включают версию 7.4.0. Это позволит избежать многих проблем с неработающими зависимостями. Вот отредактированный список:
    gcc-7 (7.5.0-1ubuntu1) focal
    gcc-7 (7.4.0-15ubuntu1) focal

    gcc-7 (7.4.0-14ubuntu2) eoan
    gcc-7 (7.4.0-14ubuntu1) eoan
    gcc-7 (7.4.0-12ubuntu2) eoan
    gcc-7 (7.4.0-11ubuntu1) eoan
    gcc-7 (7.4.0-10ubuntu2) eoan
    gcc-7 (7.4.0-9ubuntu1) eoan

    gcc-7 (7.4.0-8ubuntu1) disco
    gcc-7 (7.4.0-7ubuntu1) disco
    gcc-7 (7.4.0-6ubuntu1) disco
    gcc-7 (7.4.0-5ubuntu1) disco
    gcc-7 (7.4.0-4ubuntu1) disco
    gcc-7 (7.4.0-3ubuntu2) disco
    gcc-7 (7.4.0-3ubuntu1) disco
    gcc-7 (7.4.0-2ubuntu1) disco
    gcc-7 (7.4.0-1ubuntu1) disco
    gcc-7 (7.3.0-31ubuntu1) disco
  1. Видно, что и 19.04 (Disco), и 19.10 (Eoan) поставляются с нужной вам версией.

    • Примечание: Оба релиза уже закончили срок службы. Ни один из них не получает исправлений безопасности, и ни один из них больше не поддерживается на AskUbuntu.
  2. Неподдерживаемые релизы Ubuntu доступны на https://old-releases.ubuntu.com/releases/ . Если вы решили использовать старый релиз для конкретной цели, запустите его в виртуальной машине и будьте благоразумны в отношении его доступа к вашей сети.

1
ответ дан 20 August 2021 в 10:31

Другие вопросы по тегам:

Похожие вопросы: