Linux系統glibc庫版本資訊檢視

2021-08-17 22:50:47 字數 1548 閱讀 8832

以下內容參考自:

1. centos

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

rpm -qi glibc

ls -l /lib/libc.so.6

2. ubuntu

ls -l /lib/i386-linux-gnu/libc.so.6 (32bit)

ls -l /lib/x86_64-linux-gnu/libc.so.6(64bit)

apt-cache show libc6

有時我們經常需要檢視當前系統的glibc版本,可以這樣檢視:

/lib/libc.so.6

有時:/lib/x86-64-linux/libc.so.6

把這個檔案當命令執行一下

為什麼這個庫可以直接run呢? 原來在libc的**中有一點小手腳:

makerules:586:ldflags-c.so += -e __libc_main 

csu/version.c:71:__libc_main (void) 

void 

__libc_main (void) 

或者:因為ldd命令也是glibc提供的,所以也能檢視

ldd  --version

glibc是什麼,以及與gcc的關係?

glibc是gnu發布的libc庫,也即c執行庫。glibc是linux 系統中最底層的api(應用程式開發介面),幾乎其它任何的執行庫都會倚賴於glibc。glibc除了封裝linux作業系統所提供的系統服務外,它本 身也提供了許多其它一些必要功能服務的實現,主要的如下:

(1)string,字串處理

(2)signal,訊號處理

(3)dlfcn,管理共享庫的動態載入

(4)direct,檔案目錄操作

(5)elf,共享庫的動態載入器,也即interpreter

(6)iconv,不同字符集的編碼轉換

(7)inet,socket介面的實現

(8)intl,國際化,也即gettext的實現

(9)io

(10)linuxthreads

(11)locale,本地化

(12)login,虛擬終端裝置的管理,及系統的安全訪問

(13)malloc,動態記憶體的分配與管理

(14)nis

(15)stdlib,其它基本功能

gcc 是編譯器,基本上 linux 下所有的程式(包括核心)都是 gcc 編譯的,libc 當然也是。

gcc 和 libc 是互相依賴的兩個軟體,它們合作的方式類似 linux 系統的 "自舉"。先在乙個可以執行的帶有老 libc 和 gcc 的系統上,用老 gcc 編譯出乙個新版本的 gcc + 老 libc,再用這個新 gcc 編譯出乙個新 gcc + 新 libc,再用這套東東編譯整個新系統。

glib版本檢視

just execute:

ldd --version

which comes with glibc package

linux 檢視glibc版本

glibc是gnu發布的libc庫,也即c執行庫。glibc是linux 系統中最底層的api 應用程式開發介面 幾乎其它任何的執行庫都會倚賴於glibc。glibc除了封裝linux作業系統所提供的系統服務外,它本 身也提供了許多其它一些必要功能服務的實現,主要的如下 1 string,字串處理 ...

glibc版本公升級

檢視系統glibc庫版本可使用如下命令 strings lib64 libc.so 6 grep glibc centos6.5輸出如下glibc版本列表,從此圖可以看出系統最高支援glibc的2.12版本 ll lib64 libc 可以看到此時的libc.so.6是libc 2.12.so的別名...

libc庫 glibc庫和系統呼叫

linux系統呼叫這部分經常出現兩個詞 libc庫和封裝函式,不知道你是否清楚它們的含義?libc 1.libc概念 libc是stantard c library的簡稱,它是符合ansi c標準的乙個標準函式庫。libc庫提供c語言中所使用的巨集,型別的定義,字串操作符,數學計算函式以及輸入輸出函...