ติดตั้งไดรฟ์ภายนอกโดยอัตโนมัติภายใต้ / สื่อด้วยการเข้าถึงเพื่ออ่าน / เขียนสำหรับทุกคน


9

นี่คือปัญหาของฉัน:

คอมพิวเตอร์ของฉันมีพอร์ต USB 4 พอร์ตและใช้งาน Ubuntu 12.10 ฉันได้รับ USB ที่แตกต่างกันทุกวันเชื่อมต่อกับคอมพิวเตอร์อ่าน / เขียนข้อมูลไปยังพวกเขาแล้วส่งออกไป

สิ่งที่ฉันต้องการคือการเชื่อมต่อ USB ใด ๆ ที่ฉันเสียบเข้ากับคอมพิวเตอร์ของฉันโดยอัตโนมัติ USB ที่ตรวจพบครั้งแรกจะไป/media/HDD1ที่สองจะไป/media/HDD2และอื่น ๆ หรือจะดีกว่านี้หากเสียบ USB เข้ากับพอร์ต 1 จะไปที่/media/HDD1พอร์ต USB ที่เชื่อมต่อกับพอร์ต 2 จะไป/media/HDD2เรื่อย ๆ

เส้นทาง/mediaไม่สำคัญ แต่ฉันต้องการไดเรกทอรี HDD1-4 ในที่เดียวเพื่อให้สามารถเข้าถึงได้ง่าย

โดยปกติแล้ว USB มักจะเป็น ext2 แต่บางครั้งฉันก็รับ FAT32, NTFS USB ด้วยเช่นกัน

ฉันยังต้องการให้ติดตั้ง USB โดยไม่ต้องเข้าสู่ Ubuntu เพราะฉันมักจะเข้าถึง/media/HDD..จากคอมพิวเตอร์ Windows เครื่องอื่น

ฉันจะทำสิ่งนั้นได้อย่างไร ฉันควรเปลี่ยนแปลงudevกฎfstabอะไรบ้าง ข้อเสนอแนะใด ๆ ที่ชื่นชมอย่างมาก

คำตอบ:


7

ทีนี้เราสามารถใช้กลอุบายแบบเดียวกันกับที่fstabใช้กับสื่อออปติคัล (เช่นซีดีและดีวีดี):

/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0

คอลัมน์แรกบ่งชี้ว่าระบบแฟ้มฉันค่าแน่ใจว่าของ USB ของคุณจะมีการแก้ไขเพื่อช่วยให้เข้าใจว่าทุกอย่างหลังจากsdaเป็น USB และตั้งแต่คุณสามารถมีเพียง 4 USB ในเวลาเดียวกันรายการไปจากsdb, sdc, และsddsde

$ ls /dev/sd*
/dev/sda   /dev/sdb   /dev/sdb3  /dev/sdb6  /dev/sdc  /dev/sdf
/dev/sda1  /dev/sdb1  /dev/sdb4  /dev/sdb7  /dev/sdd
/dev/sda2  /dev/sdb2  /dev/sdb5  /dev/sdb8  /dev/sde

(ในกรณีของฉันฉันใช้ตัวอ่านหน่วยความจำดังนั้นไดรเวอร์ USB ของฉันจึงเริ่มต้นจากsdgแต่ให้ทำต่อไป)

ตอนนี้เราสมมติว่า USB แต่ละตัวมีพาร์ติชั่นเพียงหนึ่งพาร์ติชั่นดังนั้นบรรทัดที่เราต้องการfstabคือ:

/dev/sdb1
/dev/sdc1
/dev/sdd1
/dev/sde1

จากนั้นคุณบอกว่าจุดยึดของคุณจะต้องได้รับการแก้ไขดังนั้นหลังจากที่คุณสร้างไดเรกทอรีแล้วให้เพิ่ม:

/dev/sdb1 /media/HDD1
/dev/sdc1 /media/HDD2
/dev/sdd1 /media/HDD3
/dev/sde1 /media/HDD4

เนื่องจากคุณสามารถมีระบบไฟล์ได้เกือบทุกประเภทให้ใช้autofstab เพื่อคาดเดาประเภทไฟล์ที่จะใช้:

/dev/sdb1 /media/HDD1 auto
/dev/sdc1 /media/HDD2 auto
/dev/sdd1 /media/HDD3 auto
/dev/sde1 /media/HDD4 auto

ตกลงตอนนี้ให้ต้มลงไปที่ตัวเลือกซึ่งจะเหมือนกันมากสำหรับซีดีที่มีการบวก / อ่าน / เขียนสิทธิ์:

/dev/sdb1 /media/HDD1 auto rw,users,noauto,allow_other,umask=0
/dev/sdc1 /media/HDD2 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD3 auto rw,users,noauto,allow_other,umask=0
/dev/sde1 /media/HDD4 auto rw,users,noauto,allow_other,umask=0

rwบอกว่าเราต้องการสิทธิ์ในการอ่านและเขียนอนุญาตusersให้ผู้ใช้เมานท์อุปกรณ์noautoป้องกันการติดตั้งไดรเวอร์โดยอัตโนมัติเมื่อmount -aมีการโทรเช่นการบู๊ตป้องกันข้อผิดพลาดในการบู๊ตและคำเตือนallow_otherอนุญาตให้ผู้อื่น แต่ผู้ใช้ที่เมาท์ไดรเวอร์ มีสิทธิ์เหมือนกันและumask=0ป้องกันไม่ให้ค่าเริ่มต้น umask ถูกนำไปใช้

