มีวิธีใดที่จะติดตั้งระบบไฟล์โดยอัตโนมัติเมื่อฉันเปิดลิงก์สัญลักษณ์ไปยังไดเรกทอรีในระบบไฟล์นั้น


21

ฉันกำลังใช้ Arch กับ Xfce

เมื่อเร็ว ๆ นี้ฉันได้สร้างลิงก์สัญลักษณ์ไปยังไดเรกทอรีบนระบบไฟล์

แต่ฉันไม่ต้องการที่จะติดตั้งระบบไฟล์ในระหว่างการบูตหรือติดตั้งด้วยตนเองก่อนที่ฉันจะเปิดลิงก์สัญลักษณ์

มีอยู่หรือไม่ที่จะติดตั้งระบบไฟล์นั้นโดยอัตโนมัติเมื่อฉันเปิดลิงก์สัญลักษณ์ไปยังไดเรกทอรีบนระบบไฟล์นั้น

คำตอบ:


23

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

ไม่ต้องสงสัยเลยว่ามีวิธีการใช้ที่autofsหลากหลาย แต่นี่เป็นวิธีหนึ่งในการทำสิ่งที่คุณพยายามทำโดยใช้วิธีที่ฉันเคยใช้

คุณเริ่มต้นด้วยไดเรกทอรีซึ่งจะมีจำนวนautofsจุดเชื่อมต่อ (ดีอย่างน้อยหนึ่ง); /miscพูด คุณไม่จำเป็นต้องสร้างมัน แต่คุณต้องสร้างไฟล์กำหนดค่าซึ่งจะอธิบายระบบไฟล์ทั้งหมดที่คุณต้องการติดตั้งที่นั่น ตัวอย่างเช่นฉันสามารถติดตั้งซีดีดีวีดีและ Blu-Rays ด้วยไฟล์ต่อไปนี้ซึ่งบันทึกเป็น/etc/auto.misc:

cd              -fstype=iso9660,ro,nosuid,nodev    :/dev/cdrom
br              -fstype=udf,ro,nosuid,nodev        :/dev/cdrom

ไวยากรณ์ทั่วไปคือจุดเมานต์ตามด้วยตัวเลือกใด ๆ ที่แนะนำโดย-จากนั้นจุดยึดที่แนะนำโดย:บนระบบโลคัล (ฉันลดความซับซ้อนที่นี่ดูautofs(5)รายละเอียด manpage)

จากนั้นไฟล์นี้จะถูกเปิดใช้งานโดยเพิ่มรายการใน/etc/auto.master:

/misc   /etc/auto.misc

รีสตาร์ทautofsด้วย

sudo service autofs restart

และคุณควรจะสามารถทำงานได้

ls /misc/cd

และดูเนื้อหาของซีดีใด ๆ ในไดรฟ์ของคุณ (เห็นได้ชัดว่าแทนที่ชื่อและเป้าหมายการเมานต์ด้วยสิ่งที่เหมาะสมในกรณีของคุณ)

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

ln -s /misc/br blu-ray

สร้างblu-rayลิงก์ทุกที่ที่คำสั่งรัน คุณสามารถลิงค์เพิ่มเติมเข้าสู่ระบบไฟล์ได้เช่นกัน

ln -s /misc/br/BDMV autolinktest

สร้างautolinktestลิงค์ไปยังเนื้อหาภาพยนตร์ การเข้าถึงลิงก์จะเมานต์ระบบไฟล์เป้าหมาย


12

คุณสามารถทำได้ด้วยsystemdดังนั้นคุณไม่จำเป็นต้องติดตั้งซอฟต์แวร์เพิ่มเติมและมีการกำหนดค่าเพิ่มเติมเล็กน้อย

เพียงแค่เพิ่มตัวเลือกในnoauto,x-systemd.automountfstab

noautoเพื่อไม่เมานต์โดยอัตโนมัติเมื่อบูตและx-systemd.automountเพื่อให้ systemd เมานต์เมื่อเข้าถึง

หลังจากเพิ่ม x-systemd.automount ไปยังfstabบรรทัดคุณต้องรัน:

  sudo systemctl daemon-reload

แล้วอย่างใดอย่างหนึ่งหรือทั้งสองอย่างของต่อไปนี้:

  sudo systemctl restart remote-fs.target
  sudo systemctl restart local-fs.target

จากนั้นระบบจะเปิดใช้งานและใช้งานได้อัตโนมัติ

ที่มา: ArchWiki - fstab

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