ควรจะติดตั้งไฟล์ปฏิบัติการที่ติดตั้งภายใต้ / opt ลงในพา ธ ได้อย่างไร


11

สามารถติดตั้งโปรแกรมภายใต้การ/optเชื่อมโยงอย่างปลอดภัย/usr/local/binซึ่งมีอยู่ใน PATH แล้วโดยค่าเริ่มต้นใน Ubuntu และ Linux distros อื่น ๆ

อีกวิธีหนึ่งมีเหตุผลบางอย่างในการสร้างแยก/opt/binและเพิ่มไปยังเส้นทางดังเช่นในคำตอบนี้: ความแตกต่างระหว่างไดเรกทอรี / opt / bin และ / opt / X / bin ?

คำตอบ:


10

มีความแตกต่างระหว่างการเป็นและ/opt /usr/local/binดังนั้นแค่ symlinking ไบนารีจากที่หนึ่งไปยังอีกที่หนึ่งจะทำให้เกิดความสับสน ฉันจะไม่มั่วพวกเขา

/optใช้สำหรับการติดตั้งแพ็กเกจซอฟต์แวร์แอปพลิเคชัน add-onในขณะที่/usr/localไดเรกทอรีใช้สำหรับผู้ดูแลระบบเมื่อติดตั้งซอฟต์แวร์แบบโลคัล (พร้อมmakeและmake install) มีไว้สำหรับไบนารีจากซอฟต์แวร์ที่ติดตั้งอยู่ภายใต้/usr/local/bin/usr/local

ตามFile Hierarchy Standardวิธีที่ถูกต้องคือการเพิ่มลง/opt/<package>/binใน$PATHสำหรับแต่ละแพ็คเกจ ถ้าเรื่องนี้เป็นความเจ็บปวดเกินไป (เมื่อคุณมีจำนวนนับไม่ได้ของ/opt/<package>/bindirecories ตัวอย่าง) แล้วคุณ (ผู้ดูแลระบบท้องถิ่น) สามารถสร้าง symlinks จาก/opt/<package>/binไปยัง/opt/binไดเรกทอรี จากนั้นสามารถเพิ่มผู้ใช้$PATHครั้งเดียว


เอ๊ะทำไม /usr/local/binสำหรับการใช้งานของผู้ดูแลระบบ หากผู้ดูแลระบบต้องการที่จะติดตั้งซอฟต์แวร์ใน/optและสร้างการเชื่อมโยงสำหรับภายใต้/usr/localที่ cromulent อย่างสมบูรณ์แบบ
Gilles 'หยุดความชั่วร้าย'

@Gilles แน่นอนเขาทำได้เขาสามารถทำอะไรก็ได้ที่เขาต้องการเขาเป็นผู้ดูแลระบบ แต่วิธีปฏิบัติที่ดีที่สุดคือแยกพวกเขาออกจากกัน
ความโกลาหล

ตกลงดังนั้นดูเหมือนว่านี่เป็นปัญหาของการประชุมมาตรฐานมากกว่าสิ่งอื่นใด ฉันค่อนข้างแปลกเพราะขาดความสมมาตร "มีความแตกต่างระหว่าง/optและ/usr/local/bin" ตรงข้ามกับ "... ระหว่าง/optและ/usr/local" หรือ "... ระหว่าง/opt/binและ/usr/local/bin" แต่หลังจากถึงจุดสิ้นสุดฉันสงสัยว่ามันหมายถึง เป็นวิธีการรวม/opt/binและ/opt/.../bin. ถ้าเป็นเช่นนั้นฉันสงสัยว่าถ้อยคำจะดีขึ้นหรือไม่
Kenneth Hanson

1
@chaos คุณเขียนสิ่งนั้นตาม FHS /opt/package/bin/หรืออย่างน้อย/opt/bin/ควรจะเพิ่มใน $ PATH ฉันอ่านผ่านการอ้างอิงที่โพสต์และมันพูดมากเกี่ยวกับวิธีการจัดโครงสร้าง/optและสิ่งที่มีอยู่ข้างใน แต่ฉันไม่สามารถหาคำยืนยันว่าไดเรกทอรีใด ๆ ที่อยู่ภายใต้/optควรเพิ่มลงใน $ PATH คุณอาจอธิบายอย่างละเอียดว่าคุณสรุปอย่างไร ไชโย
vic

@vic เหตุผลเดียวกับที่คุณวาง/whatever/binไดเรกทอรีอื่นไว้ที่ $ PATH - เพื่อให้คุณสามารถเรียกใช้ไฟล์ปฏิบัติการได้โดยไม่ต้องพิมพ์พา ธ เต็มทุกครั้ง
Kenneth Hanson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.