Ubuntu LTS 22.04 Server 最小安装中缺少手册页

Ubuntu LTS 22.04 Server 最小安装中缺少手册页

我已经安装了 22.04 LTS Ubuntu Server 作为最小安装,并安装了以下软件包:

vim man-db manpages dialog bash-completion screen

现在,当我运行时,尽管 man 包已经安装,但man lsubuntu 仍要求我运行命令:unminimize

$ dpkg -l | egrep "man-db|manpages"
ii  isc-dhcp-common                       4.4.1-2.3ubuntu2.1                      amd64        common manpages relevant to all of the isc-dhcp packages
ii  man-db                                2.10.2-1                                amd64        tools for reading manual pages
ii  manpages                              5.10-1ubuntu1                           all          Manual pages about using a GNU/Linux system

目录/usr/share/man/man1是空的:

$ ls /usr/share/man/man1
$ man -w ls
This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, including manpages, you can run the 'unminimize'
command. You will still need to ensure the 'man-db' package is installed.

mandb输出:

$ sudo mandb
Purging old database entries in /usr/share/man...
Processing manual pages under /usr/share/man...
Purging old database entries in /usr/share/man/id...
Processing manual pages under /usr/share/man/id...
...
Processing manual pages under /usr/local/man...
mandb: cant update index cache /var/cache/man/oldlocal/8087: No such file or directory
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
0 old database entries were purged.
$

最奇怪的是:

$ ls $(dpkg -L coreutils | grep man1/ls.1)
ls: cannot access '/usr/share/man/man1/ls.1.gz': No such file or directory

发现了这个:

$ dpkg -S bin/man
man-db: /usr/bin/manpath
local diversion from: /usr/bin/man
local diversion to: /usr/bin/man.REAL
man-db: /usr/bin/man
local diversion from: /usr/bin/man
local diversion to: /usr/bin/man.REAL
man-db: /usr/bin/mandb
man-db: /usr/bin/man-recode
$ head $(which man)
#!/bin/sh
echo "This system has been minimized by removing packages and content that are"
echo "not required on a system that users do not log into."
echo ""
echo "To restore this content, including manpages, you can run the 'unminimize'"
echo "command. You will still need to ensure the 'man-db' package is installed."
$ man.REAL -w ls
No manual entry for ls

如何在不取消最小化 Ubuntu 的情况下解决这个问题?

答案1

“最小化”的 Ubuntu 在 中制定了一些规则/etc/dpkg/dpkg.cfg.d/excludes,包括排除man和安装所有手册页。它还将man二进制文件切换为输出您看到的有关最小化 Ubuntu 的消息的文件。您可以编辑该文件/etc/dpkg/dpkg.cfg.d/excludes并注释掉以下行:

path-exclude=/usr/share/man

然后,您可以apt update安装manmanpages

相关内容