I've installed a 22.04 LTS Ubuntu Server as a minimal install and installed the following packages :
vim man-db manpages dialog bash-completion screen
Now when I run man ls
, ubuntu is asking me to run the unminimize
command although the man packages are already installed :
$ 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
And the directory /usr/share/man/man1
is empty :
$ 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.
and mandb
outputs :
$ 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: can't 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.
$
The strangest thing is this :
$ ls $(dpkg -L coreutils | grep man1/ls.1)
ls: cannot access '/usr/share/man/man1/ls.1.gz': No such file or directory
Found this :
$ 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
How can this be solved without having to unminimize Ubuntu ?
The "minimized" Ubuntu makes some rules in
/etc/dpkg/dpkg.cfg.d/excludes
, which include excludingman
and all manpages from being installed. It also switches theman
binary to be a file that outputs the message you saw about a minimized Ubuntu. You can edit the file/etc/dpkg/dpkg.cfg.d/excludes
and comment out the following line:Then, you can
apt update
and installman
andmanpages