<ก่อนหน้านี้ | Contents | ถัดไป>
การกำหนดชื่ออุปกรณ์
บางครั้งการระบุชื่ออุปกรณ์ทำได้ยาก ในสมัยก่อนนั้นไม่ยากนัก อุปกรณ์อยู่ในที่เดียวกันเสมอและไม่เปลี่ยนแปลง ระบบที่เหมือนยูนิกซ์ก็เป็นเช่นนั้น ย้อนกลับไปเมื่อ Unix ได้รับการพัฒนา “การเปลี่ยนดิสก์ไดรฟ์” เกี่ยวข้องกับการใช้รถยกเพื่อถอดอุปกรณ์ขนาดเท่าเครื่องซักผ้าออกจากห้องคอมพิวเตอร์ ในช่วงไม่กี่ปีที่ผ่านมา การกำหนดค่าฮาร์ดแวร์เดสก์ท็อปโดยทั่วไปมีไดนามิกค่อนข้างมากและ Linux ได้พัฒนาให้มีความยืดหยุ่นมากกว่ารุ่นก่อน
ในตัวอย่างข้างต้น เราได้ใช้ประโยชน์จากความสามารถของเดสก์ท็อป Linux รุ่นใหม่ในการ "ติดตั้งอุปกรณ์โดยอัตโนมัติ" จากนั้นจึงกำหนดชื่อตามความเป็นจริง แต่ถ้าเรากำลังจัดการเซิร์ฟเวอร์หรือสภาพแวดล้อมอื่นที่ไม่เกิดเหตุการณ์เช่นนี้ล่ะ เราจะคิดออกได้อย่างไร?
ก่อนอื่น มาดูว่าระบบตั้งชื่ออุปกรณ์อย่างไร หากเราแสดงรายการเนื้อหาของ / dev ไดเร็กทอรี (ที่ซึ่งอุปกรณ์ทั้งหมดอาศัยอยู่) เราจะเห็นว่ามีอุปกรณ์มากมาย:
[me@linuxbox ~]$ ls /dev
[me@linuxbox ~]$ ls /dev
เนื้อหาของรายชื่อนี้เปิดเผยรูปแบบการตั้งชื่ออุปกรณ์บางส่วน นี่คือบางส่วน:
ตารางที่ 15-2: ชื่ออุปกรณ์จัดเก็บข้อมูล Linux
รูปแบบอุปกรณ์
รูปแบบอุปกรณ์
/dev/fd* ฟลอปปีดิสก์ไดรฟ์
/dev/hd* IDE (PATA) ดิสก์บนระบบที่เก่ากว่า เมนบอร์ดทั่วไปมีคอนเน็กเตอร์ IDE สองตัวหรือ ช่องแต่ละตัวมีสายเคเบิลที่มีจุดยึดสองจุดสำหรับไดรฟ์ ไดรฟ์แรกบนสายเคเบิลเรียกว่า เจ้านาย อุปกรณ์และที่สองเรียกว่า ทาส อุปกรณ์. ชื่ออุปกรณ์เรียงตามลำดับว่า /dev/hda หมายถึงอุปกรณ์หลักในช่องแรก /dev/hdb เป็นอุปกรณ์สเลฟในช่องแรก /dev/hdc, อุปกรณ์หลักในช่องที่สอง เป็นต้น ตัวเลขต่อท้ายระบุหมายเลขพาร์ติชั่นบนอุปกรณ์ ตัวอย่างเช่น, /ผู้พัฒนา/hda1 หมายถึงพาร์ติชั่นแรกบนฮาร์ดไดรฟ์ตัวแรกบนระบบในขณะที่
/dev/hda หมายถึงทั้งไดรฟ์
/dev/lp* เครื่องพิมพ์
/dev/sd* ดิสก์ SCSI ในระบบ Linux สมัยใหม่ เคอร์เนลจะจัดการกับอุปกรณ์ที่เหมือนดิสก์ทั้งหมด (รวมถึงฮาร์ดดิสก์ PATA/SATA, แฟลชไดรฟ์ และอุปกรณ์จัดเก็บข้อมูล USB เช่น เครื่องเล่นเพลงแบบพกพา และกล้องดิจิตอล) เป็นดิสก์ SCSI ส่วนที่เหลือของระบบการตั้งชื่อจะคล้ายกับที่เก่ากว่า /dev/hd* รูปแบบการตั้งชื่อที่อธิบายไว้ข้างต้น
/dev/sr* ออปติคัลไดรฟ์ (เครื่องอ่านและเครื่องเขียนซีดี/ดีวีดี)
นอกจากนี้ เรามักจะเห็นลิงก์สัญลักษณ์ เช่น /dev/cdrom, /dev/ดีวีดีและ
/dev/floppy ซึ่งชี้ไปที่ไฟล์อุปกรณ์จริง มีให้เพื่อความสะดวก
หากคุณกำลังทำงานบนระบบที่ไม่ได้ต่อเชื่อมอุปกรณ์แบบถอดได้โดยอัตโนมัติ คุณสามารถใช้เทคนิคต่อไปนี้เพื่อกำหนดวิธีการตั้งชื่ออุปกรณ์แบบถอดได้เมื่อเชื่อมต่อ ขั้นแรก ให้เริ่มดูแบบเรียลไทม์ของ / var / log / ข้อความ or
/var/log/syslog ไฟล์ (คุณอาจต้องการสิทธิ์ superuser สำหรับสิ่งนี้):
[me@linuxbox ~]$ sudo tail -f /var/log/messages
[me@linuxbox ~]$ sudo tail -f /var/log/messages
สองสามบรรทัดสุดท้ายของไฟล์จะแสดงขึ้นแล้วหยุดชั่วคราว ถัดไป เสียบอุปกรณ์ที่ถอดออกได้ ในตัวอย่างนี้ เราจะใช้แฟลชไดรฟ์ 16 MB เกือบจะในทันที เคอร์เนลจะสังเกตเห็นอุปกรณ์และสอบสวน:
23 ก.ค. 10:07:53 น. เคอร์เนล linuxbox: usb 3-2: อุปกรณ์ USB ความเร็วสูงใหม่โดยใช้ uhci_hcd และที่อยู่ 2
23 ก.ค. 10:07:53 น. เคอร์เนล linuxbox: usb 3-2: การกำหนดค่า #1 เลือก
จาก 1 ตัวเลือก
23 ก.ค. 10:07:53 น. เคอร์เนล linuxbox: scsi3 : การจำลอง SCSI สำหรับอุปกรณ์ USB Mass Storage
23 ก.ค. 10:07:58 น. linuxbox kernel: scsi scan: INQUIRY ผลลัพธ์สั้นเกินไป (5) ใช้ 36
23 ก.ค. 10:07:58 น. linuxbox kernel: scsi 3:0:0:0: Direct-Access Easy
ดิสก์ 1.00 PQ: 0 ANSI: 2
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] 31263 512-byte ภาคฮาร์ดแวร์ (16 MB)
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] Write Protect ปิดอยู่
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] สมมติว่าแคชของไดรฟ์: เขียนผ่าน
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] 31263 512-byte ภาคฮาร์ดแวร์ (16 MB)
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] Write Protect ปิดอยู่
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] สมมติว่าแคชของไดรฟ์: เขียนผ่าน
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sdb: sdb1
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] ดิสก์แบบถอดได้ SCSI ที่แนบมา
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: แนบ scsi ทั่วไป sg3 ประเภท 0
23 ก.ค. 10:07:53 น. เคอร์เนล linuxbox: usb 3-2: อุปกรณ์ USB ความเร็วสูงใหม่โดยใช้ uhci_hcd และที่อยู่ 2
23 ก.ค. 10:07:53 น. เคอร์เนล linuxbox: usb 3-2: การกำหนดค่า #1 เลือก
จาก 1 ตัวเลือก
23 ก.ค. 10:07:53 น. เคอร์เนล linuxbox: scsi3 : การจำลอง SCSI สำหรับอุปกรณ์ USB Mass Storage
23 ก.ค. 10:07:58 น. linuxbox kernel: scsi scan: INQUIRY ผลลัพธ์สั้นเกินไป (5) ใช้ 36
23 ก.ค. 10:07:58 น. linuxbox kernel: scsi 3:0:0:0: Direct-Access Easy
ดิสก์ 1.00 PQ: 0 ANSI: 2
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] 31263 512-byte ภาคฮาร์ดแวร์ (16 MB)
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] Write Protect ปิดอยู่
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] สมมติว่าแคชของไดรฟ์: เขียนผ่าน
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] 31263 512-byte ภาคฮาร์ดแวร์ (16 MB)
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] Write Protect ปิดอยู่
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] สมมติว่าแคชของไดรฟ์: เขียนผ่าน
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sdb: sdb1
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] ดิสก์แบบถอดได้ SCSI ที่แนบมา
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: แนบ scsi ทั่วไป sg3 ประเภท 0
หลังจากที่จอแสดงผลหยุดชั่วคราวอีกครั้ง ให้กด Ctrl-c เพื่อรับข้อความแจ้งกลับ ส่วนที่น่าสนใจของเอาต์พุตคือการอ้างอิงซ้ำๆ ถึง "[sdb]" ซึ่งตรงกับความคาดหวังของเราเกี่ยวกับชื่ออุปกรณ์ดิสก์ SCSI เมื่อรู้อย่างนี้แล้ว เส้นสองเส้นก็สว่างขึ้นเป็นพิเศษ:
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sdb: sdb1
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] ดิสก์แบบถอดได้ SCSI ที่แนบมา
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sdb: sdb1
23 ก.ค. 10:07:59 น. เคอร์เนล linuxbox: sd 3:0:0:0: [sdb] ดิสก์แบบถอดได้ SCSI ที่แนบมา
สิ่งนี้บอกเราว่าชื่ออุปกรณ์คือ dev / sdb / สำหรับอุปกรณ์ทั้งหมดและ / dev / sdb1 สำหรับพาร์ติชั่นแรกบนอุปกรณ์ ดังที่เราได้เห็น การทำงานกับ Linux เต็มไปด้วยงานนักสืบที่น่าสนใจ!
เคล็ดลับ: การใช้ หาง -f / var / log / ข้อความ เทคนิคเป็นวิธีที่ดีในการดูว่าระบบกำลังทำอะไรในแบบเรียลไทม์
ด้วยชื่ออุปกรณ์ของเรา เราจึงสามารถติดตั้งแฟลชไดรฟ์ได้:
[me@linuxbox ~]$ sudo mkdir /mnt/แฟลช [me@linuxbox ~]$ sudo เมานต์ /dev/sdb1 /mnt/flash [me@linuxbox ~]$ df
ระบบแฟ้ม | 1K-บล็อก | เคย | Available | ใช้% | ติดตั้งบน |
/ dev / sda2 | 15115452 | 5186944 | 9775164 | 35% | / |
/ dev / sda5 | 59631908 | 31777376 | 24776480 | 57% | / หน้าแรก |
/ dev / sda1 | 147764 | 17277 | 122858 | 13% | / boot |
tmpfs | 776808 | 0 | 776808 | 0% | /dev/shm |
/ dev / sdb1 | 15560 | 0 | 15560 | 0% | /mnt/แฟลช |
ชื่ออุปกรณ์จะยังเหมือนเดิมตราบเท่าที่ยังคงติดอยู่กับคอมพิวเตอร์และไม่ได้รีบูตคอมพิวเตอร์