最近上Linux系统基础课程,要在虚拟机上编译运行程序,这时候就需要安装gcc,网上一搜,各种什么在线,离线安装,其中在线安装很方面,一个命令 yum install gcc 即可解决

可我这么输入后,提示yum源未注册,没有启动的源(仓库),无法安装(如下图),正常安装成功的当我没说。

这就难受了,而直接离线装gcc更麻烦。翻了翻书,后面有用到yum,于是我花了两天将yum换成免费的,看了30多篇博客、问答,总结出这篇亲身实践的博客(也方便自己复习查看)。

希望大家别嫌麻烦,网上很多简单的操作难以解决这个问题

开始吧,首先,前提是安装好Linux虚拟机(能连上网络的)

这个前提网上有许多实用的,就不说了(为了这篇,我又去安了一次),开启虚拟机,以root账号登入,在桌面打开终端

第二步:卸载原先的yum(rpm -qa|grep yum|xargs rpm -e --nodeps)

 输入rpm -qa |grep yum  确认是否卸载完成(回车后无信息显示)

第三步,下载yum包以及相关依赖文件

这部分有点多,请耐心一点

我用的是网易的镜像网站,http://mirrors.163.com/

访问http://mirrors.163.com/centos/7.6.1810/os/x86_64/Packages/网页

注意:具体地址可能不一样,取决于想要下载的版本,比如我这里选择的是7.6.1810(如下图),个人按照需求选择

找到需要下载的文件

python-iniparse-0.4-9.el7.noarch.rpm

python-urlgrabber-3.10-9.el7.noarch.rpm

yum-3.4.3-161.el7.centos.noarch.rpm

yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm

利用wget + 文件地址即可下载(也可以网页上直接点击下载)

 下好这五个文件(为了方便我都丢到桌面上)

开始安装(rpm -ivh *.rpm 全部安装)

哎呀,发生了错误,错误信息意思是:我缺少了4.11.3-22以上版本的rpm,所以,再回到下原先下yum包的地方,找到对应的rpm,下载

 然后先安装这个rpm,注意,直接rpm -ivh无法成功安装,因为老版本的rpm与许多其他程序有着依赖,会导致无法安装新版本

这里使用 rpm -Uvh rpm-4.11.3-35.el7.x86_64.rpm --nodeps 进行升级安装)

 同理,下载的两个python文件的也这样进行升级安装

再来尝试安装那三个yum相关文件(由于yum原来的版本被卸载了,所以可以直接rpm -ivh)

(注意,yum-3.4.3-161.el7.centos.noarch.rpm 和yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm相互依赖,一定要同时安装)

到这里yum就算是半完成了,可以试试输入yum看有没反应,正常反应如下图,

如果出现 未找到命令,代表没安装完成,

这时,回头再依次 rpm -ivh yum相关的文件(先安metadata那个,再同时安剩下的两个

rpm -ivh yum-3.4.3-161.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm),我这里由于已经安好了,就会提示已经安装

如果出现

这种类似的错误,提示缺啥就到那个网站上去找,找到之后下下来,

rpm -Uvh  xxxxxxx.rpm --nodeps升级安装好后,再安装一边报错的文件,直到成功为止

第四步 新建配置.repo文件

输入 vim /etc/yum.repos.d/CentOS-Base.repo 进入Vi编辑模式,复制下列代码内容进去

#CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$7 - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$7 - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$7 - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$7 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

一定要复制完整,之后按esc进入命令模式,输入:wq保存并退出

之后yum clean all清除缓存,就可以使用yum了

第五步 安装gcc

yum搞好后,装gcc或者其他工具就很方便了,直接yum install xxxx就能自动安装了

不过中途会提问你是否继续一类的问题,输入y,回车,让它继续安,直到显示 完毕,

显示 完毕!就代表安装完成了

(PS:使用yum安装的好处,就是可以将你所需要的工具和工具依赖的文件都一并下载或者更新,如下所示)

至此, yum和gcc都安装完毕了

来,测试一下 gcc -v

不放心的话还可以再测试一下,随便搞个c语言文件,进行编译并运行

看,成功了!

参考资料:

https://blog.csdn.net/qq_34256348/article/details/78837175(Redhat7 安装 yum 博主亲自安装记录!!!!——燕云幽侠)

https://blog.csdn.net/zhaosenoo/article/details/70919881(RHEL7解决无法使用YUM源问题——zhaosenoo)

