Linux-yum报错

博客围绕Linux服务器网络问题展开,指出问题原因是DNS设置错误。通过将目标值修改为114.114.114.114、重启网络服务等操作进行排查,最终删除ifconfig - en33文件使网络可连接,参考文章排除报错后测试安装成功。

错误日志

已加载插件:fastestmirror, langpacks
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"


 One of the configured repositories failed (未知),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: base/7/x86_64


原因

问题原因是Linux的DNS设置错误


解决方法

  1. 如下将目标值修改为114.114.114.114,在这里插入图片描述
  2. 重新启动网络服务
    在这里插入图片描述
  3. 测试之后问题依旧存在
  4. 继续排查,ping自己的dns发现可以通,应该还是dns的问题
  5. 尝试ping 8.8.8.8,成功
    在这里插入图片描述
  6. 尝试写入DNS文件8.8.8.8,测试失败
  7. 最终删除ifconfig-en33文件,测试发现网络可以连接,但是执行域名 update有如下报错
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
base                                                                             | 3.6 kB  00:00:00     
file:///iso/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /iso/repodata/repomd.xml"
正在尝试其它镜像。


 One of the configured repositories failed (dvd),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=dvd ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable dvd
        or
            subscription-manager repos --disable=dvd

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=dvd.skip_if_unavailable=true

failure: repodata/repomd.xml from dvd: [Errno 256] No more mirrors to try.
file:///iso/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /iso/repodata/repomd.xml"

  1. 根据文章(https://blog.youkuaiyun.com/cheng_jeff/article/details/123642069),排除该错误后,测试安装成功。
### alinux-repos 安装错误:Transaction fails 解决方案 在安装 `alinux-repos` 时遇到的 `Transaction fails` 错误,通常是由于依赖项冲突、软件包损坏或系统配置不正确引起的。以下是可能的原因及解决方案: #### 1. 检查依赖关系 错误可能源于缺少某些依赖项或依赖版本不匹配。可以通过以下命令检查和解决依赖问题: ```bash sudo yum clean all sudo yum makecache sudo yum install -y alinux-repos --skip-broken ``` 上述命令会清理缓存并尝试重新构建元数据[^1]。如果仍然存在依赖问题,可以使用 `--skip-broken` 参数跳过损坏的包。 #### 2. SELinux 配置问题 SELinux 的安全上下文配置不当可能导致事务失败。确保相关文件的安全上下文设置正确。例如,SSH 文件需要适当的 SELinux 上下文以避免权限问题: ```bash restorecon -R /etc/ssh/ ``` 此命令将修复 `/etc/ssh/` 目录下的所有文件的安全上下文[^1]。 #### 3. 禁用或调整 SELinux 如果 SELinux 是导致问题的主要原因,可以临时将其设置为宽容模式(Permissive Mode)来验证是否是其引发的问题: ```bash setenforce 0 ``` 永久更改需要编辑 `/etc/selinux/config` 文件并将 `SELINUX=enforcing` 修改为 `SELINUX=permissive` 或 `SELINUX=disabled`。 #### 4. 检查存储库配置 确保系统的 Yum 存储库配置文件中包含正确的镜像源地址。检查 `/etc/yum.repos.d/` 目录下的 `.repo` 文件,并确认其 URL 和 GPG 密钥有效。 #### 5. 调试事务失败 运行以下命令以获取更详细的错误信息: ```bash yum history info ``` 通过分析历史记录,可以定位具体的失败原因。此外,还可以尝试手动下载并安装特定的 RPM 包: ```bash rpm -ivh <package-name>.rpm ``` #### 6. 检查日志文件 查看 `/var/log/yum.log` 或 `/var/log/dnf.log` 文件中的详细日志信息,进一步排查问题[^3]。 --- ### 示例代码 以下是一个示例脚本,用于自动化解决部分常见问题: ```bash #!/bin/bash # 清理缓存并重建元数据 sudo yum clean all sudo yum makecache # 修复 SSH 文件的安全上下文 restorecon -R /etc/ssh/ # 尝试安装 alinux-repos 并跳过损坏的包 sudo yum install -y alinux-repos --skip-broken # 如果问题依然存在,禁用 SELinux sudo setenforce 0 ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z=>(200)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值