MANPATH ist unter Scientic Linux 5.5 nicht festgelegt

MANPATH ist unter Scientic Linux 5.5 nicht festgelegt

Bei einer Scientific Linux 5.5-Installation ist der $MANPATH nicht festgelegt. Ich habe Umgebungsmodule installiert, dies könnte zu einem Überschreiben des $MANPATH führen, aber da bin ich mir nicht sicher. Meine Hauptfrage ist also: An welchem ​​Punkt wird /etc/man.config interpretiert, um den $MANPATH zu bilden? Ist es die Bash-Shell selbst (fest codiert) oder ist es eine Datei, die beim Anmelden abgerufen wird, z. B. /etc/profile? Ich kann in keiner Datei für /etc/man.config eine Abhängigkeit unter /etc finden.

Der Grund, warum ich glaube, dass die Umgebungsmodule mit $MANPATH herumspielen, liegt darin, dass nach der Anmeldung beim System der einzige Eintrag folgender ist:

# manpath 
/cm/local/apps/environment-modules/3.2.6/man

BEARBEITEN:

In der Zwischenzeit und in Bezug auf die erste Antwort habe ich Folgendes versucht:

# find . -type f -exec fgrep -l -i manpath {} \;
./profile.d/man.sh
./profile.d/man.csh
./man.config

Das ist der Inhalt von

# cat /etc/profile.d/man.sh 
export MANPATH=:ignore:/cm/local/apps/environment-modules/3.2.6/man

Wenn ich diese Datei entferne, erscheint zumindest "/usr/man" im $MANPATH, aber das ist nur die Spitze des Eisbergs dessen, was in /etc/man.config definiert ist. Ich denke also, dass /etc/man.config immer noch nicht vollständig verarbeitet ist. Das Ändern von /etc/profile.d/man.sh wie folgt hatte keine Wirkung:

# cat /etc/profile.d/man.sh 
export MANPATH=:ignore:/cm/local/apps/environment-modules/3.2.6/man:$MANPATH
# echo $MANPATH 
ignore:/cm/local/apps/environment-modules/3.2.6/man:

Antwort1

Das ist die Lösung: Wenn $MANPATH gesetzt ist, werden die Standardpfade für Manualpages überschrieben. Wenn Sie $MANPATH also deaktivieren, wird der Standardpfad angezeigt. Führen Sie dazu einfach den Befehl „manpath“ aus:

/usr/local/share/man:/usr/share/man/en:/usr/share/man:/usr/man:/usr/local/man

Der Inhalt von /etc/profile.d/man.sh ist ebenfalls korrekt, dennein führender Doppelpunkt in der Variable $MANPATH verhindert das Überschreiben des Standard-Manpaths! Dies ist die eigentliche Lösungzu meinem Problem, weil ein Umgebungsmodul der Variable $MANPATH einen manuellen Pfad ohne führenden Doppelpunkt voranstellte und deshalb die Standard-Manpages nicht mehr verfügbar waren.

Antwort2

Nun, obwohl ich schreibe in derDeine AntwortIch kenne auf dieses Feld nicht DIE Antwort, ich kenne nur eine Meta-Antwort, die immer dann verwendet werden kann, wenn die Frage „In welcher Konfigurationsdatei ist es verstümmelt?“ auftaucht.

Installieren Sie Midnight Commander, falls Sie dies noch nicht getan haben. Starten Sie mc in /etc:

mc /etc

Starten Sie den Dialog „Datei suchen“ mit F9, c, f oder Alt-? oder Meta-? (wenn Alt nicht Ihr Meta ist).

lassenAnfangen bei:sei ein.(einzelner Punkt) als Standard, lassenDateiname:sei * als Standard und lassInhalt:SeiMANPATH.

Suche nach Inhaltensollte überprüft werden undErster Treffersollte nicht.

Lassen Sie die Suche einfach zu Ende laufen und im Dialog werden Ihnen alle Vorkommen von MANPATH in allen Dateien angezeigt, in denen es steht. Sie können stöbern und entscheiden, was Ihnen das Leben schwerer macht.

Im Grunde ist es dasselbe, als würden Sie rgrep auf /etc ausführen, nach MANPATH suchen und dessen Ausgabe lesen, nur meiner Meinung nach viel praktischer.

verwandte Informationen