19.5. USB хадгалалтын төхөөрөмжүүд

Хувь нэмэр болгон оруулсан Марк Фонвил.

Одоо үед маш олон гадаад хадгалалтын шийдлүүд байгаа бөгөөд Universal Serial Bus (USB): хатуу хөтчүүд, USB хуруун хөтчүүд, CD-R шарагчид зэргийг ашигладаг. FreeBSD нь эдгээр төхөөрөмжүүдийн дэмжлэгийг хангадаг.

19.5.1. Тохиргоо

USB бөөн хадгалалтын төхөөрөмжүүдийн драйвер umass(4) нь USB хадгалалтын төхөөрөмжүүдийн дэмжлэгийг хангадаг. Хэрэв та GENERIC цөм ашиглавал өөрийн тохиргоондоо юу ч өөрчлөх шаардлагагүй. Хэрэв та өөрчлөн тохируулсан цөм ашиглах бол таны цөмийн тохиргооны файлд дараах мөрүүд байгаа эсэхийг шалгаарай:

device scbus
device da
device pass
device uhci
device ohci
device ehci
device usb
device umass

umass(4) драйвер нь USB хадгалалтын төхөөрөмжүүдэд хандахын тулд SCSI дэд системийг хэрэглэдэг бөгөөд таны USB төхөөрөмж системд SCSI төхөөрөмж маягаар харагдах болно. Таны эх хавтан дээрх USB бичил схемээс хамаарч USB 1.X-ийн дэмжлэгийн хувьд танд зөвхөн device uhci эсвэл device ohci хоёрын аль нэг хэрэгтэй болно, гэхдээ хоёуланг нь цөмийн тохиргоондоо байлгах нь гэмгүй юм. USB 2.0 хянагчуудад зориулсан дэмжлэгийг ehci(4) драйвер (device ehci мөр) хангадаг. Хэрэв та ямар нэг мөр нэмсэн бол шинэ цөмөө эмхэтгэж суулгахаа битгий мартаарай.

Тэмдэглэл: Хэрэв таны USB төхөөрөмж чинь CD-R эсвэл DVD шарагч бол SCSI CD-ROM драйвер cd(4)-г цөмд дараах мөрийн тусламжтай нэмэх ёстой:

device cd

Шарагч нь SCSI хөтөч гэж харагддаг учир atapicam(4) драйверийг цөмийн тохиргоонд ашиглах ёсгүй.

19.5.2. Тохиргоог тест хийх нь

Тохиргоог тест хийхэд бэлэн боллоо: өөрийн USB төхөөрөмжийг залгахад системийн мэдэгдлийн буферт (dmesg(8)) хөтөч нь иймэрхүү харагдах ёстой:

umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)

Мэдээж хэрэг үйлдвэрлэгч, төхөөрөмжийн цэг (da0) болон бусад зүйлс таны тохиргооноос хамаараад өөр байж болно.

USB төхөөрөмж нь SCSI төхөөрөмж гэж харагддаг болохоор camcontrol тушаалыг ашиглаж системд холбогдсон USB хадгалалтын төхөөрөмжүүдийн жагсаалтыг харуулж болно:

# camcontrol devlist
<Generic Traveling Disk 1.11>      at scbus0 target 0 lun 0 (da0,pass0)

Хэрэв хөтөч нь файлын системтэй ирвэл та түүнийг холбож чадна. Хэсэг 19.3 хэсэг нь хэрэв шаардлагатай бол USB хөтчийг хэлбэршүүлж түүн дээр хуваалт үүсгэхэд танд туслах болно.

Сануулга: Дурын төхөөрөмжийг итгэлгүй хэрэглэгчдэд холбох боломжийг олгох нь өөрөөр хэлбэл vfs.usermount-ийг доор тайлбарласнаар идэвхжүүлэх нь аюулгүй байдлын үүднээс авч үзвэл аюултай юм. FreeBSD дээрх ихэнх файлын систем нь хортой төхөөрөмжийн эсрэг хамгаалалтгүй байдаг.

