Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

Компания Microsoft открыла исходные тексты сборочной платформы MSBuild

Обновление OpenSSL 1.0.2a, 1.0.1m, 1.0.0r и 0.9.8zf с устранением уязвимостей

Очень легкий браузер: NetSurf 3.3

Вышел Linphone 3.8

Запуск бинарников GNU/Linux в среде Windows - flinux

Опубликован весенний выпуск стартовых наборов ALT Linux

Число игр в Steam для Linux достигло 1000

Шестьдесят разработчиков ядра Linux подписались под патчем "Code of Conflict"

Представлен Nuntius, транслятор уведомлений из Android в GNOME

KiCAD теперь поддерживает трассировку скоростных печатных плат

Вышла новая версия Samba 4.2

Вышла новая версия Pinta 1.6

Audacious 3.6

Tanks of Freedom - пошаговая, изометрическая стратегическая игра

Вышел VLC 2.2.0

Фонд Свободного Программного Обеспечения получит финансирование от Reddit

Oddworld: Abe's Oddysee - New 'n' Tasty!

Убираем хвосты: Tails 1.3

Выпущен Krita 2.9.0 the Kickstarter Release

Samsung продала в первый месяц 100 тысяч Tizen-смартфонов Z1 и готовит к выпуску модель Z2

Линус Торвальдс объявил голосование следующего релиза ядра Linux: 3.20 или 4.0

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

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

Итак, купил я себе замечательную вещь, 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.

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

Автор: Кучумов Александр lee_chean@rambler.ru 16.02.2003


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2016 LinuxRSP