ตอนนี้เหลือเพียง 2 ฟิลด์เท่านั้นที่เกี่ยวกับการdumpสั่งซื้อและการfsckสั่งซื้อซึ่งอาจเป็น0ทั้งสองอย่างทำให้เราได้ผลลัพธ์สุดท้าย:

/dev/sdb1 /media/HDD1 auto rw,user,noauto,allow_other 0 0
/dev/sdc1 /media/HDD2 auto rw,user,noauto,allow_other 0 0
/dev/sdd1 /media/HDD3 auto rw,user,noauto,allow_other 0 0
/dev/sde1 /media/HDD4 auto rw,user,noauto,allow_other 0 0

ด้วยวิธีนี้ทุกครั้งที่คุณเสียบอุปกรณ์ USB อุปกรณ์นั้นจะถูกเมาท์แบบอัตโนมัติในจุดเมานท์โดยไม่มีการแทรกแซงจากผู้ใช้ คุณควรปรับเปลี่ยนตามความจำเป็นของคุณ


ขอบคุณ Braiam ฉันไม่แน่ใจว่าการเปลี่ยน fstab สามารถเชื่อมต่อ USB โดยอัตโนมัติโดยไม่ต้องรีบูตหรือใช้คำสั่ง "mount" ฉันพบวิธีง่ายๆในการใช้ autofs ไม่เพียง แต่จะติดตั้งอัตโนมัติ แต่ยังรองรับการยกเลิกการต่อเชื่อมอัตโนมัติหลังจากเวลาที่กำหนดไว้ล่วงหน้าที่ไม่มีการดำเนินการใด ๆ ซึ่งเป็นประโยชน์อย่างมากในกรณีของฉัน
Kiwi

ไม่เลย อย่างที่ฉันบอกไว้ตอนต้นฉันใช้เคล็ดลับ fstab แบบเดียวกันกับ CD / DVD ที่ไม่ต้องใช้rootหรือmountไม่รีสตาร์ท
Braiam

3

นี่คือวิธีแก้ปัญหาที่ฉันพบ:

ก่อนอื่นฉันติดตั้ง autofs บน linux PC ของฉัน:

sudo apt-get install autofs

มันจะสร้างไฟล์ auto.master ภายใต้ /etc/auto.master

เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์นั้น:

/media/mount /etc/auto.mount --timeout=10 --ghost

/media/mountเป็นไดเรกทอรีที่ฉันต้องการติดตั้งไดรฟ์ภายนอกทั้งหมดเข้าไป /etc/auto.mountเป็นไฟล์ที่จะนำไปสู่กฎการติดตั้ง --timeout=10หมายความว่ามันจะยกเลิกการต่อเชื่อมไดรฟ์โดยอัตโนมัติหลังจากไม่มีการใช้งาน 10 วินาที --ghostหมายความว่ามันยังคงออกจากภาพของเนื้อหาเมื่อไม่ได้ต่อเชื่อม เปลี่ยนบรรทัดนี้ตามความต้องการของคุณ

แก้ไข/etc/auto.mountไฟล์และเพิ่มบรรทัดต่อไปนี้:

disk1  -fstype=auto,sync  :/dev/sdc1
disk2  -fstype=auto,sync  :/dev/sdd1
disk3  -fstype=auto,sync  :/dev/sde1
disk4  -fstype=auto,sync  :/dev/sdf1
disk5  -fstype=auto,sync  :/dev/sdg1
disk6  -fstype=auto,sync  :/dev/sdh1
disk7  -fstype=auto,sync  :/dev/sdi1
disk8  -fstype=auto,sync  :/dev/sdj1
DVD    -fstype=iso9660,ro :/dev/sr0

สำหรับไดรฟ์ปกติเช่น USB หรือ eSATA -fstype=auto,syncชุด ฉันมีพอร์ต USB + eSATA 8 พอร์ตดังนั้นฉันจึงประกาศจุดเชื่อมต่อ 8 จุดที่นี่ พีซีของฉันมีอยู่แล้วsdaและsdbเป็นดิสก์ภายในเครื่องดังนั้นฉันจึงใส่sdc1-> sdj1สำหรับอุปกรณ์ภายนอก จริงๆแล้วมันคือโหนดอุปกรณ์ใน/devเมื่อคุณเสียบไดรฟ์ของคุณข้อยกเว้นของกฎการติดตั้งคือการติดตั้ง DVD ตามที่คุณเห็นด้านบน

เมื่อฉันใส่ไดรฟ์ใด ๆ พวกเขาจะปรากฏเป็น disk1, disk2, ... ภายใต้/media/mountไดเรกทอรีและจะยกเลิกการเมานต์โดยอัตโนมัติหลังจาก 10 วินาที ฉันไม่จำเป็นต้องแตะพีซีของฉันและสามารถเข้าถึงได้จากที่อื่น (เช่นเครื่องเสมือน)

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