อะไรคือสิ่งที่/etc/mtab
อยู่ในลินุกซ์?
ทำไมมันจำเป็นและข้อดีของการมี?
man 5 mtab
หายไป
อะไรคือสิ่งที่/etc/mtab
อยู่ในลินุกซ์?
ทำไมมันจำเป็นและข้อดีของการมี?
man 5 mtab
หายไป
คำตอบ:
% file / etc / mtab / etc / mtab: ลิงก์สัญลักษณ์ไปที่ ../proc/self/mounts % file / proc / mounts / proc / mounts: ลิงก์สัญลักษณ์ไปที่ self / mounts %
/etc/mtab
เป็นกลไกการทำงานร่วมกัน ทศวรรษที่ผ่านมา Unix ไม่มีการเรียกระบบสำหรับการอ่านข้อมูลการเมาท์ที่มีอยู่ แต่โปรแกรมที่ติดตั้งระบบไฟล์นั้นถูกคาดหวังว่าจะทำงานร่วมกันอย่างเป็นระบบและสมัครใจรักษาตารางใน/etc/mtab
สิ่งที่ถูกเมานต์
ด้วยเหตุผลที่ชัดเจนนี่ไม่ใช่กลไกในอุดมคติ
ลินุกซ์ได้แนวคิดของ "procfs" และหนึ่งในสิ่งที่ได้รับคือเวอร์ชันเคอร์เนลที่ดูแลรักษาของตารางนี้ในรูปแบบของmounts
ไฟล์ธรรมดาหลอก "การเรียกระบบ" เพื่ออ่านข้อมูลการเมานต์ออกจากเคอร์เนลกลายเป็นลำดับแบบเปิดอ่านอย่างใกล้ชิดกับไฟล์นั้นตามด้วยการแยกผลลัพธ์จากรูปแบบที่มนุษย์อ่านได้ถึงแบบที่เครื่องอ่านได้ (บางสิ่งที่มีการจับที่บอบบางเช่นคุณ สามารถดูได้จากรายงานข้อผิดพลาดจากเมื่อสองสัปดาห์ก่อน)
/etc/mtab
ดังนั้นได้กลายเป็นที่นิยมเชื่อมโยงสัญลักษณ์เพื่อ/proc/mounts
ให้โปรแกรมที่เดินสายชื่อที่จะให้อ่านตารางติดจากไฟล์ที่ซึ่งโปรแกรมที่ติดตั้งและ unmounted ระบบแฟ้มไม่ต้องทำอะไรอย่างชัดเจนเพื่อให้ทันสมัย (บางส่วนของพวกเขาจะยังคงถ้าหาก/etc/mtab
กลายเป็นไฟล์ปกติที่เขียนได้และมีบางกรณีมุมที่ข้อมูลปกติในmounts
ที่ขาดสิ่งที่ไม่ใช่เคอร์เนลทั้งหมดไม่ได้ค่อนข้างจำเป็นต้องใช้แม้ว่าพวกเขาจะไม่ได้มีน้ำหนักเกิน ปัญหาทั่วไปด้วย/etc/mtab
.)
แต่ละขั้นตอนในปัจจุบันสามารถมีมุมมองของตัวเองแต่ละสิ่งที่จะติดตั้งและมีเป็นผลให้ในขณะนี้แต่ละmounts
ไฟล์สำหรับแต่ละขั้นตอนใน procfs ตารางของแต่ละขั้นตอนการเข้าถึงมันผ่านself
การเชื่อมโยงสัญลักษณ์เป็นself/mounts
และ/proc/mounts
เป็นยังตอนนี้เข้ากันได้ กลไก. (ที่น่าสนใจไม่ใช่กระบวนการต่อmounts
หรือรูปแบบของmounts
เอกสารใน Linux doco ปัจจุบันแม้ว่าmountinfo
ไฟล์หลอกเทียมปกติที่คล้ายกันคือ.)
SunOS / Solaris มีกลไกที่คล้ายกัน /etc/mnttab
ไฟล์เป็นจริงระบบแฟ้มไฟล์เดียวและนอกเหนือไปจากการอ่านตารางผ่านอธิบายไฟล์เปิดไปยังแฟ้มที่มีread()
การเรียกระบบหนึ่งสามารถดูการติดตั้งการเปลี่ยนแปลงจุดที่มีและได้รับชิ้นต่อต่างๆของข้อมูลด้วยpoll()
ioctl()
ใน HP-UX /etc/mnttab
เป็นชื่อของไฟล์เช่นเดียวกัน แต่ในรุ่นที่ 11 มันยังคงเป็นไฟล์ปกติที่เนื้อหาได้รับการบำรุงรักษาอย่างต่อเนื่องโดยโปรแกรมยูทิลิตี้ระบบ
AIX ไม่ส่งออกตารางข้อความที่มนุษย์สามารถอ่านได้ที่โปรแกรมต้องแยกวิเคราะห์และไม่มีไฟล์ที่เทียบเท่า BSDs ในทำนองเดียวกันมีการเรียกระบบอย่างเต็มเปี่ยมgetfsstat()
บน FreeBSD และ OpenBSD สำหรับโปรแกรมเพื่อรับตารางเมานต์จากเคอร์เนลในรูปแบบที่เครื่องอ่านได้
/proc/self/mountinfo
ด้วย \ r ในเส้นทางเมานต์ # 35137 coreutils ของ GNU/proc/mounts
. เอกสาร / filesystems / proc.txt Linux 5.1fstab-decode
สิ่งที่เป็นวัตถุประสงค์ของ ข้อผิดพลาด # 567071 ข้อบกพร่อง Debiangetfsstat()
. โทร FreeBSD ระบบด้วยตนเอง 2016/12/27mtab(5)
จากวันเก่า: man.cat-v.org/unix_8th/5/mtab
/proc/mounts
แต่/proc/self/mounts
เป็นกลไกความเข้ากันได้แล้ว /proc/self/mountinfo
เป็นเพียงส่วนหนึ่งของการแสดงในข้อมูลที่มีอยู่ได้ รูปแบบของ/proc/self/mounts
เอกสารproc(5)
ดังกล่าวเหมือนกับfstab(5)
ตามman mount
:
โปรแกรมที่เมานต์และ umount เก็บรักษารายการของระบบไฟล์ที่เมาท์อยู่ในปัจจุบันในไฟล์ / etc / mtab ไฟล์ mtab ที่แท้จริงนี้ยังคงรองรับอยู่ แต่ในระบบ Linux ปัจจุบันควรทำการเชื่อมโยงไปยัง / proc / mount แทนเนื่องจากไฟล์ mtab ปกติที่เก็บรักษาไว้ใน userspace ไม่สามารถทำงานกับเนมสเปซคอนเทนเนอร์และคุณลักษณะ Linux ขั้นสูงอื่น ๆ ได้
เกี่ยวกับการติดตั้งโดยไม่บันทึกใน/etc/mtab
:
-n, - no-mtab
เมานต์โดยไม่ต้องเขียนใน / etc / mtab สิ่งนี้จำเป็นเช่นเมื่อ / etc อยู่ในระบบไฟล์แบบอ่านอย่างเดียว
ความแตกต่างอื่น ๆ อีกมากมายจะได้รับในหน้าคู่มือ