在 CentOS 7 中执行 yum install dig 提示 “没有可用软件包” 该怎么办

2025-07-21 0 979 百度已收录

在 CentOS 7 里想装个 dig 查域名,输了 yum install dig,结果屏幕上跳出 “没有可用软件包”?试了好几次都这样,急得直挠头?这到底是咋回事?是系统坏了还是命令输错了?别担心,小编前阵子帮同事处理服务器时,就碰见过一模一样的情况,他对着终端敲了半天,最后还是我帮他搞定的。其实这问题看着复杂,说白了就是没找对 dig 藏在哪儿,今天就把为啥会这样、该咋解决,连预防方法都给你讲透,新手跟着做,不用十分钟就能搞定。

一、先搞懂:为啥 yum install dig 会提示 “没有可用软件包”?

dig 这工具,说白了就是查域名 DNS 信息的 “利器”,想知道某个域名的 IP、邮件服务器,用它一查就清楚。但在 CentOS 7 里,它不是单独的 “软件”,而是藏在一个叫 “bind-utils” 的 “大礼包” 里。
打个比方,你想买一袋薯片,却对着超市货架喊 “我要买红色包装的零食”,货架上根本没有这个名字,自然买不到。yum install dig 也是一个道理 —— 直接搜 “dig”,系统找不到对应的包,就会提示 “没有可用软件包”。真正该搜的是它所在的 “bind-utils”,这才是正确的 “商品名”。
可能有人会问,那为啥有的教程说直接装 dig 就行?多半是那些教程没说清楚,或者是针对其他 Linux 系统的,CentOS 7 里必须装 bind-utils 才行。


二、解决第一步:用正确的命令安装,90% 的问题能搞定

知道了 dig 在 bind-utils 里,那就换个命令试试,步骤超简单:

  1. 打开终端,输这个命令:sudo yum install bind-utils -y
    (这里的 -y 是让系统自动确认安装,不用手动敲 y,新手可以加上,省点事)
  2. 等进度条跑完,输 dig -v 看看,要是显示 “DiG 9.xxx” 之类的版本信息,就说明装好了

小编亲测,在 CentOS 7 里,只要 yum 源没问题,这一步基本都能成。之前同事就是因为不知道要装 bind-utils,一直输错命令,换了这个命令后,秒装成功。
那要是输了这个命令,还是提示 “没有可用软件包” 呢?那就得检查 yum 源了,这是第二个常见原因。


三、要是还不行?检查并修复 yum 源,这几步管用

yum 源就像超市的进货渠道,渠道断了,自然买不到东西。CentOS 7 有时候会因为源过期或配置错了,导致找不到 bind-utils 包,按这几步修就行:

1. 先看看 yum 源有没有问题

输 sudo yum repolist,看看输出里有没有 “repolist: xxx” 的字样,后面的数字大于 0,说明源是好的;要是显示 “repolist: 0”,那就是源坏了,得修。
在 CentOS 7 中执行 yum install dig 提示 “没有可用软件包” 该怎么办

2. 修复 yum 源的两种方法

方法一:装 epel 源(简单,推荐新手用)
输 sudo yum install epel-release -y,等装完再输 sudo yum install bind-utils -y,多半就能找到包了。epel 源里有很多官方源没有的包,装上准没错。
方法二:换阿里云源(适合源彻底坏了的情况)

  • 先备份原来的源:sudo mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak
  • 下载阿里云的源:sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 清理缓存:sudo yum clean all
  • 生成新缓存:sudo yum makecache
  • 再试安装:sudo yum install bind-utils -y

小编之前碰到过一个老服务器,官方源早就失效了,用方法二换了阿里云源,立马就装上了,特别管用。


四、还有哪些少见情况?这些坑也得避开

除了上面两种情况,还有些少见的原因也会导致装不上,新手也得注意:

  1. 系统版本太老,比如 CentOS 7 过了维护期(2024 年之后 CentOS 7 官方不维护了)
    解决:给系统加个延续维护的源,比如 sudo yum install centos-release-scl-rh -y,具体步骤网上能搜到,跟着做就行。
    在 CentOS 7 中执行 yum install dig 提示 “没有可用软件包” 该怎么办
  2. 误删了系统文件,导致 yum 命令出问题
    解决:先修复 yum 本身,输 sudo yum install yum -y,修复完再装 bind-utils。
  3. 权限不够,没加 sudo
    新手常忘加 sudo,导致命令执行失败,输命令时一定要加上,比如 sudo yum install … ,不然会提示 “权限不够”。


五、自问自答:新手最容易问的几个问题

问:装了 bind-utils 之后,输 dig 还是提示 “command not found”,咋回事?
答:可能是安装没成功,输 sudo yum reinstall bind-utils -y 重新装一次;也可能是路径没加入环境变量,输 which dig 看看有没有路径,有的话重启终端试试,没有的话就得检查系统环境了。
问:为啥一定要用 yum 装?不能直接下载安装包吗?
答:也能,但 yum 会自动解决依赖问题,比如 bind-utils 需要的其他小工具,yum 会一起装上;手动下包容易缺这缺那,新手很难搞定,所以优先用 yum。
问:装完 dig 之后,怎么确认它能用?
答:输 dig baidu.com,要是能看到一大串信息,最后有 “Query time: xxx msec”,就说明能用了,这串信息里就有 baidu.com 的 IP 哦。


六、个人折腾出来的心得,新手记好

碰到 “没有可用软件包” 这种问题,别慌,先想是不是命令错了 —— 就像找东西,名字记错了肯定找不到。dig 藏在 bind-utils 里,这是新手最容易踩的坑,记牢这点能少走很多弯路。
另外,CentOS 7 过了官方维护期后,很多源会失效,提前换个阿里云、腾讯云的源,能避免很多麻烦。小编现在维护的几台 CentOS 7 服务器,全换成了阿里云源,基本没再出过 “找不到包” 的问题。
最后说一句,Linux 命令看着吓人,其实逻辑很简单,多试几次就熟了。下次再碰到这种问题,按 “查命令→换包名→修源” 的步骤排查,基本都能解决。你要是试的时候还碰到其他情况,欢迎留言,咱一起琢磨琢磨。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

兔格号 SEO运维 在 CentOS 7 中执行 yum install dig 提示 “没有可用软件包” 该怎么办 https://www.tglzm.com/seo/wei-seo/3046.html

一个独行者,独揽万古

常见问题

相关文章

评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务