安装gcc出错,解决/etc/yum.repos.d/*.repo文件不可用问题

在CentOS系统中安装gcc时遇到yum源问题,错误提示无法获取repository metadata。原因是当前repo文件的源不可用。解决方法包括:备份现有repo文件,下载最新repo文件,替换并编辑以匹配系统版本,清理yum缓存并刷新。通过这些步骤,可以成功安装gcc。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在目前的系统安装gcc,会出现以下问题
[root@bes2 ~]# yum install gcc
Loaded plugins: rhnplugin

This system is not registered with RHN.
RHN support will be disabled.

http://centos.ustc.edu.cn/centos/5/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 7 - ""
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

原因:目前的repo文件里面的源不是可用的
解决方法:下载最新的repo文件,替换目前系统中的repo文件,yum的repo文件放在/etc/yum.repos.d文件夹中,替换前需将目前文件夹中的其他repo文件修改为备份文件,每个文件的文件名后添加.bak后缀
[root@bes2 ~]# cd /etc/yum.repos.d/          ——进入对应的文件夹
[root@bes2 yum.repos.d]# mv rhel-debuginfo.repo rhel-debuginfo.repo.bak   ——修改原来已有文件为备份文件
[root@bes2 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo  ——下载最新的repo文件
[root@bes2 yum.repos.d]# vim CentOS6-Base-163.repo    ——编辑下载的repo文件,编辑前记得先备份
:1,$s/$releasever/6/g          ——在编辑模式下,将整个文件中的$releasever替换为当前的版本号,例如我的是6
[root@bes1 yum.repos.d]# yum clean all          ——清除yum缓存
[root@bes1 yum.repos.d]# yum makecache     ——把服务器的包信息下载到本地电脑缓存起来

完成上述更新后,再执行yum install gcc时,可正常安装gcc
FROM centos:centos7.9.2009 WORKDIR /app RUN curl http://mirrors.aliyun.com/repo/Centos-7.repo -o /etc/yum.repos.d/Centos-7.repo RUN yum clean all COPY library/ /app/library/ RUN sed -i '/\[base\]/d' /etc/yum.repos.d/*.repo && \ echo "[new_base]" >> /etc/yum.repos.d/base.repo && \ echo "name=New Base Repository" >> /etc/yum.repos.d/base.repo && \ echo "baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/" >> /etc/yum.repos.d/base.repo && \ echo "enabled=1" >> /etc/yum.repos.d/base.repo && \ echo "gpgcheck=1" >> /etc/yum.repos.d/base.repo && \ echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever" >> /etc/yum.repos.d/base.repo RUN yum update -y RUN yum install -y \ gcc \ gcc-c++ \ make \ tar \ gzip \ openssl-devel \ bzip2-devel \ sqlite-devel \ readline-devel \ tk-devel \ gdbm-devel \ db4-devel \ libpcap-devel \ xz-devel \ zlib-devel \ ncurses-devel \ glibc-devel \ libffi-devel RUN tar -xzf /app/library/Python-3.13.0.tgz -C /usr/local/src WORKDIR /usr/local/src/Python-3.13.0 RUN ./configure --prefix=/usr/local/Python-3.13.0 --with-openssl=/usr/include/openssl && \ make -j$(nproc) && \ make altinstall ENV PATH="/usr/local/Python-3.13.0/bin:${PATH}" RUN ln -sf /usr/local/Python-3.13.0/bin/python3.13 /usr/bin/python3 && \ ln -sf /usr/local/Python-3.13.0/bin/pip3.13 /usr/bin/pip3 && \ python3 --version RUN python3 -m ensurepip && \ pip3 install --upgrade pip RUN pip3 install --no-cache-dir -r /app/library/requirements.txt --find-links=/app/library/ || \ pip3 install --no-cache-dir -r /app/library/requirements.txt --ignore-installed || true EXPOSE 8501-8510 8080 6379 3306 COPY . /app # 启动命令 # CMD ["python3", "run_server.py"]
03-10
前置环境准备1. 相关软件包准备rhel软件包openssl软件包https://openssl-library.org/source/old/index.htmlopensshhttps://www.openssh.com/上传相关软件包2. 配置yum源mkdir /soft mkdir /mnt/filemkdir /etc/yum.repos.d/bakmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bakcat > /etc/yum.repos.d/base.repo << EDF[base]name=bashbaseurl=file:///mnt/fileenabled=1gpgcheck=0EDFmount -o loop /soft/rhel-server-7.9-x86_64-dvd.iso /mnt/file/yum clean allyum makecache3. 查询当前系统、openssh、openssl版本cat /etc/redhat-releasessh -V4. 安装依赖包yum -y install gcc gcc-c++ glibc make autoconf openssl-devel pcre-devel pam-devel rpm-build5. 禁止selinux##重点,禁止selinux 否则重启后会登录失败##sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsetenforce 06. 解压软件包cd /soft/tar -zxf openssh-9.8p1.tar.gz tar -zxf openssl-1.1.1w.tar.gz 升级opensslmv /usr/bin/openssl /usr/bin/openssl.bakmv /usr/include/openssl /usr/include/openssl.bakmv /usr/lib64/libssl.so /usr/lib64/libssl.so.bakcd /soft/openssl-1.1.1w/./config --prefix=/usr --shared && make && make installopenssl version升级openssh a. 编译安装opensshservice sshd stoprpm -e `rpm -qa|grep openssh` --nodepsrpm -qa |grep opensshrm -rf /etc/ssh#编译安装opensshcd /soft/openssh-9.8p1/./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords --with-pam --with-tcp-wrappers && make && make install b. 修改ssh配置文件cat >> /etc/ssh/sshd_config << EDFport 22PermitRootLogin yesPermitEmptyPasswords noEDFcp contrib/redhat/sshd.init /etc/init.d/sshdcp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam c. ssh服务chkconfig --add sshdchkconfig sshd onchkconfig sshd --listservice sshd startservice sshd restartssh -V版本回退方法yum remove -y openssh && yum install -y openssh openssh-clients openssh-serverservice sshd restart【注】:建议清理已保存的公私钥配置文件,rm -rf /etc/ssh/ssh_host 改为离线交互式脚本,扫描软件包路径,列出相关软件包,交互式输入openssl版本,交互式输入openssh版本,交互式输入挂载镜像版本,每个步骤都需执行检查,根据检查结果交互执行下一步,显示详细日志,包含回滚方案
最新发布
08-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值