インストールされているglibc(libc)のバージョンを確認する

メモ:  Category:ubuntu

Superset の Oracle 接続( Database Drivers )について調べていた時、 Oracle Instant Client 動作要件として glibc のバージョンがあったのでインストールされている glibc のバージョンを調べてみました。

Superset では、 python-oracledb driver が必要という事になったので、このお話は必要なかったのですがなんとなくメモしておこうと思います。

使用した環境:

  • Ubuntu 24.04 LTS

glibc(libc)のバージョン確認いろいろ

パッケージを管理する dpkg コマンドで確認してみます。

$ dpkg -l | grep 'GNU C Library'
ii  libc-bin                               2.39-0ubuntu8.5                         amd64        GNU C Library: Binaries
ii  libc-dev-bin                           2.39-0ubuntu8.5                         amd64        GNU C Library: Development binaries
ii  libc-devtools                          2.39-0ubuntu8.5                         amd64        GNU C Library: Development tools
ii  libc6:amd64                            2.39-0ubuntu8.5                         amd64        GNU C Library: Shared libraries
ii  libc6-dev:amd64                        2.39-0ubuntu8.5                         amd64        GNU C Library: Development Libraries and Header Files
ii  locales                                2.39-0ubuntu8.5                         all          GNU C Library: National Language (locale) data [support]

ファイルの中から表示可能な文字列を表示してくれる strings コマンドで共有ライブラリをのぞいてみます。

$ strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
・・・・・
・・・
GLIBC_2.39
GLIBC_ABI_DT_RELR
GLIBC_PRIVATE
GNU C Library (Ubuntu GLIBC 2.39-0ubuntu8.5) stable release version 2.39.

libc は、さまざまなところで使われているので次のような ldd コマンドでも確認できます。

※ ldd コマンドは、依存関係(そのファイルがどんな共有ライブラリを使っているか)を表示してくれるコマンドです。

$ ldd --version
ldd (Ubuntu GLIBC 2.39-0ubuntu8.5) 2.39
Copyright (C) 2024 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.

おまけ

libc.so.6 がどこにいるか探すには、次のコマンドが使えます。

$ ldd /usr/bin/cat
        linux-vdso.so.1 (0x00007ffd7e166000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000785aae600000)
        /lib64/ld-linux-x86-64.so.2 (0x0000785aae8f4000)

bluenote by BBB