CLOVER🍀

That was when it all began.

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

これは、なにをしたくて書いたもの?

インストールされているglibcのバージョンを確認したい時はどうしたらいいのかな?ということで。

環境

今回の環境は、こちら。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.2 LTS
Release:        22.04
Codename:       jammy


$ uname -srvmpio
Linux 5.15.0-71-generic #78-Ubuntu SMP Tue Apr 18 09:00:29 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

glibcのバージョンを確認する

まず、パッケージとしてはlibc6になります。

Ubuntu – Details of package libc6 in jammy

というわけで、dpkg -lからlibc6で絞り込むとよいでしょう。

$ dpkg -l | grep libc6
ii  libc6:amd64                                   2.35-0ubuntu3.1                            amd64        GNU C Library: Shared libraries
ii  libc6:i386                                    2.35-0ubuntu3.1                            i386         GNU C Library: Shared libraries
ii  libc6-dbg:amd64                               2.35-0ubuntu3.1                            amd64        GNU C Library: detached debugging symbols
ii  libc6-dev:amd64                               2.35-0ubuntu3.1                            amd64        GNU C Library: Development Libraries and Header Files

GNU C Libraryでも。

$ dpkg -l | grep 'GNU C Library'
ii  libc-bin                                      2.35-0ubuntu3.1                            amd64        GNU C Library: Binaries
ii  libc-dev-bin                                  2.35-0ubuntu3.1                            amd64        GNU C Library: Development binaries
ii  libc6:amd64                                   2.35-0ubuntu3.1                            amd64        GNU C Library: Shared libraries
ii  libc6:i386                                    2.35-0ubuntu3.1                            i386         GNU C Library: Shared libraries
ii  libc6-dbg:amd64                               2.35-0ubuntu3.1                            amd64        GNU C Library: detached debugging symbols
ii  libc6-dev:amd64                               2.35-0ubuntu3.1                            amd64        GNU C Library: Development Libraries and Header Files
ii  locales                                       2.35-0ubuntu3.1                            all          GNU C Library: National Language (locale) data [support]

あとは、ldd --versionでもわかるようです。

$ ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.1) 2.35
Copyright (C) 2022 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.
作者 Roland McGrath および Ulrich Drepper。

ファイルがどこにあるかは、適当にコマンドからlddで探してもよいですし、

$ ldd $(which ls)
        linux-vdso.so.1 (0x00007fff0fdf0000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007faac3abf000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faac3897000)
        libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007faac3800000)
        /lib64/ld-linux-x86-64.so.2 (0x00007faac3b29000)

apt-file searchで探しても。

$ apt-file search libc.so | grep libc6:
libc6: /lib/x86_64-linux-gnu/libc.so.6