Понизить GCC до более старых версий с помощью apt-get

по определенным причинам я должен понизить свой GCC до версии 2.x с помощью apt-get (не загрузка и компиляция исходного кода).

это возможно? Если да, то как найти адрес репозитория и установить его через apt-get?

спасибо заранее.

28
задан Afshin Mehrabani
08.04.2023 1:14 Количество просмотров материала 2759
Распечатать страницу

1 ответ

для всех практических целей и задач то, о чем вы спрашиваете, невозможно, и в следующих нескольких абзацах есть объяснение того, почему, и некоторые потенциальные обходные пути.

в то время как gcc, glibc, ядро Linux и другие системные библиотеки не так тесно связаны, как в FreeBSD ir OpenBSD, они имеют параллельную эволюцию. Поскольку последние несогласные с поддержкой gcc 2.95 вышли из поддержки в ядре еще в 2005 году, поддержка gcc 2.95 также основные системные библиотеки.

просто 2.х версии GCC для установки на современные системы будет существенное препятствие, потому что из всех зависимостей - это зависит от старых версий системных библиотек, что линукс сообщество уже давно перешел на С, создание ситуации "ад зависимостей" даже для установки из исходных кодов, значительно меньше, попробуйте установить из пакетов - зависимостей в одиночку, вероятно, заставит вас понизить через десяток поколений или больше Дистрибутив Linux, на версию, которая не только не поддерживается, но и очень небезопасной.

после установки gcc, у вас все еще остается проблема компиляции приложения - и системные библиотеки изменились так же сильно или больше, чем gcc, так что вам придется пройти весь этот процесс снова для десятков, возможно, сотен других зависимостей. Все эти зависимости, конечно, уже используются в других частях системы, не оставляя в здравом уме способ получения правильных версий из них установлены.

вы, вероятно, глядя на тысячи, возможно, сотни тысяч часов работы, прежде чем вы будете иметь никаких шансов получить все кусочки снова работает, и на этом пути, вы бы изменили свою систему в нечто настолько unmaintainable и неустойчива, что даже перезагрузки системы, в слепой вере, и ты бы вновь более чем десятилетия серьезные уязвимости в код система.

решения

вся надежда, однако, не потеряна. Краткосрочные решения в chroot или виртуализации. один из ответов отhttps://stackoverflow.com/questions/8176798/installing-gcc-2-95-3-in-ubuntu-10-04-3 упоминает, что Debian Etch был одним из последних дистрибутивов, которые поддерживали gcc 2.95. Создание chroot Etch Debian или виртуальной машины должно быть возможно. Последний раз этот дистрибутив получал поддержку безопасности в 2010 году все еще смотрите на 4 года накопленных уязвимостей безопасности.

старые версии Debian, которые вам понадобятся для этого, находятся только вhttps://archive.debian.org/debian поскольку они совершенно не защищены на данный момент.

debootstrap (https://wiki.debian.org/Debootstrap) по-видимому, все еще можно установить etch, что позволяет создать рабочий chroot, внутри которого вы сможете скомпилировать и запустить старый программное обеспечение.

учитывая последствия для безопасности, долгосрочное решение должно состоять в том, чтобы как можно скорее обновить код для компиляции на современном, поддерживаемом в настоящее время дистрибутиве. Если рассматриваемое программное обеспечение не используется для одноразовой цели, такой как восстановление данных из более старой версии программы, это абсолютно важно.

жизнеспособным решением для того, чтобы сделать этот процесс переноса управляемым, может быть постепенное движение вперед, движение вперед и исправление составление вопросов для каждой промежуточные выпуск Debian, прежде чем, наконец, обновление код на самую последнюю версию Убунту. Поскольку Debian имеет гораздо более длительный цикл выпуска, чем Ubuntu, и приличную прямую совместимость, это не должно быть слишком непреодолимой задачей и почти наверняка будет более осуществимым, чем перенос gcc 2.x до последней версии Ubuntu.

Edit: Etch на самом деле идеально подходит для многих усилий по переносу-он поддерживает версии gcc от 2.95 до 4.1, что делает его возможным чтобы обновить старый код небольшими шагами.

1
отвечен Stephanie 2023-04-09 09:02

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх