glibclinux
① 如何升級linux系統glibc版本
小編提供了如下的四種方法,但是,小編建議大家不要自己更新 glibc 。因為他是系統基礎庫。他如果出現函數介面變化(版本升級很容易出現這個問題),那麼你的整個系統就不能用了。另外,當前最新版本是2.11,比你要安裝的要新的多,更新glibc後有可能導致系統崩潰 因為Linux 的依賴關系就是為了防止這種情況而設計的。所以最好還是找相關人士來解決這個問題。
簡介
glibc是gnu發布的libc庫,即c運行庫。glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc。glibc除了封裝linux操作系統所提供的系統服務外,它本身也提供了許多其它一些必要功能服務的實現。
方法一:
步驟如下:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz
tar -xvf glibc-2.15.tar.gz
tar -xvf glibc-ports-2.15.tar.gz
mv glibc-ports-2.15 glibc-2.15/ports
mkdir glibc-build-2.15
cd glibc-build-2.15
../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make & make install
make是成功後,build目錄下編譯出了一個新的libc.so.6 (/glibc-build-2.15/libc.so.6, 我們會發現這實際上也是一個軟連接,真實的lib文件時libc.so
cd glibc-build-2.15
ll libc.so.6
查看庫文件,可以看到2.12的舊庫文件還在,多了2.15版本的庫文件,而且軟鏈接文件全部指向了2.15版本
ll /lib64/libc*
此時,查看glibc支持的版本
strings libc.so | grep GLIBC
註:以上圖片上傳到紅聯Linux系統教程頻道中。
方法二:
編譯安裝glibc
1.下載glibc
wget http://ftp.gnu.org/gnu/glibc/glibc-2.3.2.tar.gz2.下載glibc-linuxthreads
wget http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.2.tar.gz3.解壓
tar -zxvf glibc-2.3.2.tar.gz
cd glibc-2.3.2
tar -zxvf ../glibc-linuxthreads-2.3.2.tar.gz
cd ..
./glibc-2.3.2/configure --prefix=/usr --disable-profile --enable-add-ons --libexecdir=/usr/lib --with-headers=/usr/include
make
make install注意點:
1、要將glibc-linuxthreads解壓到glibc目錄下。
2、不能在glibc當前目錄下運行configure
方法三:
1、linux更新包,首選用yum來進行更新(前提是你的linux能上外網),命令如下:
yum install glibc* ----------雖然是安裝命令,但是查到已安裝後,會自動更新到yum源的最新版本。
2、也可以使用下載的rpm包手工更新的方法,下載最新的glic包然後上傳到linux系統安裝即可
方法四:
如果是CentOS的話就好啦,直接用命令:yum install glibc 就ok啦!其他的沒辦法,只能下載或哪裡有光碟DVD!
② Linux中如何升級glibc
編譯安裝glibc
1.下載glibc
wgethttp://ftp.gnu.org/gnu/glibc/glibc-2.3.2.tar.gz
2.下載glibc-linuxthreads
wgethttp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.3.2.tar.gz
3.解壓
tar-zxvfglibc-2.3.2.tar.gz
cdglibc-2.3.2
tar-zxvf../glibc-linuxthreads-2.3.2.tar.gz
cd..
./glibc-2.3.2/configure--prefix=/usr--disable-profile--enable-add-ons--libexecdir=/usr/lib--with-headers=/usr/include
make
makeinstall
注意點:
1、要將glibc-linuxthreads解壓到glibc目錄下。
2、不能在glibc當前目錄下運行configure
③ linux下安裝glibc
rpm -ivh glibc****.rpm(***代表後面加的版本號等)
有依賴關系要解決,別用-force強制,會出事的
可能用yum install glibc,它會詳細列出安裝glibc需要安裝到哪些包,之後你可以選擇是否下載安裝(要聯網下載)或者你自己手動到光碟下安裝(光碟的可能會比yum下的版本老)
有問題網路hi我
④ 如何檢查Linux上的glibc版本
1、首先連接上Linux主機,如圖所示,使Linux主機處於一個命令狀態。
⑤ Linux開發必知內容整理 | libc、glibc和glib的關系
在進行Linux開發不可避免的要調用一些系統的API,我們經常開到的概念有諸如glibc、libc和glib等等。那麼這些系統庫之前的關系是什麼樣的呢?下面我帶大家了解一下這些庫之前的共同點和差異,希望對以後的編程開發提供幫助。
glibc 和 libc 都是 Linux 下的C函數庫。libc是Linux下的ANSI C函數庫;glibc 是 Linux 下的 GUN C函數庫。
那麼ANSI C和GNU C有什麼區別呢?
ANSI C函數庫是基本的C語言函數庫,包含了C語言最基本的庫函數。這個庫可以根據頭文件劃分為 15 個部分,其中包括:
GNU C函數庫是一種類似於第三方插件的東西。由於 Linux 是用C語言寫的,所以Linux的一些操作是用C語言實現的。因此,GUN 組織開發了一個 C 語言的庫以便讓我們更好的利用 C 語言開發基於 Linux 操作系統的程序。不過現在的不同的 Linux 的發行版本對這兩個函數庫有不同的處理方法,有的可能已經集成在同一個庫里了。
查看當前系統的 glibc 版本的方法:
通過執行libc.so.6
切換到libc.so.6所在的目錄,執行如下命令。
執行ldd命令
錯誤觀點: GLib 前面有個"g",所以認為glib是GNU的東東;同時認為glibc是 GLib 的一個子集。其實,glib和glibc 基本上沒有太大聯系,可能唯一的共同點就是,其都是C編程需要調用的庫而已。
GLib 是Gtk+庫和Gnome的基礎。 GLib 是一個跨平台的、用C語言編寫的五個底層庫的集合,為GNOME所使用。其支持的平台包括Linux、Unix和Windows 等。 GLib 為許多標準的、常用的C語言結構提供了相應的替代物。GLib中包含了近二十種實用功能,從簡單的字元處理到初學者很難理解的XML解析功能。
官方說明
關於Glib的官方說明:
關於Glibc的官方說明
libc 實際上是一個泛指。凡是符合實現了C標准規定的內容,都是一種 libc 。
glibc是GNU組織對libc的一種實現。它是unix/linux的根基之一。
微軟也有自己的libc實現,叫msvcrt 。
嵌入式行業里還常用uClibc ,是一個迷你版的libc 。
⑥ 簡述glibc的作用及與linux內核的關系
glibc即使提供給開發人員的sdk,用戶調用它提供的介面最終會調用到Linux的系統調用。總的來說:glibc對linux系統調用進行了封裝(說是封裝其實更類似一個stub,主要就是調了int 0x80),向上提供介面給開發人員。
⑦ 如何查看linux glibc
GNU C庫(glibc)是標准C庫的GNU實現。glibc是GNU工具鏈的關鍵組件,用於和二進制工具和編譯器一起使用,為目標架構生成用戶空間應用程序。
當從源碼進行構建時,一些Linux程序可能需要鏈接到某個特定版本的glibc。在這種情況下,你可能想要檢查已安裝的glibc信息以查看是否滿足依賴關系。
這里介紹幾種簡單的方法,方便你檢查Linux上的glibc版本。
方法一
下面給出了命令行下檢查GNU C庫的簡單命令。
$ ldd --version
在本例中,glibc版本是2.19。
方法二
另一個方法是在命令行「輸入」glibc 庫的名稱(如,libc.so.6),就像命令一樣執行。
輸出結果會顯示更多關於glibc庫的詳細信息,包括glibc的版本以及使用的GNU編譯器,也提供了glibc擴展的信息。glibc變數的位置取決於Linux版本和處理器架構。
在基於Debian的64位系統上:
$ /lib/x86_64-linux-gnu/libc.so.6
在基於Debian的32位系統上:
$ /lib/i386-linux-gnu/libc.so.6
在基於Red Hat的64位系統上:
$ /lib64/libc.so.6
在基於Red Hat的32位系統上:
$ /lib/libc.so.6
⑧ linux 的rpm包有 glibc和linux 兩種,有什麼區別呀!
linux的rpm發行包,一般會在rpm文件名中說明編譯這個rpm的環境,安裝rpm的時候也要找到對應自己操作系統環境的包來安裝。
1:如果rpm包名裡面有linux並且指定了linux版本,說明這個rpm包就是在這個linux版本下編譯的,如果你的linux版本匹配,就可以安裝。
2:如果rpm包名裡面有glibc並且指定了glibc版本,說明這個rpm包需要在指定的glibc版本環境中安裝,glibc是linux下的基礎庫。
3:這2種包不一定是互斥的,只要符合環境要求,都可以安裝。
⑨ linux下如何更新glibc包
1、linux更新包,首選用yum來進行更新(前提是你的linux能上外網),命令如下:
yum install glibc* ----------雖然是安裝命令,但是查到已安裝後,會自動更新到yum源的最新版本。
2、也可以使用下載的rpm包手工更新的方法,下載最新的glic包然後上傳到linux系統安裝即可
⑩ Linux升級Glibc時系統奔潰怎麼辦
要點:
glibc是gnu發布的libc庫,即c運行庫。glibc是linux系統中最底層的api,幾乎其它任何運行庫都會依賴於glibc。glibc除了封裝linux操作系統所提供的系統服務外,它本身也提供了許多其它一些必要功能服務的實現。由於 glibc 囊括了幾乎所有的 UNIX 通行的標准,可以想見其內容包羅萬象。
升級Glibc的忠告:不要在運行中的系統上安裝 Glibc,否則將會導致系統崩潰,至少應當將新 Glibc 安裝到其他的單獨目錄,以保證不覆蓋當前正在使用的 Glibc。(我就無知的覆蓋了,囧!)
解決方法:
趕赴機房吧,幸好我在替換前在目錄/lib下保存了原來的庫文件(libc-2.5.so.bak),使用Linux系統盤進入「救援模式」,將被替換的2個庫文件恢復,重啟系統就可以了;
系統正常啟動了,就交給其他部門的同事去恢復數據吧。
上面就是Linux升級Glibc時系統奔潰的解決方法的介紹了,方法很簡單,就要進入救援模式,將替換的庫文件恢復回來就可以了,如果你在升級Glibc的時候不覆蓋原有的Glibc就不會導致系統奔潰。