Warum verschwindet der Befehl „Mann“?

9

Ich finde manBefehl verschwindet auf meinem RHEL7:

# man ls
bash: man: command not found...
# which man
/usr/bin/which: no man in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/go/bin:/root/gocode/bin:/root/bin:/opt/linuxki)

Aber manund man-pagessind alle auf meiner Box:

# yum install man
Loaded plugins: auto-update-debuginfo, langpacks, product-id, search-disabled-repos, subscription-manager
Package man-db-2.6.3-9.el7.x86_64 already installed and latest version
Nothing to do
# yum install man-pages
Loaded plugins: auto-update-debuginfo, langpacks, product-id, search-disabled-repos, subscription-manager
Package man-pages-3.53-5.el7.noarch already installed and latest version
Nothing to do

Wo ist es manhingegangen?

Update 1 :

Versuchen Sie eine Neuinstallation man, es werden jedoch folgende Fehler angezeigt:

......
Running transaction
  Installing : man-db-2.6.3-9.el7.x86_64                                                                                                 1/1
Error unpacking rpm package man-db-2.6.3-9.el7.x86_64
error: unpacking of archive failed on file /usr/bin/man: cpio: rename
  Verifying  : man-db-2.6.3-9.el7.x86_64                                                                                               1/1

Failed:
  man-db.x86_64 0:2.6.3-9.el7

Update 2

# ls -lt /usr/bin/man
total 4
drwxr-xr-x. 2 nan nan   81 Mar 24 22:30 man1
drwxr-xr-x. 2 nan nan 4096 Mar 24 22:30 man7
# stat /usr/bin/man
  File: ‘/usr/bin/man’
  Size: 28              Blocks: 0          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 67811254    Links: 4
Access: (0755/drwxr-xr-x)  Uid: ( 1000/     nan)   Gid: ( 1000/     nan)
Context: unconfined_u:object_r:bin_t:s0
Access: 2016-04-15 17:47:56.613595324 +0800
Modify: 2016-03-24 22:30:30.000000000 +0800
Change: 2016-04-08 11:08:45.605815500 +0800
 Birth: -
Nan Xiao
quelle
Können Sie die Ausgabe von ls -l /usr/bin/manzu Ihrer obigen Frage hinzufügen (tatsächlich auch einschließen stat /usr/bin/man)?
EightBitTony
deinstallieren man, entfernen /usr/bin/manund installieren, man-pagesdann installierenman
GAD3R
@EightBitTony: Ausgabe von ls -l /usr/bin/manund hinzufügen stat /usr/bin/man, danke!
Nan Xiao
RPM verwendet cpioals Archivformat, weshalb wir einen CPIO-Fehler sehen, wenn wir versuchen, die Datei zu ersetzen/usr/bin/man
GAD3R
3
Nun, ich weiß nicht warum - aber Ihr /usr/bin/manscheint eher ein Verzeichnis als eine einzelne ausführbare Datei zu sein. Es ist fast so, als hätte jemand das Manpages-Verzeichnis über / usr / bin / man kopiert.
EightBitTony

Antworten:

13

Ich bezweifle, dass wir Ihnen jemals sagen können, wo es hingegangen ist, aber Sie sollten es einfach mit neu installieren können yum.

yum reinstall man

yumÜberprüft nicht, ob beim Ausführen Dateien vorhanden sind yum install, sondern überprüft nur eine Datenbank, deren Pakete installiert wurden. Wenn jemand alle Dateien außerhalb des Paketmanagers löscht, weiß er es nicht (Sie können es überprüfen lassen, aber standardmäßig nicht). Mit wird yum reinstallangewiesen, die Installation durchzuführen, obwohl das Paket bereits vorhanden ist.

Je nachdem, was gelöscht oder entfernt wurde, müssen Sie möglicherweise yum reinstall ...andere Dinge wie man-pages.

Angesichts neuer Informationen aktualisiert:

Aus irgendeinem Grund ist Ihr /usr/bin/manVerzeichnis eher ein Verzeichnis als eine einzelne Datei, und nach dem Inhalt sieht es so aus, als hätte jemand mv /usr/share/man /usr/binetwas Seltsames oder Seltsames getan .

Sie werden dies nicht einfach rückgängig machen können - Sie müssen untersuchen, sehen, was kaputt oder bewegt wurde, und es korrigieren.

Möglicherweise können Sie nur /usr/bin/manden Inhalt entfernen und dann erneut installieren manund man-pagesverwenden, yumaber ohne weitere Untersuchung wird dies nicht klar sein.

EightBitTony
quelle
Ich versuche, man neu zu installieren, aber es wird ein " unpacking of archive failed on file /usr/bin/man: cpio: rename" Fehler angezeigt. Könnten Sie helfen, zu überprüfen? Vielen Dank im Voraus!
Nan Xiao
@ Entfernen Sie es /usr/bin/manund installieren Sie manes neu, danke!
Nan Xiao
2
@NanXiao: Wenn /usr/bin/manes sich um ein Verzeichnis handelt, wer weiß, was sonst noch vermasselt ist? An dieser Stelle würde ich empfehlen, Ihre Dateien zu sichern und das Betriebssystem von Grund auf neu zu installieren. Und lassen Sie Ihren Dreijährigen das nächste Mal nicht mit einer Wurzelschale spielen. ;)
Ilmari Karonen
0

RPM verwendet cpioals Archivformat. Aus diesem Grund cpiowird beim Versuch, die Datei zu ersetzen , ein Fehler angezeigt /usr/bin/man.

Sie müssen removeund purge mandann müssen Sie installieren man-pages.

Öffnen Sie das Terminal und geben Sie die folgenden Befehle ein:

yum check-update
yum update
yum install man-pages
yum install man
GAD3R
quelle
Die ursprüngliche Frage zeigt dies yum install manund yum install man-pageshat keinen Unterschied gemacht, da yumsie bereits installiert sind.
EightBitTony