วัตถุประสงค์ของ / usr / libexec คืออะไร?


28

ไฟล์ที่เรียกทำงานได้นั้นจะถูกเก็บไว้ใน/usr/libexecระบบที่เหมือน Unix FHS พูดว่า (ส่วน4.7. /usr/libexec : Binaries run by other programs (optional)":

/usr/libexecรวมไบนารีภายในที่ไม่ได้ตั้งใจให้เรียกใช้โดยตรงจากผู้ใช้หรือเชลล์สคริปต์ /usr/libexecการใช้งานอาจใช้ภายใต้ไดเรกทอรีย่อยเดียว

บน Mac OS X, rootless-initโปรแกรมที่เรียกว่าโดยทันทีหลังจากที่บูตถูกเก็บไว้ในlaunchd /usr/libexecทำไมมันจะถูกเก็บไว้ใน/usr/libexecเมื่อมันเป็นปฏิบัติการแบบสแตนด์อโลนที่สามารถเก็บไว้ใน/usr/binหรือ/usr/sbin? initและโปรแกรมอื่น ๆ ที่ไม่ได้เรียกโดยตรงจากเชลล์สคริปต์จะถูกเก็บไว้ในโฟลเดอร์เช่น[/usr]/{bin,sbin}กัน

คำตอบ:


14

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

ในทางตรงกันข้ามหากมีบางสิ่งที่/usr/libexec/บ่งบอกชัดเจนว่าถือเป็นรายละเอียดการใช้งานภายในและการโทรโดยตรงในฐานะผู้ใช้ปลายทางไม่ได้รับการสนับสนุนอย่างเป็นทางการ

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


7

ฉันคิดว่ามันใหม่กว่าinit- ความคิดที่เป็นเช่นนั้นกล่าวว่าจะมีการปฏิบัติการ (เพื่อให้พวกเขาไม่ควรจะอยู่ใน/usr/lib) $PATHที่คุณจะไม่เคยคาดหวังว่าจะมีใครใน


3

OS X ไม่เป็นไปตามมาตรฐาน FHS มันมีลำดับชั้นของระบบไฟล์ของตัวเอง (คล้ายกับลำดับชั้นของระบบไฟล์ FreeBSD) หน้าคนhier-

libexec/ system daemons & system utilities (executed by other programs)


3

libexecมีไว้สำหรับระบบ daemons และระบบสาธารณูปโภคที่ดำเนินการโดยโปรแกรมอื่น ๆ นั่นคือไบนารีที่วางในไดเรกทอรีเนมสเปซนี้มีไว้เพื่อการใช้งานของโปรแกรมอื่นและไม่ได้มีวัตถุประสงค์เพื่อให้ผู้ใช้เรียกใช้โดยตรง

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