ลำดับชั้นของระบบแฟ้ม - ตำแหน่งที่จะวางฟังก์ชั่นที่มา?


9

ฉันมีสคริปต์ทุบตีบางตัวที่ใช้ตรวจสอบระบบ ตัวเลือกการกำหนดค่าซอร์สสคริปต์เหล่านี้จากไฟล์ / etc / healthchecks / config

นอกเหนือจากไฟล์ปรับแต่งฉันมีไฟล์ฟังก์ชั่นที่ใช้ร่วมกัน สคริปต์ควรสามารถแหล่งไฟล์นั้นและเรียกใช้ฟังก์ชันในนั้น

ตามลำดับชั้นของระบบไฟล์ฉันควรใส่ไฟล์ฟังก์ชั่นที่ใช้ร่วมกันไว้ที่ไหน มันไม่ใช่การกำหนดค่าดังนั้นจึงดูเหมือนไม่ได้อยู่ใน / etc แต่ก็ไม่ได้ถูกดำเนินการดังนั้น / usr / bin ดูเหมือนไม่ถูกต้อง อาจจะ / usr / lib?

คำตอบ:


7

คุณควรใส่healthchecksไฟล์ปฏิบัติการของคุณใน / usr / local / bin หรือใน / opt / bin หากคุณเห็นโฟลเดอร์ / opt ว่างเปล่าหมายความว่าการแจกจ่าย linux ของคุณไม่ได้ใช้ ดังนั้นสถานที่ที่เหมาะสมคือ / usr / local

/ usr / local และ / opt เป็นที่ที่ต้องวางแพ็คเกจ / โปรแกรม "คู่มือ" ทุกรายการ / usr ใช้สำหรับแพ็คเกจที่จัดการโดยผู้จัดการแพคเกจ (เช่น dpkg) / opt เป็น "สถานที่มาตรฐาน" สำหรับแพ็คเกจแบบแมนนวลตาม FHS แต่ distros เดเบียนใช้ / usr / local แทน

สำหรับไฟล์การกำหนดค่าจะต้องวางไว้ใน / usr / local / etc เนื่องจาก / etc นั้นเป็นไฟล์การกำหนดค่าของแพ็คเกจอัตโนมัติและโปรแกรมระบบอื่น ๆ

ตำแหน่งที่ถูกต้องสำหรับฟังก์ชั่นที่แชร์ของคุณคือ / usr / local / share (/ usr / share สำหรับไฟล์ที่แชร์ของแพ็คเกจอัตโนมัติ) ทุกไฟล์ที่ถูกออกแบบมาให้อ่านอย่างเดียวและเป็นอิสระจาก arquitecture นั้นเป็นของ / usr / share หรือ / usr / local / share (ถ้าพวกมันเป็นเจ้าของโดยแพ็คเกจ "อัตโนมัติ" หรือ "คู่มือ")

/ usr / lib สำหรับไลบรารีไบนารีแบบไดนามิกและแบบคงที่ (.so หรือ. a) และไม่ใช่สำหรับไลบรารี / ฟังก์ชั่น "ตีความ"

โดยทั่วไปแล้วล่ามจะมีโฟลเดอร์ย่อยแตกต่างกันใน / etc / share / สำหรับแต่ละรุ่นและภายในแต่ละโฟลเดอร์รุ่นโฟลเดอร์ต่าง ๆ สำหรับสคริปต์ตำแหน่งที่ตั้งการทดสอบตัวอย่างและอื่น ๆ

หากบางวันคุณสร้างที่เก็บอย่างเป็นทางการสำหรับแพ็คเกจของhealthchecksคุณคุณสามารถย้ายเนื้อหา / usr / local / healthchecks ไปที่ / usr / healthchecks และ / etc / healthchecks


2
ฉันไปข้างหน้าและลบคำตอบของฉันเพราะ 1) คุณครอบคลุมหัวข้อเพียงพอและ 2) ในlibexecทางเทคนิคยังไม่ได้เป็นส่วนหนึ่งของ FHS มันมีอยู่ในร่าง 3.0และภาพรวมของ FHS ของ Redhatแต่ในทางเทคนิคยังไม่ได้เป็นส่วนหนึ่งของ FHS (ใช้มันหากคุณต้องการโดยทั่วไป)
Andrew B

1

โดยทั่วไปฉันพยายามเก็บเฉพาะสิ่งที่ไซต์อยู่นอกพื้นที่ระบบที่สงวนไว้ คุณอาจพิจารณาใช้ลำดับชั้นไดเรกทอรีระดับบนสุดของคุณเองเมื่อใช้พื้นที่ไซต์ระบบไฟล์พิเศษสามารถสูญหายหรือถูกลืมได้ง่ายระหว่างการวิวัฒนาการของระบบ ความเป็นไปได้อื่นอาจเป็น / usr / local / etc .....

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