GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Ubuntu - Vedi "man 7 Undocumented" per assistenza quando le pagine manuali non sono disponibili - Installazione di Wsl Core Ubuntu 18.04?

Sto usando WSL su win10 con l'utilità di gestione della distribuzione lxrunoffline. La mia distribuzione è l'installazione principale di Ubuntu 18.04 che può essere trovata qui - link per il download.

Digitando man man , man pwd o man <anything> produce il seguente risultato:

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

Ecco alcuni comandi che ho provato:

$ sudo mandb
Purging old database entries in /usr/share/man...
Processing manual pages under /usr/share/man...
Purging old database entries in /usr/share/man/cs...
Processing manual pages under /usr/share/man/cs...
Purging old database entries in /usr/share/man/da...
Processing manual pages under /usr/share/man/da...
...
0 man subdirectories contained newer manual pages.
0 manual pages were added.
0 stray cats were added.
0 old database entries were purged.


$ sudo mandb -t   */ output here certainly looks suspicious /*
mandb: warning: /usr/share/man/man1/sh.1.gz is a dangling symlink
mandb: warning: can't update index cache /var/cache/man/index.db: Resource temporarily unavailable
mandb: warning: can't update index cache /var/cache/man/cs/index.db: Resource temporarily unavailable
mandb: warning: can't update index cache /var/cache/man/da/index.db: Resource temporarily unavailable
mandb: warning: can't update index cache /var/cache/man/de/index.db: Resource temporarily unavailable
...


$ dpkg -l | grep -i manpages
ii  manpages                    4.15-1                            all          Manual pages about using a GNU/Linux system
ii  manpages-dev                4.15-1                            all          Manual pages about using GNU/Linux for development
ii  manpages-posix              2013a-2                           all          Manual pages about using POSIX system

Inoltre ho controllato /usr/share/man cartelle ed erano per lo più vuote (le altre cartelle di manpath erano completamente vuote), tranne qualche collegamento simbolico interrotto:

$ manpath
/usr/local/man:/usr/local/share/man:/usr/share/man
$ cd /usr/share/man/man1
$ ls -alh
drwxr-xr-x 1 root root 4.0K Nov 27 18:16 .
drwxr-xr-x 1 root root 4.0K Sep 28 04:02 ..
lrwxrwxrwx 1 root root    9 Sep 28 04:00 sh.1.gz -> dash.1.gz
$ file sh.1.gz
sh.1.gz: broken symbolic link to dash.1.gz

Quindi ho provato a mettere man gzips che ho trovato sul sito Web di Ubuntu manpages nella cartella man1 e questo lo fa funzionare correttamente:

$ cd /usr/share/man/man1
$ ls -alh
drwxr-xr-x 1 root root 4.0K Nov 27 18:16 .
drwxr-xr-x 1 root root 4.0K Sep 28 04:02 ..
-rwxr-xr-x 1 root root 3.1K Nov 27 18:16 ls.1.gz <-- downloaded this one
lrwxrwxrwx 1 root root    9 Sep 28 04:00 sh.1.gz -> dash.1.gz
*/ 'man ls' works now /*

Ho anche provato a reinstallare mandb e manpage inutilmente.

Il download manuale dei file della pagina man risolve il problema, ma deve esserci un pacchetto o una configurazione che lo faccia per me. Come posso risolverlo?

Modifica 1

$ head -n 1000 /etc/dpkg/dpkg.cfg /etc/dpkg/dpkg.cfg.d/*
==> /etc/dpkg/dpkg.cfg <==
# dpkg configuration file
#
# This file can contain default options for dpkg.  All command-line
# options are allowed.  Values can be specified by putting them after
# the option, separated by whitespace and/or an `=' sign.
#

# Do not enable debsig-verify by default; since the distribution is not using
# embedded signatures, debsig-verify would reject all packages.
no-debsig

# Log status changes and actions to a file.
log /var/log/dpkg.log

==> /etc/dpkg/dpkg.cfg.d/excludes <==
# Drop all man pages
path-exclude=/usr/share/man/*

# Drop all documentation ...
path-exclude=/usr/share/doc/*

# ... except copyright files ...
path-include=/usr/share/doc/*/copyright

# ... and Debian changelogs
path-include=/usr/share/doc/*/changelog.Debian.*

Risposta accettata:

Le prime due righe di /etc/dpkg/dpkg.cfg.d/excludes

# Drop all man pages
path-exclude=/usr/share/man/*

causa l'eliminazione di tutte le pagine man durante l'installazione dei pacchetti.

Correlati:Ubuntu - Parted:come risolvere la posizione al di fuori dell'errore del dispositivo?

Per rendere disponibili le pagine man, dovrai commentare la seconda riga:

# Drop all man pages
# path-exclude=/usr/share/man/*

quindi reinstalla qualsiasi pacchetto per il quale desideri le pagine man:

apt --reinstall install man-db coreutils

per ripristinare il man e ls pagine man (tra le altre).


Ubuntu
  1. Localizzazione di pagine man su Linux (ubuntu)?

  2. I tasti di scelta rapida Alt in Pycharm non funzionano su Ubuntu 16.04?

  3. Le azioni desktop di base non sono disponibili su Ubuntu 20.04?

  4. Non è possibile installare Libpng12.so.0 su Ubuntu 19.04 per il pacchetto Tracert 7?

  5. Sospensione non funzionante su Ubuntu 16.04 per Dell 3537?

Eclipse IDE per l'installazione di sviluppatori C/C++ su Ubuntu 22.04

Ubuntu 17.04 "Zesty Zapus" Beta ora disponibile per il download

Come installare le pagine man mancanti dei comandi su Ubuntu

Cosa fare quando vedi "Il repository non ha un file di rilascio" Errore in Ubuntu

Non riesci a creare hotspot in Ubuntu 16.04?

Come installare le pagine man per le funzioni della libreria standard C in Ubuntu?