MyTetra Share
Делитесь знаниями!
Как узнать версию glibc в Linux
Время создания: 03.09.2021 10:32
Текстовые метки: linux, glibc, версия, компилятор, gcc, ldd, узнать
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/16306543421i6oq6jdvl/text.html на raw.github.com

Библиотека GNU C (glibc) - это реализация стандартной библотеки C от GNU, которая является критичным компонентом инструментария GNU, используемым вместе с binutils и компилятором для сборки бинарных файлов пользовательских приложений для целевой архитектуры.


При сборке из исходного кода некоторые программы в Linux могут требовать линковки с glibc определенной версии. В этом случае вам необходимо проверить, какая версия этой библиотеки установлена у вас в системе.


Ниже два простых способа проверки версии glibc в Linux.



Способ первый (быстрый)


Простая команда для проверки версии библиотеки GNU C:


$ ldd --version





В этом примере установлена eglibc версии 2.19 (вариант GNU C Library (glibc), ориентированный для использования во встраиваемых системах, и, по возможности, сохраняющий совместимость - двоичную и на уровне исходного кода - со стандартной glibc).


Еще пример:



$ ldd --version

ldd (Debian GLIBC 2.31-13+deb11u4) 2.31

Copyright (C) 2020 Free Software Foundation, Inc.



В данном случае установлена классическая библиотека glibc версии 2.31.


Данный способ основан на том, что динамический линковщик ldd в Linux должен в обязательном порядке соответствовать версии библиотеки glibc, иначе нормально работы ядра и прикладного софта не добиться. Запомнить данный способ гораздо проще чем второй.



Способ второй (определение по файлу библиотеки)


Этот способ заключается в том, что можно "ввести" библиотеку glibc (т.е. libc.so.6) в командной строке, как если бы это была команда.


В выводе будет детальная информация о библиотеке, включая ее версию, а также информацию о компиляторе GNU и доступных расширениях glibc. Местонахождение glibc зависит от конкретного дистрибутива и архитектуры процессора.


В 64-битной системе на базе Debian:


$ /lib/x86_64-linux-gnu/libc.so.6


В 32-битной системе на базе Debian:


$ /lib/i386-linux-gnu/libc.so.6


В 64-битной системе на базе Red Hat:


$ /lib64/libc.so.6


В 32-битной системе на базе Red Hat:


$ /lib/libc.so.6


Ниже пример вывода.





Еще пример:



$ /lib/x86_64-linux-gnu/libc.so.6

GNU C Library (Debian GLIBC 2.31-13+deb11u4) stable release version 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.

Compiled by GNU CC version 10.2.1 20210110.

libc ABIs: UNIQUE IFUNC ABSOLUTE



Здесь явно видна версия glibc: 2.31, стабильный релиз.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования