7 votes

Pourquoi ne puis-je pas trouver de pages de manuel ?

Je travaille sur un serveur Power8 exécutant 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"

Aucune des pages de manuel habituelles ne semble être installée. Même une commande simple comme :

man man

renvoie à

No manual entry for man
See 'man 7 undocumented' for help when manual pages are not available.

Cela vaut pour toute une série d'autres outils, tels que ls , grep etc. et des fonctions de bibliothèque comme usleep , printf et ainsi de suite.

J'ai vérifié qu'au moins certaines pages de manuel sont effectivement installées :

$ 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

Est-ce que je rate quelque chose ? Est-ce spécifique à la ppc64le l'architecture ? Ou y a-t-il quelque chose d'autre que je peux/devrais installer pour accéder à ces pages de manuel ?

更新しました。 Comme demandé, j'ai lancé sudo mandb . Le résultat a été :

0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
2 old database entries were purged.

Aucune modification n'a été apportée à man man et d'autres commandes de ce type.

En outre, la sortie de manpath était :

$ 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

8voto

Ravexina Points 50599

Je suppose que quelque chose ne va pas avec les caches de vos pages manuelles, exécutez :

sudo mandb

pour le mettre à jour, s'il n'existe pas sur votre système, il va être créé.

Vous pouvez également utiliser sudo mandb -c pour empêcher la suppression de l'ancien cache et la création d'un nouveau.

L'autre option qui peut vous être utile est la suivante -t il effectue des contrôles d'exactitude sur les pages manuelles.

Si certains paquets sont installés localement, par exemple à l'aide de pip ou d'autres gestionnaires de paquets dans ~/.local/bin puis d'ajouter leurs pages manuelles une fois de plus l'exécuter sans sudo :

mandb

Mesures supplémentaires

Si l'instruction ci-dessus n'a pas fonctionné pour vous utilisez manpath pour connaître le chemin de recherche manuel, assurez-vous qu'il n'est pas vide.

Vérifiez ensuite si un manuel a été installé :

$ man -w man
/usr/share/man/man1/man.1.gz

Si la commande n'a pas de résultat, utilisez :

$ file /usr/share/man/man1/man.1.gz
/usr/share/man/man1/man.1.gz: gzip compressed data, max compression, from Unix

Essayez alors man pour ouvrir le manuel, voir si ça marche :

man /usr/share/man/man1/man.1.gz

Si vous n'avez pas trouvé de page de manuel, essayez de réinstaller ce paquet.

1voto

user3540753 Points 111

Malheureusement, la réponse acceptée n'a pas fonctionné pour moi sur Ubuntu 18 (Bionic). Voici ce qui a fonctionné :

$ sudo apt install man-db manpages-posix manpages-dev manpages-posix-dev
$ sudo mandb

Référence : Comment installer les pages de manuel sur Ubuntu Linux .

1voto

Olivier Points 31

Sur mon système (Ubuntu 20.04, Focal), GROMACS a créé une variable $MANPATH qui a pris le pas sur celle utilisée par les manpages. Utilisation de sudo man fonctionne aussi bien, mais l'ajout de cette ligne dans ~/.bashrc l'a rendu permanent.

unset MANPATH

Pour aller plus loin, l'ajout de cette option permet de s'assurer que GROMACS et manpages fonctionnent en parallèle.

function man() {              
    unset MANPATH             
    /usr/bin/man ${@}         
    . /usr/local/gromacs/bin/GMXRC
}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X