Вступ
GNU C Library (GLIBC) є важливою складовою в Linux-системах, надаючи основні низькорівневі API системи. Оновлення GLIBC підвищує безпеку, забезпечує кращу сумісність і покращує продуктивність додатків.
glibc 2.28 не знайдено
Мета
Цей документ має на меті допомогти адміністраторам систем пройти через процес оновлення версії GLIBC на Linux-системі з мінімальними перервами в роботі сервісів.
Метод оновлення:
Ручна компіляція або встановлення через менеджер пакетів:
Увага: Хоча ви можете оновити GLIBC через ручну компіляцію або використовуючи менеджер пакетів, важливо розуміти потенційні ризики. Ручна компіляція може призвести до серйозних проблем з стабільністю або сумісністю вашої системи. Коли ви компілюєте GLIBC вручну, ви безпосередньо замінюєте спільну бібліотеку C, що використовується всією системою, і це може порушити залежності з іншими пакетами, викликати сегментаційні помилки, конфлікти версій або навіть зробити систему непридатною для використання.
Встановлення через менеджер пакетів: Цей метод є безпечнішим, оскільки він забезпечує сумісність з іншими встановленими пакетами та відповідає версіям, підтримуваним вашою конкретною дистрибуцією. Однак цей варіант часто обмежує вас конкретною версією GLIBC, яка зазвичай є старішою за найновішу версію, доступну в нових випусках Ubuntu.
Достатньо вступу, давайте заглибимося в деталі:
Додавання нового репозиторію Ubuntu (необов’язково):
Ви можете тимчасово додати репозиторій з новішої версії Ubuntu (наприклад, Focal 20.04), щоб отримати останню версію GLIBC.
Редагування файлу /etc/apt/sources.list
:
sudo nano /etc/apt/sources.list
Додайте наступний рядок для використання пакетів з Focal:
deb http://archive.ubuntu.com/ubuntu focal main
Закріплення репозиторію Focal:
Щоб уникнути непередбачених оновлень інших пакетів, закріпіть GLIBC на новішій версії.
Створіть файл переваг:
sudo nano /etc/apt/preferences.d/glibc
Додайте наступний вміст:
Package: * Pin: release a=bionic
Pin-Priority: 500
Package: libc6 Pin: release a=focal
Pin-Priority: 600
Це закріплює тільки libc6
з Focal, дозволяючи оновити його без впливу на інші частини системи.
Оновіть список пакетів:
sudo apt update
Оновлення GLIBC:
Тепер ви можете оновити GLIBC:
sudo apt install libc6
Скасування змін (необов’язково):
Після оновлення GLIBC ви можете видалити репозиторій Focal з файлу /etc/apt/sources.list
і видалити файл закріплення, якщо це потрібно.
Видаліть файл закріплення:
sudo rm /etc/apt/preferences.d/glibc
sudo nano /etc/apt/sources.list
Видаліть рядок Focal:
#deb http://archive.ubuntu.com/ubuntu focal main
Знову оновіть список пакетів:
sudo apt update
Тестування
Перевірте, чи було застосоване оновлення:
ldd --version
Приклад успішної інсталяції:
ldd (Ubuntu GLIBC 2.31-0ubuntu9) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
Важливі примітки:
- Це рішення було протестоване і працює без проблем
Автор: Абделлах Ес-Сальгі
Зв’язатися зі мною для отримання додаткових посібників з Unix
Перекладено з: Upgrade Glibc to 2.28 or higher on Ubuntu 18.04 LTS Solution !