ฉันจะระบุลำดับที่ระบบไฟล์ติดตั้งโดยอัตโนมัติได้อย่างไร


15

ฉันต้องการแถวที่เฉพาะเจาะจงใน/etc/fstabการติดตั้งเสมอหลังจากสองแถวอื่น ๆ :

# Always mount these first
UUID=fdf38dd4-9e9d-479d-b830-2a6989958503 / ext4 noatime,discard,errors=remount-ro 0 1
UUID=2b548eb8-fa67-46ce-a998-91d587dba62f /home/.hdd ext4 errors=remount-ro 0 2

# Always mount this second
none /home/ak aufs br:/home/.ssd/ak=rw:/home/.hdd/ak=rw 0 0

พฤติกรรมปัจจุบันคือมักจะกลับคำสั่งของสองแถวสุดท้ายในลักษณะที่ไม่แน่นอน ฉันจะระบุคำสั่งซื้อที่จำเป็นได้อย่างไร


4
วิธีแก้ปัญหาที่เป็นไปได้ (ยังไม่ทดลอง): กำหนดค่าล่าสุดเป็นnoautoและเมานต์rc.localหรือไม่
jg-faustus

@ jg-faustus ขอบคุณการแก้ปัญหาดูเหมือนจะประสบความสำเร็จ
ændrük

@ jg-faustus ค่าหัวนี้กำลังจะจบลงในไม่ช้าและวิธีแก้ปัญหาของคุณคือคำตอบที่ใกล้เคียงที่สุด หากคุณโพสต์ไว้ด้านล่างฉันจะให้ +50
ændrük

คำตอบ:


18

ทางเลือกหนึ่งคือเลื่อนการติดตั้งจนกระทั่งหลังจาก/etc/fstabเสร็จสิ้นสิ่งนี้จะช่วยให้คุณควบคุมการสั่งซื้อได้อย่างสมบูรณ์

เพียงเพิ่มnoautoตัวเลือกเมานต์ใน fstab และเมานrc.localต์

ตามหน้า man , mount -amounts รายการfstabตามลำดับในขณะที่การเพิ่มตัวเลือก-F('fork') จะเมาต์พวกเขาในแบบคู่ขนาน ปรากฏว่าการบูตมาตรฐานใช้ 'fork' ซึ่งน่าจะช่วยลดเวลาในการบู๊ตได้ดังนั้นฉันเดาว่าการติดตั้ง (แบบกึ่ง) ด้วยตนเองหลังจากนั้นเป็นวิธีที่ง่ายที่สุดในการควบคุมการสั่งซื้อเมาท์อีกครั้ง


4

ฉันอาจพิจารณาตั้งค่าสคริปต์ที่เมาท์ดิสก์ตัวที่สองหลังจากที่สคริปต์การเมาต์ถูกเรียกใช้ ใน Ubuntu initd เป็นบริการที่จะเริ่มต้นขึ้น componets ทั้งหมดของระบบปฏิบัติการของคุณและเรียกว่าพุ่งพรวด

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

สคริปต์การเมาท์จะถูกเก็บไว้ในไดเร็กทอรี / etc / init / ฉันจะเพิ่มสคริปต์เมานต์เพิ่มเติมของคุณที่นั่นเช่นกัน ดูคำอธิบายของกระบวนการเริ่มต้น ไซต์นั้นอาจช่วยให้คุณจ้องสคริปต์ของคุณได้เร็วที่สุด

คุณต้องเริ่มหัวข้อในสคริปต์ของคุณเอง ดูหัวข้อนี้เพื่อเริ่มงานหลังจากที่งานอื่นเสร็จสิ้น

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


4

อูบุนตูใช้ในเวลาบูตไม่ได้mountall mount -aMountall รอให้อุปกรณ์ที่อยู่ข้างใต้ปรากฏขึ้นจากนั้นติดตั้ง fs บนอุปกรณ์เหล่านั้นทันทีเว้นแต่ fs ที่เมาท์อยู่นั้นยังไม่ได้ทำการเมานท์จากนั้นจะรอ fs นั้น

คุณควรจะได้รับการสั่งซื้อที่คุณต้องการโดยการตั้งค่าจุดเชื่อมต่อของระบบไฟล์ทั้ง 3 เพื่อให้พวกเขาซ้อนกันภายใต้อื่น ๆ แทนที่จะติดตั้งทั้งสามใน /home/.something ให้ใส่อันแรกใน /home/.x และอันที่สองใน /home/.x/.y และอันที่สามใน /home/.x/.y/ อัด Z


4

Systemd ได้รวมตัวเลือกการพึ่งพาซึ่งบังคับให้มีการสั่งซื้อ ในกรณีของคุณเพิ่มอาร์กิวเมนต์ fstab:

x-systemd.requires-mounts-for=/,x-systemd.requires-mounts-for=/home/.hdd

ตัวเลือก noauto จะไม่ทำงานหากคุณต้องการติดตั้งระบบไฟล์ที่เมาท์อื่น ๆ ในกรณีของฉันการทำงานด้านบนดูคอมมิชชันhttps://github.com/systemd/systemd/commit/3519d230c8bafe834b2dac26ace49fcfba139823สำหรับรายละเอียดเพิ่มเติม


การอ้างอิงที่ดี คุณสามารถบอกได้ว่าอะไรคือความแตกต่างระหว่างrequires-mounts-forและrequires?
อันวาร์

ดูเหมือนว่าx-systemd.requiresจะทำในสิ่งเดียวกัน! ไม่รู้ว่าทำไมมีสองตัวเลือก
Anwar

1

ตามman fstabที่showthroughตัวเลือกอาจจะมีสิ่งที่คุณกำลังมองหา ลองตั้งค่าเป็น / home / ak และดูว่าใช้งานได้หรือไม่

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


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