インストールされているglibc(libc)のバージョンを確認する
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)