Come installare le pagine man su centos?


18

Nota: questo vale per Centos 7. Se stai cercando una risposta Debian, vedi questa domanda . Quelle risposte non saranno duplicate qui.

Dopo un'installazione di centos 7, non riesco ad accedere alle pagine man:

# man ls
-bash: man: command not found

Ho provato a installarlo tramite yum

# yum install man-pages
... ok

Ma ancora:

# man ls
-bash: man: command not found

Perché?


1
Questo è estremamente strano, in quanto man(1)è un pezzo fondamentale del sistema. Potresti provare a reinstallare, ad esempio, vai yum reinstall /usr/bin/man.
vonbrand,

Risposte:


17

Per usare il comando man, devi anche installare il manpacchetto prima o dopo man-pagesquello

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

Adesso manè installato

# 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
Apparentemente questo non funziona su centOS all'interno di un contenitore docker. So di averlo fatto funzionare in una VM centOS, ma non so perché non funzioni nel contenitore.
fagiolo jersey

9
Ok, ho appena trovato la mia risposta. Le immagini Docker centos sono pre-costruite con tsflags = nodocs impostato in /etc/yum.conf. Vedi hub.docker.com/_/centos
jersey bean

Sì hai ragione! +1 per il complemento. Grazie!
Rémi B.,

6

Ho avuto lo stesso problema nel contenitore della finestra mobile e l'ho risolto commentando tsflags=nodocsil /etc/yum.conffile, quindi ho rimosso le pagine man e man-db e reinstallate di nuovo. Funziona bene in questo modo.

$ vi /etc/yum.conf

Cerca tsflagsnel file e aggiungi un commento (#) davanti ad esso:

#tsflags=nodocs

Ora rimuovi man-db e le man-page se è già installato sul tuo sistema:

$ yum remove man-pages man-db

Quindi installali di nuovo:

$ yum install man-pages man-db

Smistato!


Questa è stata la salsa segreta per la mia installazione WSL centos75 su Windows.
Choy,

4

La sintassi su CentOS 7:

# yum install man-pages man-db man

La sintassi su CentOS 6:

$ sudo yum install man man-pages

fonte


0

Come sottolineato da R. S , le immagini Docker ufficiali di CentOS hanno disabilitato l'installazione della pagina manuale. Questo vale anche per le immagini Docker ufficiali di Fedora.

Il modo più semplice per gestirlo è tramite il seguente sedcomando, che funzionerà su entrambi i sistemi:

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

Questo produrrà un messaggio di errore che dice che non è in grado di leggere uno dei due file, ma qualunque ne esiste verrà aggiornato per commentare la tsflags=nodocsriga. Alla || truefine garantisce che il comando restituisca successo indipendentemente da eventuali errori, per evitare l'interruzione degli script.

Questo può essere usato in un RUNcomando in a Dockerfile, nel qual caso dovresti usarlo prima di installare altri pacchetti. Per i pacchetti che hai già installato, eventuali pagine di manuale che normalmente vengono con loro rimarranno disinstallate e il pacchetto dovrà essere reinstallato per accedere alle pagine di manuale. Molte delle pagine di manuale del sistema di base (come ls) sono nel man-pagespacchetto, ma altri pacchetti, come ad esempio gitle loro pagine di manuale, devono anche essere reinstallati.

La rimozione e la reinstallazione dei pacchetti può creare problemi di dipendenza. Per evitare questi invece utilizzare:

yum -y reinstall man-pages git
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.