欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

更新yum源解决:centos7 安装 Redis ,make编译报错,安装gcc 提示:没有可用软件包 gcc

程序员文章站 2022-05-31 10:21:13
...

全程使用的是XShell敲的命令。

首先说一下遇到的问题:

我的centos是虚拟机。我在物理机上下载好了redis压缩包redis-5.0.5.tar.gz,然后 rz 命令上传到虚拟机,解压,编译。

问题出现了:编译失败  

[[email protected] redis-5.0.5]# make
cd src && make all
make[1]: 进入目录“/softwares/redis-5.0.5/src”
    CC Makefile.dep
make[1]: 离开目录“/softwares/redis-5.0.5/src”
make[1]: 进入目录“/softwares/redis-5.0.5/src”
    CC adlist.o
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/softwares/redis-5.0.5/src”
make: *** [all] 错误 2

解决:更新yum  repo源 

1、备份,为了更新失败时切换回去,(好像从来也没有还原过)

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup


2、进入yum源配置文件夹

cd /etc/yum.repos.d/

3、根据centos版本下载对应的新源

CentOS7

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

                                                                                6
                                                                                5
                                        如果是centos 6  或者 centos 5  更改一下数字即可

因为是最小安装linux,我的centos上没有wget。

因此我使用主机访问: http://mirrors.aliyun.com/repo/Centos-7.repo

下载成功后使用 rz 命令  上传到当前目录(/etc/yum.repos.d/)

 

4、yum makecache 生成缓存,会把新下载CentOS-Base.repo源生效。
更新时会报某个aliyun timeout,他会自动尝试阿里其他镜像,最后自己会用基础镜像,然后自动更新一部分。因为基础镜像过时了。

[[email protected] yum.repos.d]# yum makecache
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                                                                                                           | 3.6 kB  00:00:00     
bintray--sbt-rpm                                                                                                                               | 1.3 kB  00:00:00     
docker-ce-stable                                                                                                                               | 3.5 kB  00:00:00     
extras                                                                                                                                         | 2.9 kB  00:00:00     
updates                                                                                                                                        | 2.9 kB  00:00:00     
base/7/x86_64/primary_db       FAILED                                          
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/repodata/04efe80d41ea3d94d36294f7107709d1c8f70db11e152d6ef562da344748581a-primary.sqlite.bz2: [Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error"
正在尝试其它镜像。
(1/14): base/7/x86_64/group_gz                                                                                                                 | 165 kB  00:00:00     
(2/14): bintray--sbt-rpm/other                                                                                                                 | 1.6 kB  00:00:01     
(3/14): bintray--sbt-rpm/filelists                                                                                                             | 8.6 kB  00:00:01     
(4/14): extras/7/x86_64/filelists_db                                                                                                           | 217 kB  00:00:00     
(5/14): extras/7/x86_64/primary_db                                                                                                             | 165 kB  00:00:00     
(6/14): docker-ce-stable/x86_64/other_db                                                                                                       | 113 kB  00:00:00     
(7/14): extras/7/x86_64/other_db                                                                                                               | 106 kB  00:00:00     
(8/14): updates/7/x86_64/filelists_db                                                                                                          | 4.5 MB  00:00:00     
(9/14): docker-ce-stable/x86_64/filelists_db                                                                                                   |  19 kB  00:00:02     
(10/14): updates/7/x86_64/other_db                                                                                                             | 573 kB  00:00:00     
(11/14): base/7/x86_64/primary_db                                                                                                              | 6.0 MB  00:00:00     
(12/14): base/7/x86_64/other_db                                                                                                                | 2.6 MB  00:00:08     
base/7/x86_64/filelists_db     FAILED                                          
http://mirrors.aliyuncs.com/centos/7/os/x86_64/repodata/41232548001a78473ae0f2d4b92e1ec28f7a0593e0495056515887fe2a39b416-filelists.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
updates/7/x86_64/primary_db    FAILED                                          ========================-                            ]  82 kB/s |  15 MB  00:02:58 ETA 
http://mirrors.aliyuncs.com/centos/7/updates/x86_64/repodata/12edbf1c5cf7ae40141e7613deb678796a73317a58670b419846ad44a46c7b77-primary.sqlite.bz2: [Errno 14] curl#7 - "Failed connect to mirrors.aliyuncs.com:80; Connection refused"
正在尝试其它镜像。
(13/14): updates/7/x86_64/primary_db                                                                                                           | 7.6 MB  00:00:01     
(14/14): base/7/x86_64/filelists_db                                                                                                            | 7.3 MB  00:00:28     
bintray--sbt-rpm                                                                                                                                                49/49
bintray--sbt-rpm                                                                                                                                                49/49
元数据缓存已建立

此时可以安装gcc编译器了

