Сделать стартовой / Добавить в избранное / Написать нам
МЕНЮ
ОС Windows
ОС Linux
    » Дистрибутивы
    » Безопасность
    » Сети
    » Аппаратное обеспечение
    » Программирование
    » Система, ядро, утилиты
    » Программное обеспечение
    » Прочее
BIOS
Сети
Безопасность
Вебмастеру
Программисту
Железо

СВЕЖИЙ СОФТ
ЕГЭ ГИА 2011 репетитор и задачник
Гость 11 Портье
Мини-Сайт v.3.6
Мини-Каталог 1.0
Мини-Кадры 1.0
Мини-Смета v.1.4
Мини-Автопредприятие v.1.13
Мини-Зарплата v.3.3
Жадюга 1.9
LLLLLL
ОС Linux   Система, ядро, утилиты

ОС Linux -> Система, ядро, утилиты ->История о том, как я настраивал USB flash-memory-drive в Linux

История о том, как я настраивал USB flash-memory-drive в Linux

дата добавления: 26.06.2005, просмотров: 3724

Итак, купил я себе замечательную вещь, 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. (Многие современные USB-накопители поставляются неразмеченными. Обычно Linux "видит" на них все 4 возможных раздела, но при попытке подмонтировать любой из них выдает сообщение об ошибке, а достаточно старые версии ядра 2.4 просто "падают". В этом случае следует использовать не /dev/sda1, а /dev/sda,-прим.ред.)

Неплохо бы его еще прописать в /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.

Может статья немного и сумбурная, но я, как наверно многие из вас, все привык делать по описанию, и это был первый шаг, пусть робкий, но шаг к самостоятельности, к изучению и познанию, чего и вам желаю.

Автор: Кучумов Александр
Источник: LinuxRSP.ru

комментарии к статье (0)

Ссылки по теме:

  • Запись дисков CD-R/RW из консоли
  • Архитектура UNIX и Windows
  • Установка Linux на устройство, которое не поддерживается дистрибутивом
  • Утилита lsof - инструмент администратора
  • Полноценный Linux-сервер, стартующий с USB Flash

  • ВХОД
    (?)
    |
     
       Copyright WinSov © 2003-2005. При использовании материалов ссылка на www.winsov.ru обязательна.
       Designed by "2BEST Studio",  Developed by #Dialer
    Вверх