ฉันจะติดตั้งระบบไฟล์ man page ได้อย่างไร?
ตัวอย่างเช่นหากฉันมีไฟล์ man page examplecommand.1
ฉันจะติดตั้งมันได้อย่างไรเพื่อที่ฉันจะพิมพ์man examplecommand
เพื่อดูได้
ฉันจะติดตั้งระบบไฟล์ man page ได้อย่างไร?
ตัวอย่างเช่นหากฉันมีไฟล์ man page examplecommand.1
ฉันจะติดตั้งมันได้อย่างไรเพื่อที่ฉันจะพิมพ์man examplecommand
เพื่อดูได้
คำตอบ:
ก่อนอื่นให้ดูว่าส่วนไหนที่เป็นหน้าเพจของคุณ 1
หากคำสั่งของมันก็อาจจะเป็นส่วน คุณสามารถอ่านmanpage สำหรับman
คำสั่งเพื่อดูคำอธิบายของส่วนต่างๆและหมายเลขที่เกี่ยวข้อง
คัดลอก man page ของคุณเป็น/usr/local/share/man/man1/
(เปลี่ยน1
เป็นหมายเลขส่วนของคุณหากจำเป็น) คุณยังสามารถติดตั้งได้/usr/share/man/man1/
แต่ควรใช้local
ไดเรกทอรีสำหรับไฟล์ที่ติดตั้งโดยไม่ต้องใช้ตัวจัดการแพ็คเกจ APT:
sudo cp examplecommand.1 /usr/local/share/man/man1/
เรียกใช้mandb
คำสั่ง นี่จะเป็นการอัพเดทman
ฐานข้อมูลภายในของ:
sudo mandb
แค่นั้นแหละ! คุณควรจะสามารถดู man page ได้โดยการเรียกใช้:
man 1 examplecommand
man
คำสั่งmandb
คำสั่ง/usr/bin/dh_installman
หากคุณสามารถอ่าน Perl ติดตั้งพร้อมกับdebhelper
แพคเกจ/usr/local/man
รวมทั้งแนะนำในการแมป PATH กับ MANPATH /etc/manpath.config
ได้
หากคุณต้องการติดตั้ง man page แบบโลคัล :
หากMANPATH
ไม่มีการตั้งค่าหรือรวมถึงองค์ประกอบที่ว่างเปล่า (เริ่มต้นคือมี:
ปลายมี:
หรือมี::
) แล้ว<path>/share/man
จะได้รับการสืบค้นโดยอัตโนมัติสำหรับหน้าคนเมื่อใดก็ตามที่<path>/bin
เป็นส่วนหนึ่งของPATH
, ค่าทั้งหมดของ<path>
นี่เป็นวิธีที่ง่ายมากในการเพิ่ม man pages สำหรับซอฟต์แวร์ที่ติดตั้งในเครื่อง มีรายละเอียดบางอย่างในการมีman manpath
และ/etc/manpath.config
ผมไม่เห็นเอ่ยถึงใด ๆ ของการทำแผนที่ทั่วไปจาก แต่จะ<path>/bin
<path>/share/man
MANPATH=<local path to the man pages>:$MANPATH
กับ${HOME}/.bashrc
(ไม่ใช่เซสชันการเข้าสู่ระบบ) หรือ${HOME}/.profile
(เซสชันการเข้าสู่ระบบ) ของคุณ ในกรณีของฉันฉันตั้งค่าไดเรกทอรีท้องถิ่นสำหรับ man pages in ${HOME}/share/man/
ซึ่งเลียนแบบระบบไฟล์ Linux แบบคลาสสิก ฉันสร้างขึ้น${HOME}/share/man/man.1
จากนั้นจะมีลิงก์สัญลักษณ์ไปยังตำแหน่งของไฟล์examplecommand.1
ทุกที่ที่โปรแกรมติดตั้งวางไว้ (การกำหนดค่า 'คำนำหน้า') การเปิดตัวman examplecommand
ค้นหาหน้าคนในจุด ด้วยวิธีนี้การติดตั้งเป็นแบบโลคัลแม้ว่าไม่ใช่ระบบ
<path>/bin
-> <path>/share/man
มีอยู่จริง เมื่อเปิด strace (1) man
ด้วยMANPATH=:/nonexistingdir
ฉันเห็นสิ่งต่อไปนี้: - <path>/bin
-> <path>/man
นี่เป็นระบบ Debain Buster
คำตอบโดย @ ntc2 ด้านบนคือคนที่ควรดู ฉันต้องการเพิ่มความเห็นพิเศษบางอย่างที่ไม่พอดีในส่วนความคิดเห็น:
วิธีการโดย @ ntc2 ให้เส้นทางสำหรับคนที่ต้องการตั้งค่าเส้นทางของพวกเขา (ซึ่งพวกเขาคาดหวังไว้แล้ว) สำหรับไบนารีท้องถิ่น
แต่ผมไม่คิดว่าการทำแผนที่ทั่วไป<path>/bin
-> ที่มีอยู่สำหรับทุกเส้นทางใน<path>/share/man
$PATH
ดูเหมือนว่าการทำแผนที่นี้โดยเฉพาะคือหลีกเลี่ยงเมื่อในคำถามคือ$PATH
$HOME/bin
เมื่อดำเนินการ strace (1) ต่อman
ด้วยMANPATH=:/nonexistingdir
ฉันเห็นการค้นหาต่อไปนี้:
สำหรับองค์ประกอบใด ๆ$PATH
ที่ไม่ได้$HOME/bin
<path>/bin
-> <path>/man
<path>/bin
-> <path>/bin/man
<path>/bin
-> <path>/share/man
<path>/bin
-> <path>/bin/share/man
สำหรับ $HOME/bin
$HOME/bin
-> $HOME/man
ฉันไม่รู้ว่าทำไมมันข้ามคนอื่น นี่เป็นระบบ Debian Buster มันอาจแตกต่างกันในระบบอื่น ๆ
สำหรับผมที่นี้หมายถึงว่าเส้นทางที่ปลอดภัยที่สุดในการติดตั้งที่มนุษย์หน้าเป็นเช่นก็รับประกันที่จะพบว่ามันอยู่ใน<path>/man
$PATH
sudo
หรือไม่?