我已经安装了 22.04 LTS Ubuntu Server 作为最小安装,并安装了以下软件包:
vim man-db manpages dialog bash-completion screen
现在,当我运行时,尽管 man 包已经安装,但man ls
ubuntu 仍要求我运行命令: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
安装man
并manpages