我想在 lxc 容器上安装一个包。安装成功后缺少一个包路径:
路径:/usr/share/doc/pdns
ll -a /usr/share/doc/pdns/schema.mysql.sql
ls: cannot access '/usr/share/doc/pdns/schema.mysql.sql': No such file or directory
在容器中,我在调试模式下运行安装命令:
dnf install pdns-backend-mysql --rpmverbosity=debug
我看到这些可疑的线条:
D: pdns-backend-mysql-4.8.3-1.fc39.x86_64: Header SHA1 digest: OK
D: install: pdns-backend-mysql-4.8.3-1.fc39.x86_64 has 12 files
D: create 040755 1 ( 0, 0) 0 /usr/lib/.build-id
D: create 040755 1 ( 0, 0) 0 /usr/lib/.build-id/ae
D: create 120777 1 ( 0, 0) 46 /usr/lib/.build-id/ae/8ccac2db146485f9d43de496829cc910dce6ec;65a1a39f
D: create 100755 1 ( 0, 0)123848 /usr/lib64/pdns/libgmysqlbackend.so;65a1a39f
D: skipnstate 100644 1 ( 0, 0) 833 /usr/share/doc/pdns/3.4.0_to_4.1.0_schema.mysql.sql
D: skipnstate 100644 1 ( 0, 0) 116 /usr/share/doc/pdns/4.1.0_to_4.2.0_schema.mysql.sql
D: skipnstate 100644 1 ( 0, 0) 71 /usr/share/doc/pdns/4.2.0_to_4.3.0_schema.mysql.sql
D: skipnstate 100644 1 ( 0, 0) 220 /usr/share/doc/pdns/4.3.0_to_4.7.0_schema.mysql.sql
D: skipnstate 100644 1 ( 0, 0) 1583 /usr/share/doc/pdns/dnssec-3.x_to_3.4.0_schema.mysql.sql
D: skipnstate 100644 1 ( 0, 0) 1110 /usr/share/doc/pdns/enable-foreign-keys.mysql.sql
D: skipnstate 100644 1 ( 0, 0) 2047 /usr/share/doc/pdns/nodnssec-3.x_to_3.4.0_schema.mysql.sql
D: skipnstate 100644 1 ( 0, 0) 3139 /usr/share/doc/pdns/schema.mysql.sql
skipnstate 表示正在跳过目录 /usr/share/doc/pdns,因为它已处于所需状态。但事实并非如此。
在另一台常规 Fedora 39 主机上安装相同的软件包可以按预期工作。
我在 Fedora lxc 容器上的所有手册页上都遇到了这个问题,影响了批量手册页 rpm 和其他软件包中的单个手册页;详细安装显示了与您看到的相同的 skipnstate 符号。 我无法确定根本原因,但我可以通过单独下载 rpm 并使用
rpm
命令手动(重新)安装它们来安装它们(简单的 dnf reinstall
无法工作):
# man tcpdump
No manual entry for tcpdump
# dnf download tcpdump
Last metadata expiration check: 0:10:55 ago on Sat Oct 12 19:29:14 2024.
tcpdump-4.99.5-1.fc40.x86_64.rpm 1.1 MB/s | 502 kB 00:00
# rpm -i --replacepkgs ./tcpdump-4.99.5-1.fc40.x86_64.rpm
# man tcpdump
TCPDUMP(8)... [full man page is now available]
在找到真正的解决方案之前,请将此视为解决方法。不知何故,dnf 调用 rpm 的方式导致了这个问题,而手动运行它可以工作,但我一直无法弄清楚为什么。