Энэ төхөөрөмжийг энгийн хэрэглэгч холбож чаддагаар болгохын тулд тодорхой алхмуудыг хийх хэрэгтэй. Эхлээд USB хадгалалтын төхөөрөмж холбогдсон үед үүссэн төхөөрөмжүүдэд хэрэглэгч хандаж болохоор байх хэрэгтэй. Үүний шийдэл нь эдгээр төхөөрөмжүүдийн бүх хэрэглэгчдийг operator бүлгийн гишүүн болгох явдал юм. Үүнийг pw(8)-ээр хийнэ. Хоёрдугаарт төхөөрөмжүүд нь үүсэх үед operator бүлэг тэдгээрийг уншиж бичиж чадаж байх ёстой. Тохирох мөрүүдийг /etc/devfs.rules файлд нэмснээр үүнийг хийж болно:

[localrules=5]
add path 'da*' mode 0660 group operator

Тэмдэглэл: Хэрэв системд SCSI дискнүүд байгаа бол үүнийг арай өөрөөр хийх ёстой. Өөрөөр хэлбэл хэрэв систем нь аль хэдийн da0-ээс da2 хүртэлх холбогдсон дискнүүдийг агуулж байвал хоёр дахь мөрийг дараах маягаар солих хэрэгтэй:

add path 'da[3-9]*' mode 0660 group operator

Энэ нь байгаа дискнүүдийг operator бүлэгт хамааруулахгүй болгоно.

Та бас өөрийн devfs.rules(5) дүрмийн олонлогийг /etc/rc.conf файлд идэвхжүүлэх хэрэгтэй:

devfs_system_ruleset="localrules"

Дараа нь цөм нь ердийн хэрэглэгчдэд файлын системийг холбох боломжтойгоор тохируулагдах ёстой. Хамгийн хялбар арга бол /etc/sysctl.conf-д мөр нэмэх явдал юм:

vfs.usermount=1

Дараагийн дахин ачаалалтын дараа энэ нь идэвхжихийг санаарай. Өөрөөр энэ хувьсагчийг тохируулахын тулд sysctl(8)-г ашиглаж болох юм.

Төгсгөлийн алхам нь файлын систем холбогдох санг үүсгэх явдал юм. Энэ санг файлын системийг холбох хэрэглэгч эзэмшсэн байх хэрэгтэй. Үүнийг хийх нэг арга нь root-ийн хувьд тэр хэрэглэгчийн эзэмшсэн дэд санг /mnt/username (username-г тухайн хэрэглэгчийнхээ нэвтрэх нэрээр болон usergroup-г хэрэглэгчийнхээ үндсэн бүлгийн нэрээр солиорой) гэж үүсгэх явдал юм:

# mkdir /mnt/username
# chown username:usergroup /mnt/username

USB хуруун хөтөч залгагдаж /dev/da0s1 төхөөрөмж гарч иржээ гэж бодъё. Эдгээр төхөөрөмжүүд нь ихэвчлэн FAT файлын системээр хэлбэршүүлэгдсэн ирдэг бөгөөд эдгээрийг иймэрхүү маягаар холбож болно:

% mount -t msdosfs -m=644 -M=755 /dev/da0s1 /mnt/username

Хэрэв та төхөөрөмжийг залгаснаа салгавал (дискийг урьдаар салгах ёстой) та системийн мэдэгдлийн буфераас доор дурдсантай төстэй мэдэгдлийг харах ёстой:

umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
GEOM: destroy disk da0 dp=0xc2d74850
umass0: detached

19.5.3. Нэмэлт унших материалууд

Диск нэмэх болон Файлын системүүдийг холбох болон салгах хэсгүүдээс гадна төрөл бүрийн гарын авлагын хуудаснуудыг унших нь хэрэгтэй байж болох юм: FreeBSD  8.X-ийн хувьд umass(4), camcontrol(8), болон usbconfig(8) эсвэл FreeBSD-ийн өмнөх хувилбаруудын хувьд usbdevs(8) байна.

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.