Mann pleite, möglicherweise bei der Installation von git, wie kann ich das beheben?

1396

Ich verwende Mac Snow Leopard 10.6.3 und habe ein Mac Installer-Programm für Git verwendet, das ursprünglich für Leoparden entwickelt wurde. Ich denke, seitdem sind meine Manpages gebrochen und der Versuch, nach einem Befehl zu suchen, bringt meinen Computer für einen Moment zum Stillstand, bevor er zurückkehrt, dass keine Manpage gefunden wurde. Wo fange ich an, das zu beheben? Vielen Dank.

Hier ist die Debug-Ausgabe für Mann Mann:

$ man -d man Reading config file /private/etc/man.conf Looked whether there exists a message catalog man, but there is none (and for English messages none is needed)  found man directory /usr/share/man found man directory /usr/local/share/man found man directory /usr/X11/man found manpath map /bin --> /usr/share/man found manpath map /sbin --> /usr/share/man found manpath map /usr/bin --> /usr/share/man found manpath map /usr/sbin --> /usr/share/man found manpath map /usr/local/bin --> /usr/local/share/man found manpath map /usr/local/sbin --> /usr/local/share/man found manpath map /usr/X11/bin --> /usr/X11/man found manpath map /usr/bin/X11 --> /usr/X11/man found manpath map /usr/bin/mh --> /usr/share/man  using /usr/bin/less -is as pager  using /usr/bin/less -is as browser  using /bin/cat to dump HTML pages as text path directory /usr/bin is in the config file adding /usr/share/man to manpath  path directory /bin is in the config file  path directory /usr/sbin is in the config file  path directory /sbin is in the config file  path directory /usr/local/bin is in the config file adding /usr/local/share/man to manpath  path directory /usr/local/git/bin is not in the config file but there is a man directory nearby adding /usr/local/git/share/man to manpath  path directory /usr/X11/bin is in the config file adding /usr/X11/man to manpath  adding mandatory man directories  No manual entry for man 
3
All diese Kontrollen scheinen zu funktionieren. Nichts, was ich sehen kann, ist offensichtlich falsch. Offensichtlich passiert etwas mit dem Idioten, aber ich weiß nicht genug, um zu wissen, was das mit meinem Manpath machen könnte. vor 14 Jahren 0
Hier ist $ man --path: / usr / share / man: / usr / local / share / man: / usr / local / git / share / man: / usr / X11 / man vor 14 Jahren 0
$ MANPATH ist leer vor 14 Jahren 0
Was ist in "/ usr / share / man"? Doug Harris vor 14 Jahren 0
$ ls / usr / share / man fr man3 pl fr.ISO8859-1 man4 pl.ISO8859-2 fr.UTF-8 man5 pl.UTF-8 es man6 ru.KOI8-R it.ISO8859-1 man7 ru.UTF- 8 it.UTF-8 man8 whatis man1 man9 whatis (vom alten Mac) man2 mann vor 14 Jahren 0
Okay, was ist dann in / usr / share / man / man1? Spiff vor 14 Jahren 0
Eine Menge gezippter Dateien und einige Dateien mit der Erweiterung .1. Hier sind einige: ImageUnitAnalyzer.1 esac.1.gz LaunchCFMApp.1 escputil.1.gz [.1.gz etags.1.gz vor 14 Jahren 0
Ist dort man.1 oder man.1.gz? Spiff vor 14 Jahren 0
sieht nicht so aus: $ ls / usr / share / man / man1 / | grep man command.1.gz dbmmanage.1.gz hdxml2manxml.1 vor 14 Jahren 0
Tatsächlich sieht es so aus, als ob es nichts enthält, was alphabetisch nach "l" steht. Der letzte Eintrag lautet lprm.1.gz vor 14 Jahren 0
Ich kann man "egrep" aber nicht "ls". Wtf vor 14 Jahren 0
"Man brach" ist der beste Start eines Titels aller Zeiten Canadian Luke vor 12 Jahren 0

3 Antworten auf die Frage

3
Doug Harris

My guess is that what you've installed has added some extra directories to your MANPATH and likely nuked some standard directories from MANPATH.

First run man --path to determine which directories man will search for man pages. Here's what I see:

$ man --path /opt/local/share/man:/usr/local/share/man:/usr/local/mysql/man:/usr/share/man:/usr/X11/man 

If you don't see /usr/share/man in this output, you won't get standard man pages.

The delay you're seeing could also be related to man rebuilding its index of pages and/or doing some preformatting for the stuff you've installed.

Je mehr ich darüber nachdenke, desto mehr mag ich Dougans Antwort als schnelles, einfaches und wahrscheinlich zuerst zu probierendes Ding. Es würde mich nicht wundern, wenn der git Installer Ihre MANPATH-Umgebungsvariable setzt, die normalerweise nicht gesetzt ist. Wenn sie dies über "MANPATH = $ MANPATH: / path / to / git / man / pages" tun, würde dies nur den Pfad zu den Git-Man-Seiten enthalten, und da sie /etc/man.conf überschreibt, könnte dies alles erklären . Spiff vor 14 Jahren 0
1
Spiff

I would say, man man, but I guess that wouldn't help you! :-)

First, do which man to make sure you're still running the Mac OS X system default /usr/bin/man. Check to make sure it's not corrupted. FWIW, on my 10.6.3 system, here's its md5:

$ md5 `which man` MD5 (/usr/bin/man) = 20c983ccab20dbea7aa76608b27aa148 

Next, look at /etc/man.conf to see how your MANPATH is configured (note: this won't necessarily show up in your $MANPATH environment variable).

In case you want to check if your man.conf got corrupted, here's some summary info on mine. I'm on 10.6.3 also, and I don't think I've ever changed my man.conf:

$ md5 /etc/man.conf MD5 (/etc/man.conf) = 56592a53f75e08418362d2cfcf675e52 $ wc -l /etc/man.conf 140 /etc/man.conf 

If your man.conf looks sane, start looking at the MANPATH paths it specifies to see if those directories exist and are populated appropriately. /usr/share/man is a big one.

I suppose you could check your man cat dir (cached versions of prerendered man pages) as well, but on my 10.6.3 system, there doesn't appear to be a cat dir for man pages.

0
D. Woods

Ich habe dieses Problem für immer unter OS X 10.6.x gehabt (wobei x mindestens 3, 4, 5, 6, 7 und 8 war).

Heute war ich endlich frustriert und habe alle Online-Threads verfolgt, die ich finden konnte. Vor allem dank der Vorschläge zur Fehlerbehebung auf dieser Seite habe ich das Problem gelöst. Es stellt sich heraus, dass die Lösung des Problems auf meinem Computer in den Kommentaren von Spiff und user37929 angedeutet wurde. In meinem / usr / share / man-Ordner fehlten LOTS von Schlüsseldateien einschließlich man.1.gz (Ich hatte nicht genau das Problem von user37929, da ich Dateien im man1-Ordner hatte, die mit Buchstaben nach "L" begannen). Nachdem ich einige der fehlenden Dateien vom Computer eines Freundes kopiert hatte, kehrten die Manpages zurück und ich bekomme den Fehler nicht mehr (für die kopierten Dateien).

In meinem Fall sieht es also so aus, als ob ich eine vollständige Wiederherstellung von / usr / share / man brauche. Das ist ein Projekt für einen zukünftigen Tag!

Oh, und ich habe auch git vor immer installiert, aber ich glaube, ich hatte dieses Problem schon vorher.