Що може піти не так з оновленням GLIBC?


9

Нещодавно я встановив програмне забезпечення, яке моїй групі потрібно для дослідницького проекту, починаючи з наступного вересня. Виявляється, програмне забезпечення має відому помилку аварійних ситуацій при використанні з glibc 2.12.1. Мій бос запитав, чи можемо ми оновити glibc на сервері, який повинен його запустити. Мій скептичне мовчання ...

У якийсь момент я зрозумів, що возитися з глібком було настільки ж гарною ідеєю, як возитися з голодною пумою; однак я не зміг визначити джерело цієї віри. Отже, якщо я продовжую це:

  1. Я роблю щось кричуще-дурне (наприклад, я не виправляю свою проблему, цементую свій сервер або ініціюю апокаліпсис зомбі)?
  2. Що може піти не так?
  3. Що, ймовірно, піде не так?
  4. Як я уникаю відповідей на 2 і 3?

3
Спочатку перевірте, чи у вашому дистрибутиві є оновлення glibc, яке виправляє помилку. Конкретний glibc дистрибутива може містити багато посилань / виправлень на його glibc порівняно з офіційними glibc, але версія дистрибутива все одно та сама.
нос

1
Доки у вас є якийсь завантажувальний знімний носій (флеш-накопичувач USB, компакт-диск, DVD), машина не є справді цегляною. Порятунок стане можливим, перевстановивши звідти glibc. Щоб уникнути будь-якої небезпеки, ви можете спробувати скласти новий glibc як некорінний користувач, а --prefix=$HOMEпотім вкажіть LD_LIBRARY_PATHна нього і подивіться, чи працює він. Як користувач, що не має права доступу, ви не можете викрутити всю систему, незалежно від того, наскільки ви погано зіпсуєтесь. Якщо це допоможе, змініть його --prefix=/usr/local/bleeding-edge-glibcта задокументуйте LD_LIBRARY_PATH=/usr/local/bleeding-edge-glibc/libяк вимогу до дослідницького проекту
Алан Кері

1
Не можете оновити дистрибутив? І ви повинні сказати, як використовувати glibcпомилку, якої ви боїтесь, і яке саме програмне забезпечення ви використовуєте. Ви можете виправити своє програмне забезпечення (якщо у вас є його вихідний код) або налаштувати іншу систему, щоб її обійти.

Уникайте використання старого серверного програмного забезпечення для нових проектів, коли це можливо.
Майкл Хемптон

Відповіді:


5

Часто можливо скласти більш свіжий libc, і один фрагмент програмного забезпечення використовує іншу бібліотеку для всіх інших.

Найбільшою больовою точкою між версіями libc є локальне зберігання потоків, IIRC. Якщо ви проходите цю віху, всі ставки закінчуються.

Сказавши все це - я настійно рекомендую вам просто модернізувати дистрибутив до чогось сучасного. Здійснення поодиноких оновлень, швидше за все, призведе до такого болю, який ти переслідуєш хвіст місяцями.


2

Ви можете звернутися до таблиці сумісності, щоб визначити бінарні сумісні версії.

Зазвичай оновити glibc до нової версії не проблема, але ви повинні побудувати його з тими самими конфігураційними прапорами, що і у вашому дистрибутиві (див. Специфікаційний файл у відповідному пакеті SRPM).

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.