Итак, купил я себе замечательную вещь, USB Flash Memory Drive, в народе называется просто "флешка". Ну что тут можно сказать.. В WindowsXp определялась сразу и без проблем как "USB DiSK", в Windows98 была заморочка, драйвер корявый - ничего не работало, худо бедно, но запихал и туда.
Как всегда ночью полез в Linux, полюбовался грамотно настроенной системой (не факт, но все работало (ни много ни мало FTP, Samba, Sendmail, NFS, BIND, squid, Apache, ssh) и ничего не сбоило). И тут я вспомнил о своем приобретении... Интернета у меня временно нет, и желание скачать документацию и "сделать все как написано" сразу пропало, и появилось желание поэкспериментировать..
Настраивал я на RedHat Linux 8.0, по неподтвержденным данным на 7.3 все работает аналогично, да вообще везде работает! Первым делом я залогинился под root и просто воткнул флешку в USB порт.. и мне сразу выдалась такая штучка:
[root@etest mnt]# usb.c: USB device 3 (vend/prod 0xd7d/0x100) is not claimed by any active driver. Vendor: Model: USB DISK Rev: 3.02 Type: Direct-Access ANSI SCSI revision: 02
так-как больше ничего не появилось, я полез в файлы /etc/fstab и /etc/mtab, ну в первом ничего измениться не могло по определению, а во втором появилась интересная надпись: "usbdevfs /proc/bus/usb usbdevfs rw 0 0", я смекнул, что в директории /proc/bus/usb могут быть только драйвера и служебная информация, но все-таки я проверил:
[root@etest usb]# ls 001 devices drivers Не надеясь на успех я набрал такую команду: [root@etest mnt]# mkdir /mnt/test [root@etest mnt]# mount -t usbdevfs /proc/bus/usb /mnt/test все было спокойно, тогда я проверил что у нас в /mnt/test: [root@etest mnt]# ls /mnt/test 001 devices drivers
ну вот получилось то что я и предполагал, но проверить никогда не помешает! Кстати если кому не понятен синтаксис команды mount почитайте мануал, там все очень хорошо расписано "man 8 mount". На самом деле мы имеем право монтировать лишь блочные устройства(к примеру наберите mount -t auto /proc/bus/usb /mnt/test и вы убедитесь в этом), а как известно все они находятся в директории /dev, но там их ой как много, теперь предстояло узнать какой именно наш. Я немного смутился, но решение пришло само собой. Полез я обратно в директорию драйверов, почитать что там пишут... Напомню путь был /proc/bus/usb ничего там интересного не было кроме файла drivers:
[root@etest usb]# cat drivers usbdevfs hub 96-111: hiddev hid usb-storage Storage - хранение, подумал я и набрал: [root@etest /]# find /proc/. -name *storage* /proc/./scsi/usb-storage-0 хи, подумал я набирая: [root@etest /]# cd /proc/scsi/usb-storage-0 [root@etest usb-storage-0]# ls 0 [root@etest usb-storage-0]# cat 0 Host scsi0: usb-storage Vendor: Product: USB Disk Serial Number: 07310E0900B7 Protocol: Transparent SCSI Transport: Bulk GUID: 0d7d0100000007310e0900b7 Attached: Yes
Ну вот все и прояснилось флешка работает не через /dev/usb а через эмуляцию scsi(ANSI SCSI revision: 02 - эта строчка появилась как только я вставил флешку.. но почему-то я не заметил этого), значит это устройство находится в /dev и начинается на букву 'sda', у меня оно оказалось /dev/sda1.
Неплохо бы его еще прописать в /etc/fstab, например так "/dev/sda1 /mnt/usb-flash vfat noauto,rw,user 0 0"
И в итоге команда монтирования: mount -t auto /dev/sda1 /mnt/usb-flash, или просто mount /mnt/usb-flash(т.к. в /etc/fstab все прописано) и в вашем .bash_profile: "alias usbmount="mount -t auto /dev/sda1 /mnt/usb-flash"", все теперь набрав usbmount вы получаете полноценный доступ к информации, находящейся на вашем "usb-storage". Вместо -t auto можете писать -t vfat - все равно туда куда вы с ним пойдете будет именно vfat.
Да, вот еще, не всегда ведь возможно авторизоваться как супер-пользователь, чтобы монтировать USB disk из-под любого зарегистрированного пользователя надо в /etc/fstab дописать строчку user, вот как она теперь выглядит:
"/dev/sda1 /mnt/usb-flash vfat noauto,rw,user 0 0"
Монтируйте хоть от пользователя ssh.
Может статья немного и сумбурная, но я, как наверно многие из вас, все привык делать по описанию, и это был первый шаг, пусть робкий, но шаг к самостоятельности, к изучению и познанию, чего и вам желаю.