You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

rpm2cpio未列出whois包中/usr/bin/whois,自定义alternative需确认是否包含该软链接

关于RPM包中Alternatives系统软链接的疑问

问题场景

我在研究whois包的实现时发现,它采用了Linux Alternatives系统(jwhois是其替代实现之一),原本以为/usr/bin/whois是作为软链接打包进RPM的,但实际验证发现了矛盾点:

  • 执行rpm -qp --list whois-5.5.1-2.el8.x86_64.rpm查看包内文件列表,结果包含/usr/bin/whois:
    /etc/whois.conf
    /usr/bin/whois
    /usr/bin/whois.md
    ...more files...
    
  • 但执行rpm2cpio whois-5.5.1-2.el8.x86_64.rpm | cpio -itv提取并查看归档内容时,结果里没有/usr/bin/whois,其余文件均正常显示。

进一步验证的信息:

  • 通过rpm -qf /usr/bin/whois确认,/usr/bin/whois确实由whois包提供;
  • 查看包的安装脚本rpm -qp --scripts whois-5.5.1-2.el8.x86_64.rpm,发现postinstall脚本通过Alternatives系统创建该软链接,片段如下:
    postinstall scriptlet (using /bin/sh):
    /usr/sbin/update-alternatives \
        --install /usr/bin/whois \
            whois /usr/bin/whois.md 30 \
    

未验证的猜想

针对/usr/bin/whois未出现在cpio归档中的原因,我有两个猜想但无法验证:

  • /usr/bin/whois在RPM中属于特殊文件类型,因此不被rpm2cpio工具列出;
  • cpio检测到该软链接未指向归档内的其他文件,因此不将其显示在结果中。

求助需求

我目前正在调研Linux Alternatives系统,计划制作自定义alternative,但不确定是否应该在RPM包中包含这类软链接,希望得到相关解答。


内容的提问来源于stack exchange,提问作者Steven Schoch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:55:06