当前位置:   article > 正文

centos7下,源码离线升级gcc、glibc等系统库,以及yum修复方法_glibc 升级yum 无法使用

glibc 升级yum 无法使用

一、问题描述

centos7.10系统下,gblic版本升级方案。
升级原因:pyinstaller打包平台gblic版本太高,部署机器版本低,导致可执行程序无法正常启动。
需要升级的库(如下图):gcc、make、bison、python。
在这里插入图片描述

二、 升级方案

1. gcc升级到9.4.0

# wget https://mirrors.aliyun.com/gnu/gcc/gcc-9.4.0/gcc-9.4.0.tar.gz
tar -zxvf gcc-9.4.0.tar.gz
cd gcc-9.4.0/
# 下载4个依赖文件,可以去能联网的linux服务器上下载
# gmp=‘gmp-6.1.0.tar.bz2’
# mpfr=‘mpfr-3.1.4.tar.bz2’
# mpc=‘mpc-1.0.3.tar.gz’
# isl=‘isl-0.18.tar.bz2’
#方式如下
./contrib/download_prerequisites
# 预编译
mkdir build
cd build
../configure --prefix=/usr --enable-multilib --enable-languages=c,c++ -disable-multilib
make -j2
make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
可能遇到的问题

问题一:make 报错 :configure: error: C++ compiler missing or inoperational
原因:缺少g++库
解决方法:yum install gcc-c++
说明:这里使用了在线安装g++的方式,因为yum可以自动下载适合操作系统的版本,并且同时下载好相关依赖。

问题二:yum下载安装包,然后移动到离线环境服务器上,使用rpm离线安装方式

# 查看某个rpm包的依赖包,如bison
yum deplist bison

# 输出
软件包:bison.x86_64 3.0.4-2.el7
   依赖:/bin/sh
   provider: bash.x86_64 4.2.46-35.el7_9
   依赖:/sbin/install-info
   provider: info.x86_64 5.1-5.el7
   依赖:libc.so.6(GLIBC_2.15)(64bit)
   provider: glibc.x86_64 2.17-326.el7_9
   依赖:m4 >= 1.4
   provider: m4.x86_64 1.4.16-10.el7
   依赖:rtld(GNU_HASH)
   provider: glibc.x86_64 2.17-326.el7_9
   provider: glibc.i686 2.17-326.el7_9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
# 安装yum-utils
$ yum -y install yum-utils

# 下载 ansible 全量依赖包
$ repotrack bison
# 经过实操证明,bison安装升级,不需要其它依赖包,只通过rpm bison就成功了,可能是实验系统上已经有了相关依赖包

# rpm离线安装
rpm -Uvh --force --nodeps bison-3.0.4-2.el7.x86_64.rpm  #*.rpm
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

2. 升级make

wget https://mirrors.aliyun.com/gnu/make/make-4.3.tar.gz
tar zxf make-4.3.tar.gz
cd make-4.3/
mkdir build
cd build
../configure --prefix=/usr
make -j2
make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3. 升级python

linux下源码安装python,多版本共存

4. 升级bison

rpm -Uvh --force --nodeps bison-3.0.4-2.el7.x86_64.rpm
  • 1

5. 升级glibc

1)rpm包方式安装,下载地址如下

# 下载地址: https://rpmfind.net/linux/RPM/opensuse/15.3/x86_64/glibc-2.31-7.30.x86_64.html
rpm -Uvh --force --nodeps glibc-2.31-7.30.x86_64.rpm
# 验证
ldd --version

ldd (GNU libc) 2.31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2)源码安装

curl -O http://ftp.gnu.org/gnu/glibc/glibc-2.31.tar.gz
tar zxf glibc-2.31.tar.gz 
cd glibc-2.31/
mkdir build
cd build/
../configure --prefix=/usr
make -j2
make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

三、 yum修复方法

1. 问题描述

使用yum install vim时,出现HTTP Error 404 - Not Found的提示,具体如下:

http://mirrors.aliyun.com/non-supported/rhel/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
  • 1

2. 解决方法

1)删除老仓库文件

# 进入yum
cd /etc/yum.repos.d
# 移除
rm *.*
  • 1
  • 2
  • 3
  • 4

2)卸载yum包

# 查看yum版本
[root@192 yum.repos.d]# rpm -qa yum
yum-3.4.3-168.el7.centos.noarch
# 卸载yum安装包
rpm -qa yum yum-3.4.3-168.el7.centos.noarch
# 卸载安装组件
rpm -qa | grep yum | xargs rpm -e --nodeps 
rpm -qa yum

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3)下载最新的rpm包
http://mirrors.163.com/centos/7/os/x86_64/Packages/

yum-最新版.centos.noarch.rpm 
yum-metadata-parser-最新版.x86_64.rpm
yum-plugin-fastestmirror-最新版.noarch.rpm
  • 1
  • 2
  • 3

4)安装yum

rpm -ivh yum-*
  • 1

5)导入证书

rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7

  • 1
  • 2

6)添加阿里源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

  • 1
  • 2

7)清除缓存,生成新的缓存

yum clean all
yum makecache
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/940331
推荐阅读
相关标签
  

闽ICP备14008679号