centOS 重装glibc后,如何是libc.so.6指向到新的glibc

桾楉叁杄 2017-07-17 09:44:03
如题,最近在centOS7上装一些需要用到的软件,其中有一个软件需要glibc是2.25版本的,查看本机自带glibc是2.17版本的,因为已经有很多依赖关系了,所以2.17是删不掉的,然后就在2.17基础上又重新装了一个2.25,装完发现安装之前的软件的时候,还是提示说需要linux glibc>=2.25,然后查询libc.so.6的指向,还是2.17,如何能调整默认使用2.25的版本呢?

下面是使用 ll /lib64/libc* 命令查出来的部分,因为比较多,中间部分删掉了,大神们帮分析一下吧,只要是能使用上2.25版本的方法就OK。

-rwxr-xr-x. 1 root root 2116736 Nov 4 2016 /lib64/libc-2.17.so
-rwxr-xr-x. 1 root root 10224224 Jul 17 05:53 /lib64/libc-2.25.so
-rw-r--r--. 1 root root 22173644 Jul 17 05:53 /lib64/libc.a
lrwxrwxrwx. 1 root root 18 Jul 17 2017 /lib64/libcacard.so.0 -> libcacard.so.0.0.0
-rwxr-xr-x. 1 root root 49800 Nov 5 2016 /lib64/libcacard.so.0.0.0

-rw-r--r--. 1 root root 253 Jul 17 05:53 /lib64/libc.so
lrwxrwxrwx. 1 root root 12 Jul 17 2017 /lib64/libc.so.6 -> libc-2.17.so
-rwxr-xr-x. 1 root root 62800 Nov 5 2016 /lib64/libcupscgi.so.1
lrwxrwxrwx. 1 root root 23 Jul 17 2017 /lib64/libcupsfilters.so.1 -> libcupsfilters.so.1.0.0
-rwxr-xr-x. 1 root root 107336 Nov 20 2015 /lib64/libcupsfilters.so.1.0.0
-rwxr-xr-x. 1 root root 36160 Nov 5 2016 /lib64/libcupsimage.so.2
-rwxr-xr-x. 1 root root 28208 Nov 5 2016 /lib64/libcupsmime.so.1
-rwxr-xr-x. 1 root root 123592 Nov 5 2016 /lib64/libcupsppdc.so.1
-rwxr-xr-x. 1 root root 434408 Nov 5 2016 /lib64/libcups.so.2
lrwxrwxrwx. 1 root root 16 Jul 17 2017 /lib64/libcurl.so.4 -> libcurl.so.4.3.0
-rwxr-xr-x. 1 root root 435120 Nov 14 2016 /lib64/libcurl.so.4.3.0

/lib64/libcanberra-0.30:
total 96
-rwxr-xr-x. 1 root root 19760 Jun 9 2014 libcanberra-alsa.so
-rwxr-xr-x. 1 root root 19856 Jun 9 2014 libcanberra-gstreamer.so
-rwxr-xr-x. 1 root root 15352 Jun 9 2014 libcanberra-multi.so
-rwxr-xr-x. 1 root root 11088 Jun 9 2014 libcanberra-null.so
-rwxr-xr-x. 1 root root 28288 Jun 9 2014 libcanberra-pulse.so

/lib64/libchewing:
total 4852
-rw-r--r--. 1 root root 5660 Jun 9 2014 ch_index_begin.dat
-rw-r--r--. 1 root root 2830 Jun 9 2014 ch_index_phone.dat
-rw-r--r--. 1 root root 1912461 Jun 9 2014 dict.dat
-rw-r--r--. 1 root root 2441664 Jun 9 2014 fonetree.dat
-rw-r--r--. 1 root root 477012 Jun 9 2014 ph_index.dat
-rw-r--r--. 1 root root 692 Jun 9 2014 pinyin.tab
-rw-r--r--. 1 root root 154 Jun 9 2014 swkb.dat
-rw-r--r--. 1 root root 967 Jun 9 2014 symbols.dat
-rw-r--r--. 1 root root 104376 Jun 9 2014 us_freq.dat
...全文
1494 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
沉醉不知处 2019-10-30
  • 打赏
  • 举报
回复
引用 5 楼 LubinLew 的回复:

rm -f /lib64/libc.so.6
ln -s /lib64/libc-2.25.so  /lib64/libc.so.6
在rm执行后,ln命令就失效了
LubinLew 2017-07-18
  • 打赏
  • 举报
回复

rm -f /lib64/libc.so.6
ln -s /lib64/libc-2.25.so  /lib64/libc.so.6
桾楉叁杄 2017-07-18
  • 打赏
  • 举报
回复
引用 3 楼 lgbxyz 的回复:
linux的软连接不明白, 自己百度, 用ln命令 GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) 改成 GROUP ( /lib64/libc-2.25.so /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) 试试
这个我了解 是把libc.so指向到/lib64/libc-2.25.so , 您之前说的第二种方式, 应该是将/lib64/libc.so.6指向到/lib64/libc-2.25.so吧?这个如何实现呢
LubinLew 2017-07-18
  • 打赏
  • 举报
回复
linux的软连接不明白, 自己百度, 用ln命令 GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) 改成 GROUP ( /lib64/libc-2.25.so /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) ) 试试
桾楉叁杄 2017-07-18
  • 打赏
  • 举报
回复
引用 1 楼 lgbxyz 的回复:
libc.so 是脚本,你看一下就明白了

[root@localhost lib64]# cat libc.so
/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a  AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )

libc.so 默认指向 libc.so.6, 但是libc.so.6是指向libc-2.17.so的链接, 方案1:替换libc.so中GROUP的一个参数为/lib64/libc-2.25.so 方案2:修改libc.so.6链接指向 /lib64/libc-2.25.so
第二种方式没看明白,在哪能修改libc.so.6的连接指向/lib64/libc-2.25.so呢? 是说/usr/lib64/libc_nonshared.a么,但是这是一个.a的文件 可以改么?
LubinLew 2017-07-18
  • 打赏
  • 举报
回复
libc.so 是脚本,你看一下就明白了

[root@localhost lib64]# cat libc.so
/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a  AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )

libc.so 默认指向 libc.so.6, 但是libc.so.6是指向libc-2.17.so的链接, 方案1:替换libc.so中GROUP的一个参数为/lib64/libc-2.25.so 方案2:修改libc.so.6链接指向 /lib64/libc-2.25.so

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