"मैन" कमांड क्यों गायब हो जाती है?


9

मुझे लगता है manकि मेरे आदेश गायब हो गए हैं 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)

लेकिन manऔर man-pagesसभी मेरे बॉक्स पर हैं:

# 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

कहां गया man?

अपडेट 1 :

पुनः स्थापित करने का प्रयास करें man, लेकिन यह निम्नलिखित त्रुटियों का संकेत देता है:

......
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

अपडेट २

# 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: -

क्या आप ls -l /usr/bin/manअपने प्रश्न के ऊपर से आउटपुट को जोड़ सकते हैं (वास्तव में, stat /usr/bin/manसाथ ही साथ)।
EightBitTony 7

स्थापना रद्द करें man, निकालें /usr/bin/manऔर man-pagesफिर इंस्टॉल करेंman
GAD3R

@EightBitTony: का आउटपुट जोड़ें ls -l /usr/bin/manऔर stat /usr/bin/man, धन्यवाद!
नान जिओ

RPM इसका उपयोग cpioआर्काइव प्रारूप के रूप में करता है , यही वजह है कि हम फ़ाइल को बदलने की कोशिश करते समय एक cpio त्रुटि देख रहे हैं/usr/bin/man
GAD3R

3
ठीक है, मुझे नहीं पता कि क्यों - लेकिन आपकी /usr/bin/manएक निर्देशिका के बजाय एक निष्पादन योग्य प्रतीत होता है। यह लगभग वैसा ही है जैसे किसी ने मैन पेज डायरेक्टरी को ओवर / usr / बिन / मैन कॉपी किया हो।
आठबेटटोनी

जवाबों:


13

मुझे संदेह है कि हम आपको यह बताने में सक्षम होंगे कि यह कहां गया था, लेकिन आपको इसका उपयोग करके इसे फिर से स्थापित करने में सक्षम होना चाहिए yum

yum reinstall man

yumयह देखने के लिए जाँच न करें कि आपके द्वारा चलाए जाने के दौरान फ़ाइलें मौजूद हैं yum install, यह सिर्फ एक डेटाबेस की जाँच करता है कि कौन से पैकेजों को स्थापित किया गया है। यदि कोई पैकेज प्रबंधक के बाहर की सभी फ़ाइलों को हटा देता है, तो उसे पता नहीं चलेगा (आप इसे जांचने के लिए प्राप्त कर सकते हैं, लेकिन यह डिफ़ॉल्ट रूप से नहीं है)। इसका उपयोग yum reinstallयह बताता है कि इंस्टॉल करने के लिए भले ही यह सोचता हो कि पैकेज पहले से ही है।

जो हटा दिया गया है या हटा दिया गया है, उसके आधार पर, आपको yum reinstall ...अन्य चीजों की आवश्यकता हो सकती है man-pages

नई जानकारी के प्रकाश में अद्यतन:

किसी कारण के लिए, आपकी /usr/bin/manएकल फ़ाइल के बजाय एक निर्देशिका है, और सामग्री को देखते हुए ऐसा लगता है जैसे किसी ने कुछ अजीब किया है mv /usr/share/man /usr/binया कुछ अजीब है।

आप बस इसे पूर्ववत करने में सक्षम नहीं होने जा रहे हैं - आपको जांच करने की आवश्यकता है, देखें कि क्या टूट गया है या स्थानांतरित हो गया है, और इसे सही करें।

आप कर सकते हैं बस को दूर करने में सक्षम हो /usr/bin/manऔर उसकी सामग्री और उसके बाद फिर से स्थापित करने manऔर man-pagesउपयोग करते हुए yum, लेकिन अधिक जांच के बिना यह स्पष्ट होने के लिए नहीं जा रहा है।


मैं आदमी को फिर से स्थापित करने की कोशिश करता हूं, लेकिन यह " unpacking of archive failed on file /usr/bin/man: cpio: rename" त्रुटि का संकेत देता है । क्या आप जांच में मदद कर सकते हैं? अग्रिम में ही बहुत शुक्रिया!
नान जिओ

@ निकालें /usr/bin/manऔर manइसे ठीक करें, इसे बहुत ज़्यादा!
नान जिओ

2
@ नानएक्सिया: यदि /usr/bin/manकोई निर्देशिका है, तो कौन जानता है कि और क्या है? इस बिंदु पर, मैं आपकी फ़ाइलों का बैकअप लेने और ओएस को खरोंच से पुनर्स्थापित करने की सलाह दूंगा। और अगली बार अपने तीन साल पुराने रूट शेल के साथ खेलने न दें। ;)
इल्मरी करोनन

0

RPM cpioअपने आर्काइव प्रारूप के रूप में उपयोग करता है । इसीलिए cpioजब हम फ़ाइल को बदलने का प्रयास कर रहे हैं तो हमें एक त्रुटि दिखाई दे रही है /usr/bin/man

आपको स्थापित करने की आवश्यकता है removeऔर purge manफिर आपको स्थापित करने की आवश्यकता है man-pages

टर्मिनल खोलें और निम्न कमांड टाइप करें:

yum check-update
yum update
yum install man-pages
yum install man

मूल प्रश्न से पता चलता है कि yum install manऔर yum install man-pagesक्योंकि कोई फर्क नहीं था yumसोचता है कि वे पहले से ही स्थापित हैं।
आठबेटटोनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.