Individuare, leggere e utilizzare la documentazione di sistema

By | Agosto 15, 2018

Nota: questo è un obiettivo d’esame RHCSA 7.
Le pagine man

Per ottenere alcune informazioni su un comando (qui ps), digitare:

# man ps

A volte esistono diverse pagine man per un comando (qui ps), per elencarle, digitare:

# whatis ps
ps (1) - report a snapshot of the current processes
ps (1p) - report process status

Se non si è sicuri del nome del comando e si desidera cercare una stringa (qui ps), digitare:

# apropos ps
capsh (1) - capability shell wrapper
...
getpt (3) - open the pseudo-terminal master (PTM)

Ogni volta che viene installato un nuovo pacchetto, vengono aggiunte le pagine man associate, ma il database dell’indice non viene aggiornato direttamente. Questa attività viene eseguita da cron una volta al giorno (consultare il file /etc/cron.daily/man-db.cron).

Se si desidera aggiornare questo database indice utilizzato dai comandi whatis e apropos senza attendere l’aggiornamento cron, digitare:

# mandb

Nota: il comando makewhatis disponibile in RHEL 4/5/6 è stato sostituito con il comando mandb.
Il comando info

Inoltre, alcuni comandi (qui ipc) offrono documentazione aggiuntiva che puoi ottenere come segue:

# info ipc

Per ottenere l’elenco di questi comandi, digitare:

# ls /usr/share/info
accounting.info.gz    gawk.info.gz        libc.info-10.gz  make.info-2.gz
as.info.gz            gccgo.info.gz       libc.info-11.gz  make.info.gz
bash.info.gz          gcc.info.gz         libc.info-12.gz  nano.info.gz
bc.info.gz            gccinstall.info.gz  libc.info-13.gz  nettle.info.gz
binutils.info.gz      gccint.info.gz      libc.info-14.gz  parted.info.gz
chrony.info.gz        gettext.info.gz     libc.info-1.gz   pinentry.info.gz
configure.info.gz     gnupg.info-1.gz     libc.info-2.gz   pinfo.info.gz
coreutils.info.gz     gnupg.info-2.gz     libc.info-3.gz   rluserman.info.gz
cpio.info.gz          gnupg.info.gz       libc.info-4.gz   sed.info.gz
cpp.info.gz           gprof.info.gz       libc.info-5.gz   standards.info.gz
cppinternals.info.gz  grep.info.gz        libc.info-6.gz   tar.info-1.gz
dc.info.gz            grub2-dev.info.gz   libc.info-7.gz   tar.info-2.gz
diffutils.info.gz     grub2.info.gz       libc.info-8.gz   tar.info.gz
dir                   gzip.info.gz        libc.info-9.gz   time.info.gz
ed.info.gz            history.info.gz     libc.info.gz     wget.info.gz
find.info.gz          info.info.gz        libgomp.info.gz  which.info.gz
find-maint.info.gz    info-stnd.info.gz   libidn.info.gz
gawkinet.info.gz      ld.info.gz          make.info-1.gz

Il comando locate

Inoltre, il comando locate fornisce risultati simili al comando find / -name e utilizza un database di indice dedicato chiamato mlocate.db. Questo database viene aggiornato da cron una volta al giorno (consultare il file /etc/cron.daily/mlocate).

Per cercare un file specifico (qui sysctl.conf), digitare:

# locate sysctl.conf
/etc/sysctl.conf
/etc/sysctl.d/99-sysctl.conf
/usr/share/man/man5/sysctl.conf.5.gz

Per aggiornare il database indice mlocate.db senza attendere l’aggiornamento cron, digitare:

# updatedb

La documentazione dei pacchetti

Inoltre, non dimenticare come trovare il nome del pacchetto che fornisce un comando specifico (qui mandb):

#

# yum whatprovides */mandb
...
man-db-2.6.3-9.el7.x86_64 : Tools for searching and reading man pages
Repo        : @anaconda
Matched from:
Filename    : /usr/bin/mandb

Nota: la ricerca non è solo locale ma anche in tutti i repository remoti, attualmente configurati.

E, per cercare una stringa (qui sysctl.conf) in un pacchetto (qui initscripts), digitare:

# rpm -ql initscripts | grep sysctl.conf
/etc/sysctl.conf
/etc/sysctl.d/99-sysctl.conf

Nota 1: l’uso del comando locate dovrebbe essere più veloce.
Nota 2: utilizzare l’opzione -qpl con il percorso completo, se il pacchetto non è ancora stato installato.

Infine, la maggior parte dei pacchetti viene fornita con la propria documentazione nella directory /usr/share/doc.

Nota: la maggior parte della documentazione SELinux non è più installata di default, è necessario installarla da soli. Si spera che tu possa seguire il tutorial sulla distribuzione delle pagine man SELinux.

Puoi anche ottenere le varie man pages e la documentazione disponibili per un determinato pacchetto (qui di less):

# rpm -qd less
/usr/share/doc/less-458/LICENSE
/usr/share/man/man1/less.1.gz
/usr/share/man/man1/lessecho.1.gz
/usr/share/man/man1/lesskey.1.gz

Ulteriori comandi utili

Inoltre, vari comandi possono fornire un aiuto.

Il comando which fornisce il percorso di sistema associato a un comando facendo affidamento sulla variabile di ambiente PATH.

# which mandb
/usr/bin/mandb

Il comando whereis visualizza il percorso di sistema di un comando, il file della pagina man associato e altri file con questo nome noto al sistema. Si basa sulle variabili di ambiente PATH e MANPATH ma non solo.

# whereis httpd
httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd /usr/share/man/man8/httpd.8.gz

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.