[[email protected] yum.repos.d]# cd /softwares/redis-5.0.5
[[email protected] redis-5.0.5]# yum install gcc
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 gcc.x86_64.0.4.8.5-39.el7 将被 安装
--> 正在处理依赖关系 libgomp = 4.8.5-39.el7,它被软件包 gcc-4.8.5-39.el7.x86_64 需要
--> 正在处理依赖关系 cpp = 4.8.5-39.el7,它被软件包 gcc-4.8.5-39.el7.x86_64 需要
--> 正在处理依赖关系 libgcc >= 4.8.5-39.el7,它被软件包 gcc-4.8.5-39.el7.x86_64 需要
--> 正在处理依赖关系 glibc-devel >= 2.2.90-12,它被软件包 gcc-4.8.5-39.el7.x86_64 需要
--> 正在处理依赖关系 libmpfr.so.4()(64bit),它被软件包 gcc-4.8.5-39.el7.x86_64 需要
--> 正在处理依赖关系 libmpc.so.3()(64bit),它被软件包 gcc-4.8.5-39.el7.x86_64 需要
--> 正在检查事务
---> 软件包 cpp.x86_64.0.4.8.5-39.el7 将被 安装
---> 软件包 glibc-devel.x86_64.0.2.17-292.el7 将被 安装
--> 正在处理依赖关系 glibc-headers = 2.17-292.el7,它被软件包 glibc-devel-2.17-292.el7.x86_64 需要
--> 正在处理依赖关系 glibc = 2.17-292.el7,它被软件包 glibc-devel-2.17-292.el7.x86_64 需要
--> 正在处理依赖关系 glibc-headers,它被软件包 glibc-devel-2.17-292.el7.x86_64 需要
---> 软件包 libgcc.x86_64.0.4.8.5-36.el7 将被 升级
---> 软件包 libgcc.x86_64.0.4.8.5-39.el7 将被 更新
---> 软件包 libgomp.x86_64.0.4.8.5-36.el7 将被 升级
---> 软件包 libgomp.x86_64.0.4.8.5-39.el7 将被 更新
---> 软件包 libmpc.x86_64.0.1.0.1-3.el7 将被 安装
---> 软件包 mpfr.x86_64.0.3.1.1-4.el7 将被 安装
--> 正在检查事务
---> 软件包 glibc.x86_64.0.2.17-260.el7 将被 升级
--> 正在处理依赖关系 glibc = 2.17-260.el7,它被软件包 glibc-common-2.17-260.el7.x86_64 需要
---> 软件包 glibc.x86_64.0.2.17-292.el7 将被 更新
---> 软件包 glibc-headers.x86_64.0.2.17-292.el7 将被 安装
--> 正在处理依赖关系 kernel-headers >= 2.2.1,它被软件包 glibc-headers-2.17-292.el7.x86_64 需要
--> 正在处理依赖关系 kernel-headers,它被软件包 glibc-headers-2.17-292.el7.x86_64 需要
--> 正在检查事务
---> 软件包 glibc-common.x86_64.0.2.17-260.el7 将被 升级
---> 软件包 glibc-common.x86_64.0.2.17-292.el7 将被 更新
---> 软件包 kernel-headers.x86_64.0.3.10.0-1062.18.1.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

======================================================================================================================================================================
 Package                                   架构                              版本                                            源                                  大小
======================================================================================================================================================================
正在安装:
 gcc                                       x86_64                            4.8.5-39.el7                                    base                                16 M
为依赖而安装:
 cpp                                       x86_64                            4.8.5-39.el7                                    base                               5.9 M
 glibc-devel                               x86_64                            2.17-292.el7                                    base                               1.1 M
 glibc-headers                             x86_64                            2.17-292.el7                                    base                               687 k
 kernel-headers                            x86_64                            3.10.0-1062.18.1.el7                            updates                            8.8 M
 libmpc                                    x86_64                            1.0.1-3.el7                                     base                                51 k
 mpfr                                      x86_64                            3.1.1-4.el7                                     base                               203 k
为依赖而更新:
 glibc                                     x86_64                            2.17-292.el7                                    base                               3.6 M
 glibc-common                              x86_64                            2.17-292.el7                                    base                                11 M
 libgcc                                    x86_64                            4.8.5-39.el7                                    base                               102 k
 libgomp                                   x86_64                            4.8.5-39.el7                                    base                               158 k

事务概要
======================================================================================================================================================================
安装  1 软件包 (+6 依赖软件包)
升级           ( 4 依赖软件包)

总下载量:48 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/11): cpp-4.8.5-39.el7.x86_64.rpm                                                                                                            | 5.9 MB  00:00:01     
(2/11): glibc-2.17-292.el7.x86_64.rpm                                                                                                          | 3.6 MB  00:00:00     
(3/11): gcc-4.8.5-39.el7.x86_64.rpm                                                                                                            |  16 MB  00:00:03     
(4/11): glibc-devel-2.17-292.el7.x86_64.rpm                                                                                                    | 1.1 MB  00:00:00     
(5/11): glibc-headers-2.17-292.el7.x86_64.rpm                                                                                                  | 687 kB  00:00:00     
(6/11): libgcc-4.8.5-39.el7.x86_64.rpm                                                                                                         | 102 kB  00:00:00     
(7/11): libgomp-4.8.5-39.el7.x86_64.rpm                                                                                                        | 158 kB  00:00:00     
(8/11): glibc-common-2.17-292.el7.x86_64.rpm                                                                                                   |  11 MB  00:00:02     
(9/11): libmpc-1.0.1-3.el7.x86_64.rpm                                                                                                          |  51 kB  00:00:00     
(10/11): mpfr-3.1.1-4.el7.x86_64.rpm                                                                                                           | 203 kB  00:00:00     
(11/11): kernel-headers-3.10.0-1062.18.1.el7.x86_64.rpm                                                                                        | 8.8 MB  00:00:01     
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                  9.3 MB/s |  48 MB  00:00:05     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在更新    : libgcc-4.8.5-39.el7.x86_64                                                                                                                       1/15 
  正在更新    : glibc-common-2.17-292.el7.x86_64                                                                                                                 2/15 
  正在更新    : glibc-2.17-292.el7.x86_64                                                                                                                        3/15 
