Fedora
在 WSL2 下執行的 Fedora 中的 RPM 包內容
我很困惑。我有一台在 Windows 機器上的 WSL2 下執行的 Fedora 36“機器”。要麼有一些我不知道的重魔法,要麼我根本不明白什麼。我們以 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 配置有關,但我不知道在哪裡尋找它。
dnf
配置有tsflags=nodocs
, in/etc/dnf/dnf.conf
; 這意味著它會安裝帶有flag的--excludedocs
RPM ,因此不會安裝文件(包括手冊頁)。
rpm
仍然認為未安裝的文件是包的一部分,這就是為什麼rpm -ql
列出文件,即使它們不存在於磁碟上。