man-Seite nur gefunden nachdem ran mit root

1286
7368616d696c

Wenn ich versuche, die Manpage auf meinem Red Hat als normaler Benutzer auszuführen, bekomme ich "Kein manueller Eintrag für zip". Wenn ich zum root run wechsle: "man zip" und dann bekomme ich die Manpage und danach sehe ich dieselbe Manpage wie ich mit root gemacht habe. Gibt es eine Art Man-Page-Generierungsprozess, wenn ich sie zum ersten Mal mit root starte?

Ich habe die Datei / usr / share / man / man1 / überprüft. Es gibt anscheinend alle Manpages für Tools, die ich normalerweise mit cp, ls, zip usw. verwende. Ich habe auch $ MANPATH envvar gesetzt, aber immer noch keine Hilfe.

Mache ich etwas falsch oder unterscheidet sich die Konfiguration von Red Hats von der anderer Linux-Distributionen?

6

2 Antworten auf die Frage

2
Doug Harris

Meine Vermutung ist, dass Sie MANPATHfalsch eingestellt sind.

Um dies zu testen, deaktivieren Sie es zunächst:

$ unset MANPATH $ man zip 

Wenn meine Vermutung richtig ist, werden Sie manden Standardpfad verwenden und die Manpage finden.

Vergleichen Sie auch die Ausgabe eines echo $MANPATHnormalen Benutzers mit einem Root-Benutzer.

Vielen Dank für die Beantwortung, es hat definitiv geholfen, Fehler zu beheben. Tatsächlich war das Problem eine falsche Berechtigung für Man-Verzeichnisse. Es gab kein Ausführungsflag. Nach dem Setzen der korrekten Flagge konnte ich mans lesen. Vielen Dank. 7368616d696c vor 11 Jahren 0
@ 7368616d696c Wenn dies nicht die Antwort war, die Sie zur Behebung Ihres Problems verwendet haben, akzeptieren Sie sie nicht - entweder lassen Sie den Antworter dies zu seiner Frage hinzufügen oder stellen Sie ihn selbst ein. cutrightjm vor 11 Jahren 0
Wie ekaj darauf hinweist, können Sie Ihrer eigenen Frage eine Antwort hinzufügen. Ich denke, Sie müssen ein oder zwei Tage warten, um es zu akzeptieren. Der Vorteil des expliziten Hinzufügens Ihrer eigenen Antwort ist, dass, wenn jemand in der Zukunft diese Frage findet, Ihre Antwort klar als Lösung markiert wird und hilfreich sein kann. Doug Harris vor 11 Jahren 0
2
7368616d696c

Die Lösung für dieses Problem besteht darin, zu prüfen, ob die Berechtigungen von / usr / share / man / richtig gesetzt sind. In meinem Fall ist das Ausführungsflag bei allen

/ usr / share / man /

Ordner wurden mit Ausnahme von root entfernt.

$ ls -l /usr/share/man/ # check if it has the x flag set for others 

Wenn das Flag x nicht gesetzt ist, setzen Sie es

$ chmod o+x /usr/share/man/* 

Natürlich möchten Sie auch prüfen, ob $ MANPATH wie in einer früheren Antwort erwähnt richtig eingestellt ist.

+1. Nur um diese Ausführungsberechtigungen für andere hinzuzufügen. In Bezug auf diese MANPATH-Variable sagt das Handbuch auch, dass die Variable nur verwendet wird, wenn sie gesetzt wurde. Klingt, als wäre dies keine Voraussetzung, kann aber so eingestellt werden, dass der Standardpfad überschrieben wird. Bhesh Gurung vor 9 Jahren 0