WSL2 下运行的 Fedora 中的 RPM 包内容

WSL2 下运行的 Fedora 中的 RPM 包内容

我很困惑。我有一台 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列出这些文件,即使它们不存在于磁盘上。

相关内容