การติดตั้งดิสก์ USB ในตำแหน่งถาวร


13

ฉันมีฮาร์ดไดรฟ์ USB ที่ฉันต้องการที่จะติดตั้งในการบูตและในสถานที่เฉพาะ ฉันจะทำให้ไดรฟ์นั้นติดตั้งและใช้งานได้ต่อไป (พูดเพื่อสำรองข้อมูลในเครื่องและอื่น ๆ ) แม้ว่าจะไม่มีใครลงชื่อเข้าใช้

ดูเหมือนว่า udev หรือสิ่งที่คล้ายกันคว้าดิสก์ หากฉันใส่รายการใน / etc / fstab ที่พยายามเมานต์ดิสก์นี้โดยเฉพาะ (โดย UUID) แสดงว่ากระบวนการเมานท์และกระบวนการเมานต์ udev ดูเหมือนจะจบลงด้วยการต่อสู้กันเองและดิสก์ไม่ได้ถูกเมาท์


คุณสามารถเพิ่มบรรทัดที่คุณเพิ่มเข้าไปได้/etc/fstabไหม? มีข้อความบันทึกใด ๆ เมื่อคุณเสียบไดรฟ์ อาจช่วยเพิ่มระดับการบันทึก/etc/udev/udev.confได้
qbi

fstab line คุณเป็นอย่างไร มันควรมีลักษณะอย่างนี้ "UUID = 48a26dbe-e707-4e45-bd55-fc7936292ee1 / ข้อผิดพลาด ext4 ข้อมูล = remount-ro 0 2"
LassePoulsen

คำตอบ:


7

เมานต์ดิสก์โดยใช้ udev วางกฎจากวิกินี้ลงใน/etc/udev/user.rulesและรีบูต (หรือเชื่อมต่อ USB HDD ใหม่) มีกฎหลายข้อใน wiki (นั่นคือสาเหตุที่ฉันไม่ได้แสดงรายการไว้ที่นี่) เลือกอันที่เหมาะสมกับความต้องการของคุณมากที่สุด (เช่นคุณต้องการผู้ใช้ปกติที่เฉพาะเจาะจงเพื่อให้สามารถยกเลิกการต่อเชื่อมได้)

การอ่าน/lib/udev/rules.d/80-udisks.rulesจะช่วยให้คุณเข้าใจสิ่งที่ udev ทำกับฮาร์ดดิสก์ของคุณ

นอกเหนือจากกฎของ udev ที่ฉันกล่าวถึงข้างต้นฉันคิดว่ามีวิธีอื่นที่คุณสามารถทำได้: สั่ง udisks (ผ่าน udev) เพื่อปล่อยดิสก์ของคุณไว้ตามลำพังจากนั้นติดตั้งผ่าน fstab

รหัสนี้ใช้ได้กับระบบของฉัน

ACTION!="add|change", GOTO="my_udisks_end"
SUBSYSTEM!="block", GOTO="my_udisks_end"

ENV{ID_TYPE}!="disk", GOTO="my_udisks_end"
ENV{ID_BUS}!="ata", GOTO="my_udisks_end"
ENV{DEVTYPE}!="partition", GOTO="my_udisks_end"

KERNEL=="sd*|hd*", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"

LABEL="my_udisks_end"

แต่เป็นแบบทั่วไปและรวมพาร์ติชันทั้งหมด เพื่อให้สามารถกำหนดเป้าหมายการใช้ hdd / พาร์ติชันของคุณโดยเฉพาะudevadm info --query=all -n /dev/sdXแล้วจับคู่กับแอททริบิวต์เหล่านั้นในกฎ udev

ทรัพยากรที่ดีที่จะช่วยคุณในเรื่องนี้เป็นกฎการเขียน udev น่าเสียดายที่มันมีข้อมูลที่ล้าสมัย ( udevinfoถูกแทนที่ด้วยudevadm indo) ฉันขอยืนยันกับคุณว่ามันคุ้มค่าที่จะอ่าน - udev เป็นสถาปัตยกรรมชิ้นสำคัญในทุกวันนี้และคุณสามารถใช้มันได้สำเร็จ มันยังค่อนข้างยืดหยุ่น

นอกจากนี้ยังง่ายต่อการทำผิดพลาดในกฎของ udev :) ใช้udevadm test $(udevadm info -q path -n /dev/sdX)เพื่อ 'มอง' ในสิ่งที่ udev ทำ


น่ากลัว มันดูเหมือนสิ่งที่ฉันกำลังมองหา ดูเหมือนว่าฉันมีการอ่านทำ ...
Don Faulkner

1

คุณสามารถลองอ้างอิงโดย / dev / ... แทนที่จะเป็น UUID เป็นไปได้มากที่สุด / dev / sdb * คุณสามารถตรวจสอบสิ่งนี้ได้โดยไปที่ System -> Administration -> System Monitor และคลิกที่แท็บ 'ระบบไฟล์' คุณจะต้องเสียบไดรฟ์ USB ก่อนแล้วปล่อยให้ติดตั้งอัตโนมัติ แทนที่ 'UUID = uuid' ด้วย '/ dev / sdb *' ใน / etc / fstab เป็นความคิดที่ดีที่จะสำรองข้อมูล fstab ก่อนทำการแก้ไข


4
การอ้างอิงอุปกรณ์จัดเก็บข้อมูลขนาดใหญ่โดยตรงกับอุปกรณ์ - โหนดเป็นความคิดที่ไม่ดี! การตั้งค่า BIOS และอุปกรณ์ที่นำออกอาจทำให้การสั่งซื้ออุปกรณ์ผิดพลาด
LassePoulsen

คุณอาจพูดถูก แต่ฉันรู้สึกว่า UUID ได้รับการสร้างขึ้นใหม่ทุกครั้งที่มีการถอดอุปกรณ์ USB และเสียบกลับเข้าไปซึ่งหมายความว่า fstab จะต้องแก้ไขทุกครั้งที่เอาอุปกรณ์ออกและเสียบกลับเข้าไปใหม่อีกครั้ง
dv3500ea

ที่จริงฉันผิด UUID ยังคงเหมือนเดิม
dv3500ea

3
UUID เป็น ID เฉพาะของระบบไฟล์และไม่ได้เกี่ยวข้องกับตำแหน่งบัสหรืออุปกรณ์ มันจะอยู่รอดได้ถ้าคุณคัดลอกทั้งระบบไฟล์จากอุปกรณ์หนึ่งไปยังอุปกรณ์อื่น
LassePoulsen

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