Pourquoi la commande «homme» disparaît-elle?

9

Je trouve que la mancommande disparaît sur mon 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)

Mais manet man-pagessont tous sur ma boîte:

# 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

Où est-il manallé?

Mise à jour 1 :

Essayez de réinstaller man, mais il invite les erreurs suivantes:

......
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
la source
Pouvez-vous ajouter la sortie de ls -l /usr/bin/manà votre question ci-dessus (en fait, inclure stat /usr/bin/manégalement).
EightBitTony
désinstaller man, supprimer /usr/bin/manet installer man-pagespuis installerman
GAD3R
@EightBitTony: Ajoutez une sortie de ls -l /usr/bin/manet stat /usr/bin/man, merci!
Nan Xiao du
RPM utilise cpiocomme format d'archive, c'est pourquoi nous voyons une erreur cpio lors de la tentative de remplacement du fichier/usr/bin/man
GAD3R
3
Eh bien, je ne sais pas pourquoi - mais votre /usr/bin/mansemble être un répertoire, plutôt qu'un seul exécutable. C'est presque comme si quelqu'un avait copié le répertoire des pages de manuel sur / usr / bin / man.
EightBitTony

Réponses:

13

Je doute que nous pourrons jamais vous dire où il est allé, mais vous devriez simplement pouvoir le réinstaller en utilisant yum.

yum reinstall man

yumne vérifie pas si des fichiers existent lorsque vous exécutez yum install, il vérifie simplement une base de données des packages qui ont été installés. Si quelqu'un supprime tous les fichiers en dehors du gestionnaire de paquets, il ne le saura pas (vous pouvez le faire vérifier, mais ce n'est pas le cas par défaut). L'utilisation lui yum reinstallindique de faire l'installation même s'il pense que le paquet est déjà là.

Selon ce qui a été supprimé ou supprimé, vous devrez peut-être d' yum reinstall ...autres choses comme man-pages.

Mis à jour à la lumière de nouvelles informations:

Pour une raison quelconque, votre /usr/bin/manest un répertoire, plutôt qu'un seul fichier, et à en juger par le contenu, il semble que quelqu'un ait fait quelque chose de bizarre mv /usr/share/man /usr/binou bizarre.

Vous ne pourrez pas simplement annuler cela - vous devez enquêter, voir ce qui a été cassé ou déplacé et le corriger.

Vous pourriez peut -être simplement supprimer /usr/bin/manet son contenu, puis réinstaller manet man-pagesutiliser, yummais sans plus d'investigation, cela ne sera pas clair.

EightBitTony
la source
J'essaie de réinstaller man, mais cela provoque une unpacking of archive failed on file /usr/bin/man: cpio: renameerreur " ". Pourriez-vous aider à vérifier? Merci d'avance!
Nan Xiao
@ Supprimer /usr/bin/manet réinstaller le manréparer, merci beaucoup!
Nan Xiao
2
@NanXiao: S'il /usr/bin/mans'agit d'un répertoire, qui sait quoi d'autre est foutu? À ce stade, je vous recommande de sauvegarder vos fichiers et de réinstaller le système d'exploitation à partir de zéro. Et ne laissez pas votre enfant de trois ans jouer avec un shell racine la prochaine fois. ;)
Ilmari Karonen
0

RPM utilise cpiocomme format d'archive. C'est pourquoi nous voyons une cpioerreur lors de la tentative de remplacement du fichier /usr/bin/man.

Vous devez remove, purge manpuis vous devez installer man-pages.

Ouvrez le terminal et tapez les commandes suivantes:

yum check-update
yum update
yum install man-pages
yum install man
GAD3R
la source
La question d'origine montre cela yum install manet yum install man-pagesn'a fait aucune différence car yumpense qu'ils sont déjà installés.
EightBitTony