![WSL2 下运行的 Fedora 中的 RPM 包内容](https://linux22.com/image/210068/WSL2%20%E4%B8%8B%E8%BF%90%E8%A1%8C%E7%9A%84%20Fedora%20%E4%B8%AD%E7%9A%84%20RPM%20%E5%8C%85%E5%86%85%E5%AE%B9.png)
我很困惑。我有一台 Fedora 36“机器”,在 Windows 盒子上的 WSL2 下运行。要么是有一些我不知道的重大魔法,要么是我根本不明白某些事情。我们以 bash 为例:
# ls -la /usr/bin/bash
-rwxr-xr-x 1 root root 1390064 Jan 19 2022 /usr/bin/bash
# rpm -qf /usr/bin/bash
bash-5.1.16-2.fc36.x86_64
# rpm -ql bash | grep bash.1.gz
/usr/share/man/man1/bash.1.gz
# stat /usr/share/man/man1/bash.1.gz
stat: cannot statx '/usr/share/man/man1/bash.1.gz': No such file or directory
# rpm -V bash
#
是什么赋予了?包中的 /usr/share/man/man1 或 /usr/share/locale 中没有文件,但 rpm 验证时未显示任何错误。如果我进行 dnf 安装,/usr/share/doc 或 /usr/share/man 中没有显示新文件...但是,如果我手动触摸 /usr/share/doc/test 文件,它会显示并且保留在目录中。我怀疑它可能与 RPM 配置有关,但我不知道在哪里寻找它。
答案1
dnf
配置有tsflags=nodocs
, 在/etc/dnf/dnf.conf
;这意味着它安装 RPM旗帜--excludedocs
,因此不会安装文档(包括手册页)。
rpm
仍然认为未安装的文件是包的一部分,这就是为什么rpm -ql
列出这些文件,即使它们不存在于磁盘上。