warning: /etc/nsswitch.conf created as /etc/nsswitch.conf.rpmnew
  正在安装    : mpfr-3.1.1-4.el7.x86_64                                                                                                                          4/15 
  正在安装    : libmpc-1.0.1-3.el7.x86_64                                                                                                                        5/15 
  正在安装    : cpp-4.8.5-39.el7.x86_64                                                                                                                          6/15 
  正在更新    : libgomp-4.8.5-39.el7.x86_64                                                                                                                      7/15 
  正在安装    : kernel-headers-3.10.0-1062.18.1.el7.x86_64                                                                                                       8/15 
  正在安装    : glibc-headers-2.17-292.el7.x86_64                                                                                                                9/15 
  正在安装    : glibc-devel-2.17-292.el7.x86_64                                                                                                                 10/15 
  正在安装    : gcc-4.8.5-39.el7.x86_64                                                                                                                         11/15 
  清理        : libgomp-4.8.5-36.el7.x86_64                                                                                                                     12/15 
  清理        : glibc-common-2.17-260.el7.x86_64                                                                                                                13/15 
  清理        : glibc-2.17-260.el7.x86_64                                                                                                                       14/15 
  清理        : libgcc-4.8.5-36.el7.x86_64                                                                                                                      15/15 
  验证中      : glibc-devel-2.17-292.el7.x86_64                                                                                                                  1/15 
  验证中      : glibc-2.17-292.el7.x86_64                                                                                                                        2/15 
  验证中      : mpfr-3.1.1-4.el7.x86_64                                                                                                                          3/15 
  验证中      : libgcc-4.8.5-39.el7.x86_64                                                                                                                       4/15 
  验证中      : libgomp-4.8.5-39.el7.x86_64                                                                                                                      5/15 
  验证中      : libmpc-1.0.1-3.el7.x86_64                                                                                                                        6/15 
  验证中      : cpp-4.8.5-39.el7.x86_64                                                                                                                          7/15 
  验证中      : gcc-4.8.5-39.el7.x86_64                                                                                                                          8/15 
  验证中      : glibc-common-2.17-292.el7.x86_64                                                                                                                 9/15 
  验证中      : glibc-headers-2.17-292.el7.x86_64                                                                                                               10/15 
  验证中      : kernel-headers-3.10.0-1062.18.1.el7.x86_64                                                                                                      11/15 
  验证中      : glibc-2.17-260.el7.x86_64                                                                                                                       12/15 
  验证中      : libgomp-4.8.5-36.el7.x86_64                                                                                                                     13/15 
  验证中      : glibc-common-2.17-260.el7.x86_64                                                                                                                14/15 
  验证中      : libgcc-4.8.5-36.el7.x86_64                                                                                                                      15/15 

已安装:
  gcc.x86_64 0:4.8.5-39.el7                                                                                                                                           

作为依赖被安装:
  cpp.x86_64 0:4.8.5-39.el7        glibc-devel.x86_64 0:2.17-292.el7      glibc-headers.x86_64 0:2.17-292.el7      kernel-headers.x86_64 0:3.10.0-1062.18.1.el7     
  libmpc.x86_64 0:1.0.1-3.el7      mpfr.x86_64 0:3.1.1-4.el7             

作为依赖被升级:
  glibc.x86_64 0:2.17-292.el7           glibc-common.x86_64 0:2.17-292.el7           libgcc.x86_64 0:4.8.5-39.el7           libgomp.x86_64 0:4.8.5-39.el7          

完毕!

安装完成,可以进行编译了。 

现在我已经切换到redis文件夹下了,我自己创建的:/software/redis-5.0.5

此时先清理一下编译缓存: make distclean

 

[[email protected] redis-5.0.5]# make distclean
cd src && make distclean
make[1]: 进入目录“/softwares/redis-5.0.5/src”
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep dict-benchmark
(cd ../deps && make distclean)
make[2]: 进入目录“/softwares/redis-5.0.5/deps”
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-*)
make[2]: 离开目录“/softwares/redis-5.0.5/deps”
(rm -f .make-*)
make[1]: 离开目录“/softwares/redis-5.0.5/src”

再编译: make

编译的日志太长,就不往这里放了。

编译成功后就可以使用啦!