UnionFS ทำงานอย่างไร


3

ฉันได้เจอบทความต่าง ๆ รวมทั้งคำอธิบายเกี่ยวกับวิกิพีเดีย แต่ฉันมีเวลาเข้าใจความหมาย จนถึงตอนนี้ฉันเข้าใจว่า UnionFS เป็นโมดูลที่ให้มุมมองแบบรวมของไดเรกทอรี มันอยู่ในเลเยอร์เหนือไดเรกทอรีที่ติดตั้งอยู่ UnionFS ไม่มีจุดเชื่อมต่อ

สิ่งที่ทำให้ฉันสับสนคือ UnionFS รู้ได้อย่างไรว่าควรแสดงสิ่งใดในลักษณะที่รวมเป็นหนึ่ง


นั่นไม่ครอบคลุมโดยบทความวิกิพีเดีย? เมื่อติดตั้งสาขาจะมีการระบุระดับความสำคัญของสาขาหนึ่งเหนืออีกสาขาหนึ่ง ดังนั้นเมื่อทั้งสองสาขามีไฟล์ที่มีชื่อเดียวกันสิ่งหนึ่งจะได้รับความสำคัญมากกว่าอีกสาขาหนึ่ง
Caspar

@Caspar - ใช่ แต่ฉันต้องการที่จะเข้าใจว่ามันรวมกันเป็นไดเรกทอรีและให้ความสำคัญกับคนอื่น
PeanutsMonkey

คำตอบ:


6

UnionFS ทำงานในระดับไดเรกทอรีซึ่งต่างจากระดับอุปกรณ์ดังนั้นจึงไม่มีจุดเมานท์ - ตั้งอยู่เหนือจุดเมานท์ที่มีอยู่ซึ่งแต่ละแห่งอาจเป็นสาขา - ตัวอย่างเช่นมีเลเยอร์ฐาน (หรือใช้อย่างเหมาะสม คำศัพท์ - เลเยอร์ที่มีลำดับความสำคัญต่ำพร้อมระบบไฟล์รูท) บนระบบไฟล์ iso9660 cd rom แบบอ่านอย่างเดียวและสาขาบน ramdisk แต่ละสาขาจะถูกกำหนดให้มีลำดับความสำคัญและสาขาที่มีลำดับความสำคัญสูงกว่าจะแทนที่หนึ่งในลำดับความสำคัญที่ต่ำกว่า

หากไดเรกทอรีมีอยู่ในสองกิ่งที่อยู่ภายใต้เนื้อหาและแอตทริบิวต์ของไดเรกทอรี Unionfs เป็นการรวมกันของสองไดเรกทอรีที่ต่ำกว่า

หากไฟล์มีอยู่ในสองสาขาเนื้อหาและแอ็ตทริบิวต์ของไฟล์ Unionfs จะเหมือนกับไฟล์ในสาขาที่มีลำดับความสำคัญสูงกว่าและไฟล์ในสาขาที่มีลำดับความสำคัญต่ำกว่าจะถูกละเว้น

สุดท้ายหากมีสิ่งที่ซ้ำกันไดเรกทอรีที่ซ้ำกันจะถูกซ่อนไว้เพื่อทำให้สิ่งต่าง ๆ ง่ายขึ้น

Linuxjournal มีการเขียนที่ครอบคลุมพอสมควร เกี่ยวกับการทำงานของ unionfs หากคุณต้องการคำอธิบายที่ง่ายกว่า


ขอบคุณ ฉันอ่านบทความบน LinuxJournal แล้ว แต่สิ่งที่ทำให้ฉันสับสนคือการทำงานกับ Linux LiveCD และการติดตั้ง Windows พื้นฐาน นอกจากนี้คุณหมายถึงอะไรโดย base layer และ a branch on ramdisk?
PeanutsMonkey

ชี้แจงชั้นฐาน ramdisk เป็นเพียงดิสก์อิมเมจหรือระบบไฟล์พิเศษทำงานบน ram ทั้งหมด
Journeyman Geek

@Journerman Geek - เมื่อคุณพูด a low precedence layer with the root filesystem คุณหมายถึงไดเรกทอรีใด ๆ ด้านล่าง \?
PeanutsMonkey

@Journerman Geek - ฉันเจอบทความนี้ที่ LWN http://lwn.net/Articles/217084/ และจากสิ่งที่ฉันเข้าใจว่า UnionFS ได้รับการจัดการด้วยตนเองไม่ใช่อัตโนมัติโดยอัตโนมัติผู้ดูแลระบบจะต้องสร้างมันขึ้นมาแทนที่จะสร้างขึ้นแบบไดนามิก
PeanutsMonkey

ฉันสามารถใช้ unionfs เป็นโอเวอร์เลย์บนไดเรกทอรีที่มีอยู่แล้วได้หรือไม่ซึ่งใช้ไดเรกทอรีนั้นเป็นจุดเชื่อมต่อ ตัวอย่างเช่นฉันมี dir1 กับบางไฟล์และ dir2 ด้วยไฟล์อื่นฉันสามารถใช้ไฟล์ของ dir2 ที่จะปรากฏภายใต้ dir1 โดยไม่ต้องมีเพียง 2 ไดเรกทอรีเหล่านี้
Anwar

1

การดำเนินงานของ VFS มันคือสตับขนาดเล็กที่โทรกลับไปยังเลเยอร์ VFS ของระบบไฟล์พื้นฐาน ดังนั้นเมื่อคุณเช่น อ่านไดเรกทอรีมันจะอ่านไดเรกทอรีของระบบไฟล์พื้นฐานและรวมรายการไฟล์



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