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就不会导致系统奔溃。