Fedora

在 WSL2 下執行的 Fedora 中的 RPM 包內容

  • August 31, 2022

我很困惑。我有一台在 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--excludedocsRPM ,因此不會安裝文件(包括手冊頁)。

rpm仍然認為未安裝的文件是包的一部分,這就是為什麼rpm -ql列出文件,即使它們不存在於磁碟上。

引用自:https://unix.stackexchange.com/questions/715592