ใน Filesystem Hierarchy Standard `/ var / lib /ถูกระบุว่า (ในส่วนที่เป็นตัวเอียงที่สำคัญที่สุด):
5.8.1 วัตถุประสงค์
ลำดับชั้นนี้เก็บข้อมูลสถานะที่เกี่ยวข้องกับแอปพลิเคชันหรือระบบ ข้อมูลสถานะคือข้อมูลที่โปรแกรมปรับเปลี่ยนในขณะที่ทำงานและเกี่ยวข้องกับโฮสต์หนึ่งรายการ ผู้ใช้ไม่จำเป็นต้องแก้ไขไฟล์ใน / var / lib เพื่อกำหนดค่าการทำงานของแพ็คเกจ
โดยทั่วไปข้อมูลสถานะจะใช้ในการรักษาสภาพของแอปพลิเคชัน (หรือกลุ่มของแอปพลิเคชันที่เกี่ยวข้องระหว่าง) ระหว่างการร้องขอและระหว่างอินสแตนซ์ต่าง ๆ ของแอปพลิเคชันเดียวกัน ข้อมูลสถานะโดยทั่วไปจะยังคงใช้ได้หลังจากรีบูตเครื่องไม่ควรเป็นเอาต์พุตการบันทึกและไม่ควรเป็นข้อมูลสพูล
แอปพลิเคชัน (หรือกลุ่มของแอปพลิเคชันที่เกี่ยวข้องกับอินเตอร์) ต้องใช้ไดเรกทอรีย่อยของ / var / lib สำหรับข้อมูล มีหนึ่งไดเรกทอรีย่อยที่ต้องการ / var / lib / misc ซึ่งมีไว้สำหรับไฟล์สถานะที่ไม่ต้องการไดเรกทอรีย่อย ควรมีไดเรกทอรีย่อยอื่น ๆ หากแอปพลิเคชันที่มีปัญหารวมอยู่ในการกระจาย
/ var / lib / เป็นตำแหน่งที่ต้องใช้สำหรับการสนับสนุนบรรจุภัณฑ์การกระจายทั้งหมด การแจกแจงที่แตกต่างกันอาจใช้ชื่อที่แตกต่างกันแน่นอน
ในระยะสั้น: / var / lib / สำหรับข้อมูลที่ใช้ในเครื่อง
ดังนั้นจึงทำให้รู้สึกดีที่จะนำข้อมูลของฐานข้อมูลลงใน / var / lib / {MySQL | postgress} / directory แต่ที่ ... FHS เป็นมาตรฐานที่สร้างขึ้นส่วนใหญ่สำหรับการใช้งานโดยการแจกแจง ในฐานะผู้ใช้คุณมีอิสระที่จะใส่ข้อมูลของคุณได้ทุกที่ที่ต้องการและเป็นเรื่องของความคิดเห็น
คุณกำลังเข้าใจผิดคำว่า "ท้องถิ่น" / usr / local / bin / ไม่ได้มีไว้สำหรับซอฟต์แวร์ระบบ แต่สำหรับซอฟต์แวร์ของคุณเอง (โดยทั่วไปสิ่งใดก็ตามที่มี "local" ในจะต้องไม่ถูกสัมผัสโดยระบบดังที่อธิบายไว้โดย FHS:
/ usr / / ท้องถิ่น
4.9.1 วัตถุประสงค์
ลำดับชั้น / usr / local ใช้สำหรับผู้ดูแลระบบเมื่อติดตั้งซอฟต์แวร์แบบโลคัล จะต้องปลอดภัยจากการเขียนทับเมื่อมีการอัพเดทซอฟต์แวร์ระบบ อาจใช้สำหรับโปรแกรมและข้อมูลที่แบ่งใช้ได้ระหว่างกลุ่มโฮสต์ แต่ไม่พบใน / usr ซอฟต์แวร์ที่ติดตั้งไว้ภายในเครื่องจะต้องอยู่ภายใน / usr / local แทนที่จะเป็น / usr นอกจากจะถูกติดตั้งเพื่อแทนที่หรืออัปเกรดซอฟต์แวร์ใน / usr
ปฏิบัติการที่ติดตั้งจากซอฟต์แวร์ระบบไม่ควรไปที่ใดในพื้นที่
ตอนนี้สำหรับ/ usr / lib /
4.7.1 วัตถุประสงค์
/ usr / lib รวมถึงวัตถุไฟล์ไลบรารีและไบนารีภายในที่ไม่ได้ตั้งใจให้เรียกใช้งานโดยตรงจากผู้ใช้หรือสคริปต์เชลล์ แอปพลิเคชันอาจใช้ไดเรกทอรีย่อยเดียวภายใต้ / usr / lib หากแอปพลิเคชันใช้ไดเรกทอรีย่อยข้อมูลทั้งหมดขึ้นอยู่กับสถาปัตยกรรมที่ใช้โดยเฉพาะแอปพลิเคชันจะต้องอยู่ในไดเรกทอรีย่อยนั้น
postgressql น่าจะเป็น daemon เมื่อบูต ถ้าเป็นเช่นนั้นมันก็สมเหตุสมผลที่จะใส่ไว้ที่นี่ คุณไม่ควรใช้คำสั่งด้วยตัวเอง แต่ให้เริ่มบริการ ไฟล์ใน / usr / lib / มักจะมีผู้ใช้และกลุ่มของตนเองและ / หรือ daemon ที่ จำกัด การเข้าถึง / var / lib (อินสแตนซ์ mysqld เท่านั้นที่สามารถเข้าถึง / var / lib / mysql / นี้จะเหมือนกันสำหรับ PostgresSQL)