CentOS升级乱七八糟问题解决-升级内核-升级gcc-升级glibc

-----------------------------------------------------------------
Error: Package: libgpod-0.8.3-7.el7.x86_64 (@epel)
           Requires: libimobiledevice.so.4()(64bit)
           Removing: libimobiledevice-1.1.5-6.el7.x86_64 (@anaconda)
               libimobiledevice.so.4()(64bit)
           Updated By: libimobiledevice-1.2.0-1.el7.x86_64 (base)
              ~libimobiledevice.so.6()(64bit)
Error: Package: libgpod-0.8.3-7.el7.x86_64 (@epel)
           Requires: libplist.so.1()(64bit)
           Removing: libplist-1.10-4.el7.x86_64 (@anaconda)
               libplist.so.1()(64bit)
           Updated By: libplist-1.12-3.el7.x86_64 (base)
              ~libplist.so.3()(64bit)
Error: Package: libgpod-0.8.3-7.el7.x86_64 (@epel)
           Requires: libusbmuxd.so.2()(64bit)
           Removing: usbmuxd-1.0.8-11.el7.x86_64 (@anaconda)
               libusbmuxd.so.2()(64bit)
           Obsoleted By: usbmuxd-1.1.0-1.el7.x86_64 (base)
               Not found
 You could try using --skip-broken to work around the problem
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
libgcc-4.8.5-36.el7.x86_64 is a duplicate with libgcc-4.8.5-4.el7.x86_64
libstdc++-4.8.5-36.el7.x86_64 is a duplicate with libstdc++-4.8.5-4.el7.x86_64
# rpm --erase --nodeps libstdc++-4.8.5-36.el7.x86_64
# rpm --erase --nodeps libstdc++-4.8.5-4.el7.x86_64
# yum install libstdc++
libgcc-4.8.5-36.el7.x86_64 is a duplicate with libgcc-4.8.5-4.el7.x86_64
rpm --erase --nodeps libgcc-4.8.5-36.el7.x86_64 
rpm --erase --nodeps libgcc-4.8.5-4.el7.x86_64
yum install libgcc
yum报错, 说是伯克利的那个嵌入式数据库报错~
重建一下就好了

cd /var/lib/rpm
rm -rf __db*
rpm --rebuilddb

升级一下内核

查了一下, 安装了一堆乱七八糟的
rpm -qa | grep kernel

留一个能用的,全删掉
yum remove -y kernel-xxxxxx

公司服务器不让上网, 那就手动来搞
原命令是这样的,
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 
只能先下载下来文件, scp上去, 手动执行一下
https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm 

rpm --import RPM-GPG-KEY-elrepo.org
安装repo
rpm -Uvh elrepo-release-7.0-3.el7.elrepo.noarch.rpm 

然后,还是公司不让联网...好在公司自己有镜像网站, 赞一个, 自己编辑yum repo
---------------------------------------------------------------------------------
### Name: ELRepo.org Community Enterprise Linux Repository for el7
### URL: http://elrepo.org/

[elrepo]
name=ELRepo.org Community Enterprise Linux Repository - el7
baseurl=http://mirrors.xxxxxxx/elrepo/elrepo/el7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-testing]
name=ELRepo.org Community Enterprise Linux Testing Repository - el7
baseurl=http://mirrors.xxxxxxx/elrepo/testing/el7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el7
baseurl=http://mirrors.xxxxxxx/elrepo/kernel/el7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

[elrepo-extras]
name=ELRepo.org Community Enterprise Linux Extras Repository - el7
baseurl=http://mirrors.xxxxxxx/elrepo/extras/el7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0
---------------------------------------------------------------------------------

看一下,哪个有效
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

安装个稳定版本吧:
yum --enablerepo=elrepo-kernel install kernel-ml


安装完
init 6

grub菜单, 选上新内核, 进去, 再次删除不需要的内核,~~~OK
----------------------------------------------------------------------------------
repo 官网
http://elrepo.org/tiki/tiki-index.php

外国人写的:
https://www.tecmint.com/install-upgrade-kernel-version-in-centos-7/
 

 20200102 升级内核5.4.7

vim /boot/grub2/grub.cfg

 20200604 升级内核5.7.0-1.el7.elrepo.x86_64

------------------------------------------------------

升级gcc

https://medium.com/@bipul.k.kuri/install-latest-gcc-on-centos-linux-release-7-6-a704a11d943d

http://gnu.mirror.iweb.com/gcc/gcc-8.4.0/

tar -zxvf xxx.tar.gz
mkdir gcc-build
cd gcc-build
../configure --enable-languages=c,c++ --disable-multilib
make -j4
make install
这老兄写得不错哟~~~
#!/bin/sh GCC_VERSION=9.2.0 sudo yum -y update sudo yum -y install bzip2 wget gcc gcc-c++ gmp-devel mpfr-devel libmpc-devel make gcc --version wget http://gnu.mirror.constant.com/gcc/gcc-$GCC_VERSION/gcc-$GCC_VERSION.tar.gz tar zxf gcc-$GCC_VERSION.tar.gz mkdir gcc-build cd gcc-build ../gcc-$GCC_VERSION/configure --enable-languages=c,c++ --disable-multilib make -j$(nproc) sudo make install gcc --version cd .. rm -rf gcc-build

还算不错, 看网上有人build了2个多小时, 我这里一个小时.
[root@xxxxxxx]# gcc --version
gcc (GCC) 8.4.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 https://www.cnblogs.com/NanZhiHan/p/11010130.html

主要是最后要把软连接删掉重建, 文件夹比较坑, 因为是make的时候prefix指定的

另外一种方式, 比较好, 使用yum安装

https://www.vpser.net/manage/centos-6-upgrade-gcc.html

https://www.cnblogs.com/dj0325/p/8481092.html

原文地址:https://www.cnblogs.com/tekikesyo/p/11423533.html