Как узнать версию библиотеки linux
Перейти к содержимому

Как узнать версию библиотеки linux

  • автор:

Как узнать версию библиотеки linux

Здравствуйте, opener, Вы писали:

O>Ну вот лежит у меня в системе libxml2.so
O>Как узнать, из какого пакета она была установлена?
O>Linux RedHat

Если это файл, а не симлинк, то

$ rpm -qif /usr/lib/libxml2.so

Если симлинк, то глянуть, на какой файл он смотрит. В моей системе, например:

$ readlink /usr/lib/libxml2.so libxml2.so.2.9.1

Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Узнать версию установленной .so

От: opener
Дата: 23.05.13 12:31
Оценка:

Знатоки, подскажите, какой командой можно получить информацию о версии установленной в системе .so-шки?

Re: Узнать версию установленной .so

От: ДимДимыч http://klug.org.ua
Дата: 23.05.13 12:46
Оценка:

Здравствуйте, opener, Вы писали:

O>Знатоки, подскажите, какой командой можно получить информацию о версии установленной в системе .so-шки?

Посмотреть, какому пакету принадлежит эта .so-шка и посмотреть версию пакета. Какими командами — зависит от дистрибутива.
Еще .so-шки зачастую являются симлинками на файлы, по имени совпадающими с .so-шкой, но с версией в конце.

Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[2]: Узнать версию установленной .so

От: opener
Дата: 23.05.13 12:58
Оценка:

Здравствуйте, ДимДимыч, Вы писали:

ДД>Здравствуйте, opener, Вы писали:

O>>Знатоки, подскажите, какой командой можно получить информацию о версии установленной в системе .so-шки?

ДД>Посмотреть, какому пакету принадлежит эта .so-шка и посмотреть версию пакета.

Ну вот лежит у меня в системе libxml2.so
Как узнать, из какого пакета она была установлена?

ДД>Какими командами — зависит от дистрибутива.

Re[4]: Узнать версию установленной .so

От: zaufi
Дата: 23.05.13 15:49
Оценка:

Здравствуйте, ДимДимыч, Вы писали:

ДД>Здравствуйте, opener, Вы писали:

O>>Ну вот лежит у меня в системе libxml2.so
O>>Как узнать, из какого пакета она была установлена?
O>>Linux RedHat

ДД>Если это файл, а не симлинк, то
ДД>

$ rpm -qif /usr/lib/libxml2.so

ДД>Если симлинк, то глянуть, на какой файл он смотрит. В моей системе, например:
ДД>

$ readlink /usr/lib/libxml2.so ДД>libxml2.so.2.9.1

стоит однако заметить, что не всегда эти циферки значат «версия пакета». не берусь сказать насколько «далеко» не всегда, в частности идеология используемая libtool’ом приводит к тому, что эти циферки практически никак не связаны с версией пакета (и даже API библы), а только лишь с количеством «интерфейсов» (и изменений) предоставляемых библой (т.е. ABI, которое не равно версии API). почитать можно здесь и здесь. и, насколько я помню, эта схема уходит корнями в солярис — просто была чуть допилена.

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

библы с версией должны именоваться как libname-PKG-MAJOR.PKG-MINOR.PKG-PATCH.so.ABI-CURRENT.ABI-REVISION.ABI-AGE, но это не клевая практика, ибо ломает идею динамической линковки библиотек с разными версиями API и поэтому не часто применяется.

узнать версии библиотек и пакеты которые их устанавливают в систему

здравствуйте, есть следующая задача: я вбил ldd /usr/bin/(мой бинарник), вывело следующее:

linux-vdso.so.1 => (0x00007ffe96bd0000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0149d67000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f01499e4000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f01497ce000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0149405000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0149200000) libjsoncpp.so.1 => /usr/lib/x86_64-linux-gnu/libjsoncpp.so.1 (0x00007f0148a4e000) libzip.so.4 => /usr/lib/x86_64-linux-gnu/libzip.so.4 (0x00007f0147d6d000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0147b65000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f014785b000) libicui18n.so.54 => /usr/lib/Qt5/libicui18n.so.54 (0x00007f01473ed000) libicuuc.so.54 => /usr/lib/Qt5/libicuuc.so.54 (0x00007f014703f000) libicudata.so.54 => /usr/lib/Qt5/libicudata.so.54 (0x00007f0145614000) libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007f0145412000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f0145101000) /lib64/ld-linux-x86-64.so.2 (0x0000556274e8b000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0144ee6000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f0144c76000) 

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

xperious ★★
04.07.17 17:52:58 MSK

Как проверить версию glibc в Linux

Вопрос: мне нужно узнать версию библиотеки GNU C ( glibc ), которая установлена в моей системе Linux. Как проверить версию glibc в Linux?

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

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

Вот простые способы проверить версию glibc в Linux.

Метод первый

Простая командная строка для проверки версии библиотеки GNU C выглядит следующим образом.

$ ldd --version

В этом примере версия glibc — 2.19.

Способ второй

Другой способ — «набрать» библиотеку glibc (т. е. libc.so.6 ) из командной строки, как если бы это была команда.

Вывод покажет более подробную информацию о библиотеке glibc , включая версию glibc и используемый компилятор 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

Вот пример вывода библиотеки glibc .

Все права защищены. © Linux-Console.net • 2019-2023

Проверьте версию libc

Библиотека GNU C, часто называемая libc или glibc, обычно устанавливается «из коробки» во всех основных дистрибутивах Linux. Это важная библиотека, на которую будут полагаться многие программные пакеты для правильной работы или вообще работы. Если вам нужно проверить, какая версия libc установлена в вашей системе Linux, мы расскажем вам об этом в этом руководстве.

В этом уроке вы узнаете:

  • Как проверить версию libc во всех основных дистрибутивах Linux
  • Как обновить libc во всех основных дистрибутивах Linux

Как проверить версию libc в основных дистрибутивах Linux

Процесс проверки установленной версии libc будет одинаковым независимо от вашего дистрибутива Linux. Просто используйте команду ldd , как показано ниже.

$ ldd --version ldd (Ubuntu GLIBC 2.35-0ubuntu3) 2.35 .

Как видно из первой строки вывода и на предыдущем скриншоте, у нас установлена версия 2.35.

Другой способ проверить версию библиотеки libc — запустить ее двоичный файл. Это может потребовать от вас сначала добавить разрешения на выполнение к файлу.

$ /lib/x86_64-linux-gnu/libc.so.6 GNU C Library (Ubuntu GLIBC 2.35-0ubuntu3) stable release version 2.35. .

Как обновить версию libc в основных дистрибутивах Linux

Если вы обнаружите, что установленная вами libc устарела, ее достаточно просто обновить в любой системе Linux.

Вы можете использовать соответствующую команду ниже, чтобы обновить libc с помощью менеджера пакетов вашей системы.

Чтобы обновить libc в Ubuntu, Debian и Linux Mint:

$ sudo apt update $ sudo apt install libc-bin

Чтобы обновить libc в Fedora, CentOS, AlmaLinux и Red Hat:

$ sudo dnf install glibc

Чтобы обновить libc в Arch Linux и Manjaro:

$ sudo pacman -Syu glibc

Заключительные мысли

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

Все права защищены. © Linux-Console.net • 2019-2023

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *