Comment installer des pages de manuel sur centos?


18

Remarque: cela s'applique à Centos 7. Si vous recherchez une réponse Debian, consultez cette question . Ces réponses ne seront pas reproduites ici.

Après une installation de centos 7, je ne peux pas accéder aux pages de manuel:

# man ls
-bash: man: command not found

J'ai essayé de l'installer via yum

# yum install man-pages
... ok

Mais:

# man ls
-bash: man: command not found

Pourquoi?


1
C'est extrêmement bizarre, tout comme man(1)un élément très fondamental du système. Vous pouvez essayer de réinstaller, c'est-à-dire aller yum reinstall /usr/bin/man.
vonbrand

Réponses:


17

Pour utiliser la commande man, vous devez également installer le manpackage avant ou après man-pagescelui

# yum install man-pages
... ok
# yum install man
... ok

Maintenant manest installé

# man ls


NAME
      ls - list directory contents

SYNOPSIS
      ls [OPTION]... [FILE]...

DESCRIPTION
      List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort.

      Mandatory arguments to long options are mandatory for short options too. ...

2
Apparemment, cela ne fonctionne pas sur centOS dans un conteneur Docker. Je sais que je l'ai fait fonctionner dans une machine virtuelle centOS, mais je ne sais pas pourquoi cela ne fonctionne pas dans le conteneur.
jersey bean

9
Ok, je viens de trouver ma réponse. Les images de centres Docker sont préconstruites avec tsflags = nodocs défini dans /etc/yum.conf. Voir hub.docker.com/_/centos
jersey bean

Oui tu as raison! +1 pour le complément. Merci!
Rémi B.

6

J'ai eu le même problème dans mon conteneur Docker et l'ai résolu en commentant tsflags=nodocsle /etc/yum.conffichier, puis j'ai supprimé les pages de manuel et man-db et les réinstaller à nouveau. Cela fonctionne bien de cette façon.

$ vi /etc/yum.conf

Recherchez tsflagsdans le fichier et ajoutez un commentaire (#) devant celui-ci:

#tsflags=nodocs

Supprimez maintenant la man-db et les pages de manuel si elles sont déjà installées sur votre système:

$ yum remove man-pages man-db

Puis réinstallez-les:

$ yum install man-pages man-db

Trié!


C'était la sauce secrète pour mon installation WSL centos75 sur Windows.
Choy

4

La syntaxe sur CentOS 7:

# yum install man-pages man-db man

La syntaxe sur CentOS 6:

$ sudo yum install man man-pages

La source


0

Comme l'a souligné R. S , l'installation des pages de manuel de CentOS officielle Docker est désactivée. Cela vaut également pour les images Docker officielles de Fedora.

La façon la plus simple de gérer cela est via la sedcommande suivante , qui fonctionnera sur l'un ou l'autre système:

sed -i -e '/tsflags=nodocs/s/^/#/' /etc/yum.conf /etc/dnf/dnf.conf || true

Cela produira un message d'erreur indiquant qu'il ne peut pas lire l'un des deux fichiers, mais celui qui existe sera mis à jour pour commenter la tsflags=nodocsligne. Le || trueà la fin garantit que la commande retourne le succès quelles que soient les erreurs, pour éviter l'arrêt des scripts.

Cela peut être utilisé dans une RUNcommande dans a Dockerfile, auquel cas vous devez l'utiliser avant d'installer d'autres packages. Pour les packages que vous avez déjà installés, les pages de manuel qui les accompagnent normalement resteront désinstallées et le package devra être réinstallé pour afficher les pages de manuel. De nombreuses pages de manuel du système de base (telles que ls) se trouvent dans le man-pagespackage, mais d'autres packages, tels que gitleurs propres pages de manuel, doivent également être réinstallés.

La suppression puis la réinstallation des packages peuvent créer des problèmes de dépendance. Pour les éviter, utilisez plutôt:

yum -y reinstall man-pages git
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.