จะติดตั้ง man pages บน centos ได้อย่างไร?


18

หมายเหตุ:สิ่งนี้ใช้ได้กับ Centos 7 หากคุณกำลังมองหาคำตอบ Debian ให้ดูคำถามนี้ คำตอบเหล่านั้นจะไม่ถูกทำซ้ำที่นี่

หลังจากติดตั้ง centos 7 ฉันไม่สามารถเข้าถึง man pages:

# man ls
-bash: man: command not found

ฉันพยายามติดตั้งผ่าน yum

# yum install man-pages
... ok

แต่อีกครั้ง:

# man ls
-bash: man: command not found

ทำไม?


1
นี่เป็นสิ่งที่แปลกมากเพราะman(1)เป็นส่วนพื้นฐานของระบบ yum reinstall /usr/bin/manคุณอาจจะลองติดตั้งเช่นไป
vonbrand

คำตอบ:


17

เพื่อที่จะใช้คำสั่ง man ที่คุณยังต้องติดตั้งmanแพคเกจก่อนหรือหลังman-pagesหนึ่ง

# yum install man-pages
... ok
# yum install man
... ok

ตอนนี้manมีการติดตั้ง

# man ls


NAME
      ls - list directory contents

SYNOPSIS
      ls [OPTION]... [FILE]...

DESCRIPTION
      List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort.

      Mandatory arguments to long options are mandatory for short options too. ...

2
เห็นได้ชัดว่าสิ่งนี้ไม่ทำงานบน centOS ภายในคอนเทนเนอร์นักเทียบท่า ฉันรู้ว่าฉันได้รับสิ่งนี้เพื่อทำงานใน CentOS VM แต่ไม่แน่ใจว่าทำไมมันไม่ทำงานในภาชนะ
jersey bean

9
ตกลงฉันเพิ่งพบคำตอบของฉัน อิมเมจของ Docker centos สร้างขึ้นล่วงหน้าด้วย tsflags = nodocs ที่ตั้งค่าใน /etc/yum.conf ดูhub.docker.com/_/centos
jersey bean

ใช่คุณพูดถูก! +1 สำหรับส่วนเสริม ขอบคุณ!
Rémi B.

6

ฉันมีปัญหาเดียวกันในคอนเทนเนอร์นักเทียบท่าของฉันและแก้ไขมันโดยการใส่ความคิดเห็นtsflags=nodocsใน/etc/yum.confไฟล์จากนั้นฉันก็ลบ man-pages และ man-db และติดตั้งใหม่อีกครั้ง มันทำงานได้ดีด้วยวิธีนี้

$ vi /etc/yum.conf

ค้นหาtsflagsลงในไฟล์และเพิ่มความคิดเห็น (#) ไว้ข้างหน้า:

#tsflags=nodocs

ตอนนี้ลบ man-db และ man-page ออกถ้าระบบของคุณติดตั้งแล้ว:

$ yum remove man-pages man-db

จากนั้นติดตั้งอีกครั้ง:

$ yum install man-pages man-db

เรียง!


นี่เป็นซอสลับสำหรับการติดตั้ง WSL centos75 ของฉันบน windows
Choy


0

รูปภาพของ Docker อย่างเป็นทางการของ CentOS ชี้ให้เห็นโดยR. Sซึ่งปิดใช้งานการติดตั้งหน้าแบบแมนนวล นี่เป็นความจริงของภาพจาก Docker อย่างเป็นทางการของ Fedora

วิธีที่ง่ายที่สุดในการจัดการสิ่งนี้คือผ่านsedคำสั่งต่อไปนี้ซึ่งจะทำงานบนทั้งสองระบบ:

sed -i -e '/tsflags=nodocs/s/^/#/' /etc/yum.conf /etc/dnf/dnf.conf || true

สิ่งนี้จะสร้างข้อความแสดงข้อผิดพลาดที่บอกว่าไม่สามารถอ่านหนึ่งในสองไฟล์ แต่อย่างใดอย่างหนึ่งที่มีอยู่จะได้รับการอัปเดตเพื่อแสดงความคิดเห็นในtsflags=nodocsบรรทัด || trueที่มั่นใจว่าท้ายที่สุดว่าประสบความสำเร็จโดยไม่คำนึงถึงผลตอบแทนที่คำสั่งของข้อผิดพลาดใด ๆ เพื่อหลีกเลี่ยงการลังเลในสคริปต์

นี้สามารถใช้ในRUNคำสั่งในDockerfileซึ่งในกรณีที่คุณควรใช้ก่อนที่จะติดตั้งแพคเกจเพิ่มเติม สำหรับแพ็คเกจที่คุณติดตั้งแล้วหน้าคู่มือใด ๆ ที่มากับพวกเขาปกติจะยังคงถูกถอนการติดตั้งและจะต้องมีการติดตั้งแพคเกจใหม่เพื่อนำมาในหน้าคู่มือ หน้าคู่มือของระบบฐานหลายแห่ง (เช่นls) อยู่ในman-pagesแพ็คเกจ แต่แพ็คเกจอื่น ๆ เช่นgitมีหน้าคู่มือของตนเองและต้องติดตั้งใหม่

การลบและติดตั้งแพคเกจใหม่สามารถสร้างปัญหาการพึ่งพา เพื่อหลีกเลี่ยงสิ่งเหล่านี้แทนที่จะใช้:

yum -y reinstall man-pages git
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.