
Ich arbeite an einem Power8-Server mit Ubuntu 16.04.2 LTS:
$ uname -a
Linux power 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:55:30 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
Keine der üblichen Manpages scheint installiert zu sein. Sogar ein einfacher Befehl wie:
man man
kehrt zurück
No manual entry for man
See 'man 7 undocumented' for help when manual pages are not available.
Dies gilt für eine Vielzahl anderer Tools wie ls
, grep
, usw. und Bibliotheksfunktionen wie usleep
, printf
, usw.
Ich habe überprüft, dass zumindest einige Manpages tatsächlich installiert sind:
$ dpkg -l | grep -i manpages
ii manpages 4.04-2 all Manual pages about using a GNU/Linux system
ii manpages-dev 4.04-2 all Manual pages about using GNU/Linux for development
ii manpages-posix 2013a-1 all Manual pages about using POSIX system
ii manpages-posix-dev 2013a-1 all Manual pages about using a POSIX system for development
Übersehe ich etwas? Ist das architekturspezifisch ppc64le
? Oder muss ich etwas anderes installieren, um auf diese Manpages zuzugreifen?
Aktualisieren:Wie gewünscht habe ich ausgeführt sudo mandb
. Das Ergebnis war:
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
2 old database entries were purged.
man man
An anderen derartigen Befehlen gab es keine Änderungen .
Darüber hinaus lautete die Ausgabe manpath
:
$ manpath -g
/usr/man:/usr/share/man:/usr/local/man:/usr/local/share/man:/usr/X11R6/man:/opt/man
$ manpath -c
/var/cache/man/oldlocal:/var/cache/man/local:/var/cache/man
Antwort1
Ich vermute, dass etwas mit den Caches Ihrer Manualpages nicht stimmt. Führen Sie Folgendes aus:
sudo mandb
um es zu aktualisieren. Wenn es auf Ihrem System nicht vorhanden ist, wird es erstellt.
Sie können es auch verwenden, sudo mandb -c
um den alten Cache zu löschen und einen neuen zu erstellen.
Eine andere Option, die für Sie nützlich sein könnte -t
, ist die Durchführung von Korrektheitsprüfungen der Handbuchseiten.
Wenn Sie einige Pakete lokal installiert haben, z. B. mit pip
oder anderen Paketmanagern, ~/.local/bin
fügen Sie deren Manualpages erneut hinzu und führen Sie es ohne aus sudo
:
mandb
Zusätzliche Schritte
Wenn die obige Anweisung bei Ihnen nicht funktioniert hat, verwenden Sie manpath
die manuelle Suchpfadsuche und stellen Sie sicher, dass dieser nicht leer ist.
Prüfen Sie anschließend, ob überhaupt ein Handbuch installiert wurde:
$ man -w man
/usr/share/man/man1/man.1.gz
Wenn der Befehl kein Ergebnis liefert, verwenden Sie:
$ file /usr/share/man/man1/man.1.gz
/usr/share/man/man1/man.1.gz: gzip compressed data, max compression, from Unix
Versuchen Sie dann, man
das Handbuch zu öffnen und prüfen Sie, ob es überhaupt funktioniert:
man /usr/share/man/man1/man.1.gz
Wenn Sie keine Manpage finden konnten, versuchen Sie, das Paket neu zu installieren.
Antwort2
Leider hat die akzeptierte Antwort bei mir unter Ubuntu 18 (Bionic) nicht funktioniert. Folgendes hat funktioniert:
$ sudo apt install man-db manpages-posix manpages-dev manpages-posix-dev
$ sudo mandb
Antwort3
Auf meinem System (Ubuntu 20.04, Focal) hat GROMACS eine Variable $MANPATH erstellt, die Vorrang vor der von den Manpages verwendeten Variable hatte. Die Verwendung sudo man
funktioniert auch, aber durch Hinzufügen dieser Zeile in ~/.bashrc wurde sie dauerhaft.
unset MANPATH
Um einen Schritt weiter zu gehen, stellen Sie durch Hinzufügen dieses Elements sicher, dass sowohl GROMACS als auch Manpages nebeneinander funktionieren.
function man() {
unset MANPATH
/usr/bin/man ${@}
. /usr/local/gromacs/bin/GMXRC
}