众所周知,YUM是CENTOS7的安装程序。
普通情况下,连网之后 ,用yum install 就可以安装。
但当网络环境经常出现连接失败的情况,默认情况下的行为就走不通了。
为解决这个问题,可以考虑如下三个方案
方案一:YUM从其他镜像网络安装
这个方案需要修改安装源为其他镜像源,例如淘宝阿里云或163.
方案二:YUM从本地U盘安装
这个方案要求把安装盘插到CENTOS上。
方案三:YUM从ISO上直接安装
这个方案只需要把ISO下载,然后上传CENTOS服务器,再MOUNT到系统,修改安装源指向本地路径
步骤1:MOUNT ISO到本地目录
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
[root@localhost mnt]# cd /
[root@localhost /]# mount -o loop /home/XXXX/CentOS-7-x86_64-DVD-2207-02.iso /mnt
mount: /dev/loop0 写保护,将以只读方式挂载
[root@localhost /]# ls /mnt
CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL
[root@localhost /]#
步骤2:修改安装源指向本地路径/mnt
1). 备份原文件
为避免原来的源选择过程中影响速度,把原文件备份后删除
cp /etc/yum.repos.d/* ~/backup
rm /etc/yum.repos.d/*
2). 添加路径
[root@localhost ~]# yum-config-manager --add-repo="file:///mnt"
将会生成一个mnt.repo文件
[root@localhost yum.repos.d]# cat mnt.repo
[mnt]
name=added from: file:///mnt
baseurl=file:///mnt
enabled=1
3、makecache
yum makecache
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
mnt | 3.6 kB 00:00:00
(1/4): mnt/group_gz | 153 kB 00:00:00
(2/4): mnt/primary_db | 3.3 MB 00:00:00
(3/4): mnt/filelists_db | 3.3 MB 00:00:00
(4/4): mnt/other_db | 1.3 MB 00:00:00
元数据缓存已建立
4、尝试安装
yum install gcc
已加载插件:fastestmirror, langpacks
您已启用软件包 GPG 签名检查,这样很好。不过您尚未安装任何 GPG 公钥。请下载您希望安装的软件签名公钥并安装。假设公钥已下载,安装命令是:
rpm --import public.gpg.key
或者,在软件源配置中,使用 'gpgkey' 选项指定软件源使用的公钥 URL,这样 yum 会自动安装它。
详情请联系发行版或软件包制作人。
问题源:mnt
原因是gpgcheck=1,选项没有修改.
5、修改选项
[root@localhost yum.repos.d]# vi mnt.repo
[mnt]
name=added from: file:///mnt
baseurl=file:///mnt
enabled=1
gpgcheck=0
6、再尝试安装gcc
[root@localhost yum.repos.d]# yum install gcc
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
mnt | 3.6 kB 00:00:00
正在解决依赖关系
--> 正在检查事务
---> 软件包 gcc.x86_64.0.4.8.5-44.el7 将被 安装
--> 正在处理依赖关系 cpp = 4.8.5-44.el7,它被软件包 gcc-4.8.5-44.el7.x86_64 需要
--> 正在处理依赖关系 glibc-devel >= 2.2.90-12,它被软件包 gcc-4.8.5-44.el7.x86_64 需要
--> 正在检查事务
---> 软件包 cpp.x86_64.0.4.8.5-44.el7 将被 安装
---> 软件包 glibc-devel.x86_64.0.2.17-326.el7_9 将被 安装
--> 正在处理依赖关系 glibc-headers = 2.17-326.el7_9,它被软件包 glibc-devel-2.17-326.el7_9.x86_64 需要
--> 正在处理依赖关系 glibc-headers,它被软件包 glibc-devel-2.17-326.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 glibc-headers.x86_64.0.2.17-326.el7_9 将被 安装
--> 正在处理依赖关系 kernel-headers >= 2.2.1,它被软件包 glibc-headers-2.17-326.el7_9.x86_64 需要
--> 正在处理依赖关系 kernel-headers,它被软件包 glibc-headers-2.17-326.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 kernel-headers.x86_64.0.3.10.0-1160.71.1.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
==========================================================================================================================================================================================================
Package 架构 版本 源 大小
正在安装:
gcc x86_64 4.8.5-44.el7 mnt 16 M
为依赖而安装:
cpp x86_64 4.8.5-44.el7 mnt 5.9 M
glibc-devel x86_64 2.17-326.el7_9 mnt 1.1 M
glibc-headers x86_64 2.17-326.el7_9 mnt 691 k
kernel-headers x86_64 3.10.0-1160.71.1.el7 mnt 9.1 M
事务概要
安装 1 软件包 (+4 依赖软件包)
总下载量:33 M
安装大小:59 M
Is this ok [y/d/N]: y
Downloading packages:
总计 269 MB/s | 33 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : cpp-4.8.5-44.el7.x86_64 1/5
正在安装 : kernel-headers-3.10.0-1160.71.1.el7.x86_64 2/5
正在安装 : glibc-headers-2.17-326.el7_9.x86_64 3/5
正在安装 : glibc-devel-2.17-326.el7_9.x86_64 4/5
正在安装 : gcc-4.8.5-44.el7.x86_64 5/5
验证中 : glibc-headers-2.17-326.el7_9.x86_64 1/5
验证中 : gcc-4.8.5-44.el7.x86_64 2/5
验证中 : kernel-headers-3.10.0-1160.71.1.el7.x86_64 3/5
验证中 : glibc-devel-2.17-326.el7_9.x86_64 4/5
验证中 : cpp-4.8.5-44.el7.x86_64 5/5
已安装:
gcc.x86_64 0:4.8.5-44.el7
作为依赖被安装:
cpp.x86_64 0:4.8.5-44.el7 glibc-devel.x86_64 0:2.17-326.el7_9 glibc-headers.x86_64 0:2.17-326.el7_9 kernel-headers.x86_64 0:3.10.0-1160.71.1.el7
完毕!
[root@localhost yum.repos.d]# gcc
gcc: 致命错误:没有输入文件
编译中断。
[root@localhost yum.repos.d]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright © 2015 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
成功。