Redhat7 安装 yum(换成免费版) 安装gcc的更多相关文章

  1. 如何由jdk的安装版本改成非安装版本

    背景. 官网一般只提供windows下的exe文件,不提供zip打包文件.有些不愿意使用安装版本. 解决方法 本文以windows 7下安装jdk-6u35-windows-x64.exe为例说明 1 ...

  2. CentOS6.3 编译安装LAMP(4):编译安装 PHP5.3.27

    所需源码包: /usr/local/src/PHP-5.3.27/libmcrypt-2.5.8.tar.gz /usr/local/src/PHP-5.3.27/mhash-0.9.9.9.tar. ...

  3. yum换源,rpm包下载,源码包安装

    一.yum更换源 yum自带源地址一般斗是国外的,可能下载速度略慢,我们可以自己换成国内的源,比如163等.比如配置163的yum源:1.先删除默认源文件dvd.repo # rm -f /etc/y ...

  4. Redhat7 安装 yum源(亲测有效)

    由于之前安装Redhat7 想安装vsftpd  使用yum   install vsftpd 报错: This system is not registered to Red Hat Subscri ...

  5. 安装yum源和gcc编译器遇到的问题

    这两天我试着在VMware虚拟机里安装gcc,遇到了不少问题 1.   安装yum源 我搭建的是光盘yum源(有两种方法搭建yum源,另外一种是网络yum源,但至今没弄懂我的网络yum源为什么不成功) ...

  6. RedHat7.4最小化安装yum源不可用问题解决

    本次安装的RedHat7.4是安装在Oracle VM VirtualBox5.2.8虚拟机上面的,本文不对安装虚拟机步骤做详细说明. 工具准备: Oracle VM VirtualBox5.2.8 ...

  7. bundle install 老是中断,可以在gemfile里面把source换成taobao源,可以自动安装

    bundle install 老是中断,可以在gemfile里面把source换成taobao源,可以自动安装

  8. RedHat7安装yum工具

    一                   RedHat7安装yum工具 1.1        查看yum是否可用 yum list yum repolist 1.2        卸载原yum rpm ...

  9. Fedora26安装Mysql实记(包含yum换源教程)

    课程实验中有一项是安装Hive,这个过程中需要安装Mysql. 在安装Mysql耗费了好多时间,总是报错数据仓库同步失败什么的. 输入yum install mysql 就提示错误,连接不上数据源.该 ...

随机推荐

  1. nodejs(上)(获取请求参数)

    Node.js是一个让JavaScript运行在服务器端的开发平台    参考文章 nodejs特点: 单线程 异步非阻塞i/o(异步相对节省资源,把那个等待的时间利用上了) 事件驱动 稳定性差(因为 ...

  2. 【Python之路】特别篇--Django生产环境部署

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. uWSGI uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中H ...

  3. Web上传超大文件解决方案

    文件上传下载,与传统的方式不同,这里能够上传和下载10G以上的文件.而且支持断点续传. 通常情况下,我们在网站上面下载的时候都是单个文件下载,但是在实际的业务场景中,我们经常会遇到客户需要批量下载的场 ...

  4. Linux网络编程二、tcp连接API

    一.服务端 1.创建套接字: int socket(int domain, int type, int protocol); domain:指定协议族,通常选用AF_INET. type:指定sock ...

  5. Vue双向绑定的实现原理系列(一):Object.defineproperty

    了解Object.defineProperty() github源码 Object.defineProperty()方法直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象. ...

  6. python3笔记目录大纲汇总

    篇一.python3基础知识和语句 python3笔记一:python基础知识 python3笔记二:进制转换与原码反码补码 python3笔记三:运算符与表达式 python3笔记四:if语句 py ...

  7. c# 调用CMD命令并获取输出结果

    private static string CMDPath = Environment.GetFolderPath(Environment.SpecialFolder.System) + " ...

  8. 踩坑:VScode 集成 eslint 插件

    本文以 Vue 官方脚手架 Vue-cli 为例: 1. 创建 Vue 项目 注意:Vue-cli 默认给出了 eslint 配置,一路回车即可.最后在安装模块的时候,选择直接安装!我用淘宝镜像安装时 ...

  9. Python: sklearn库——数据预处理

    Python: sklearn库 —— 数据预处理 数据集转换之预处理数据:      将输入的数据转化成机器学习算法可以使用的数据.包含特征提取和标准化.      原因:数据集的标准化(服从均值为 ...

  10. html5-meta标签和搜索引擎

    emta标签的组成: meta标签分两大部分:HTTP-EQUIV  和  NAME  变量. HTTP-EQUIV:HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助 ...