Ich verwende WSL unter win10 mit dem Dienstprogramm zur Verwaltung der lxrunoffline-Verteilung. Meine Distribution ist die Kerninstallation von Ubuntu 18.04, die hier zu finden ist – Download-Link.
Geben Sie man man
ein , man pwd
oder man <anything>
erzeugt das folgende Ergebnis:
No manual entry for man
See 'man 7 undocumented' for help when manual pages are not available.
Hier sind einige Befehle, die ich ausprobiert habe:
$ 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/cs...
Processing manual pages under /usr/share/man/cs...
Purging old database entries in /usr/share/man/da...
Processing manual pages under /usr/share/man/da...
...
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
0 old database entries were purged.
$ sudo mandb -t */ output here certainly looks suspicious /*
mandb: warning: /usr/share/man/man1/sh.1.gz is a dangling symlink
mandb: warning: can't update index cache /var/cache/man/index.db: Resource temporarily unavailable
mandb: warning: can't update index cache /var/cache/man/cs/index.db: Resource temporarily unavailable
mandb: warning: can't update index cache /var/cache/man/da/index.db: Resource temporarily unavailable
mandb: warning: can't update index cache /var/cache/man/de/index.db: Resource temporarily unavailable
...
$ dpkg -l | grep -i manpages
ii manpages 4.15-1 all Manual pages about using a GNU/Linux system
ii manpages-dev 4.15-1 all Manual pages about using GNU/Linux for development
ii manpages-posix 2013a-2 all Manual pages about using POSIX system
Außerdem habe ich /usr/share/man
überprüft Ordner und sie waren meistens leer (andere Manpath-Ordner waren komplett leer), mit Ausnahme einiger defekter symbolischer Links:
$ manpath
/usr/local/man:/usr/local/share/man:/usr/share/man
$ cd /usr/share/man/man1
$ ls -alh
drwxr-xr-x 1 root root 4.0K Nov 27 18:16 .
drwxr-xr-x 1 root root 4.0K Sep 28 04:02 ..
lrwxrwxrwx 1 root root 9 Sep 28 04:00 sh.1.gz -> dash.1.gz
$ file sh.1.gz
sh.1.gz: broken symbolic link to dash.1.gz
Dann habe ich versucht, man gzips, die ich auf der Ubuntu-Manpages-Website gefunden habe, in den Ordner man1 zu packen, und das sorgt dafür, dass es richtig funktioniert:
$ cd /usr/share/man/man1
$ ls -alh
drwxr-xr-x 1 root root 4.0K Nov 27 18:16 .
drwxr-xr-x 1 root root 4.0K Sep 28 04:02 ..
-rwxr-xr-x 1 root root 3.1K Nov 27 18:16 ls.1.gz <-- downloaded this one
lrwxrwxrwx 1 root root 9 Sep 28 04:00 sh.1.gz -> dash.1.gz
*/ 'man ls' works now /*
Habe auch vergeblich versucht, mandb und manpages neu zu installieren.
Das manuelle Herunterladen von Manpage-Dateien löst das Problem, aber es muss ein Paket oder eine Konfiguration geben, die das für mich erledigt. Wie kann ich das lösen?
Bearbeiten 1
$ head -n 1000 /etc/dpkg/dpkg.cfg /etc/dpkg/dpkg.cfg.d/*
==> /etc/dpkg/dpkg.cfg <==
# dpkg configuration file
#
# This file can contain default options for dpkg. All command-line
# options are allowed. Values can be specified by putting them after
# the option, separated by whitespace and/or an `=' sign.
#
# Do not enable debsig-verify by default; since the distribution is not using
# embedded signatures, debsig-verify would reject all packages.
no-debsig
# Log status changes and actions to a file.
log /var/log/dpkg.log
==> /etc/dpkg/dpkg.cfg.d/excludes <==
# Drop all man pages
path-exclude=/usr/share/man/*
# Drop all documentation ...
path-exclude=/usr/share/doc/*
# ... except copyright files ...
path-include=/usr/share/doc/*/copyright
# ... and Debian changelogs
path-include=/usr/share/doc/*/changelog.Debian.*
Akzeptierte Antwort:
Die ersten beiden Zeilen von /etc/dpkg/dpkg.cfg.d/excludes
# Drop all man pages
path-exclude=/usr/share/man/*
bewirken, dass alle Handbuchseiten gelöscht werden, wenn Pakete installiert werden.
Verwandt:Ubuntu – Getrennt:Wie löst man den Standort außerhalb des Gerätefehlers?Um Handbuchseiten verfügbar zu machen, müssen Sie die zweite Zeile auskommentieren:
# Drop all man pages
# path-exclude=/usr/share/man/*
Installieren Sie dann jedes Paket neu, für das Sie die Manpages haben möchten:
apt --reinstall install man-db coreutils
um den man
wiederherzustellen und ls
Manpages (unter anderem).