Я пытаюсь установить определенную версию 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
?
Вот один из способов сделать это.
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
Видно, что и 19.04 (Disco), и 19.10 (Eoan) поставляются с нужной вам версией.
Неподдерживаемые релизы Ubuntu доступны на https://old-releases.ubuntu.com/releases/ . Если вы решили использовать старый релиз для конкретной цели, запустите его в виртуальной машине и будьте благоразумны в отношении его доступа к вашей сети.