Использование USB Flash под Linux
Устройства хранения данных по технологии Flash все
настойчивее "стучат" в дверь, пытаясь побыстрее проникнуть в нашу
компьютерную жизнь. Народ быстренько окрестил эти устройства "флэшками" и
начал интенсивно приобретать - все-таки очень удобно. Действительно,
использовать их под Windows 2000 и XP просто - поддержка встроена в
саму ОС.
Но представим, что вы - продвинутый админ, пользуетесь
только Linux, а тут пришел к вам знакомый с серебристым флэш-брелком на
груди: "Эй! Я тут увальную музычку на флэшке приволок. Послушаем?".
Как быть дальше? Понимает ли Linux такое устройство?
Сможете ли вы не ударить перед "модным юзером" лицом в грязь? На самом
деле все просто. Надо лишь уметь пользоваться утилитой mount и знать, что
flash рассматривается этой ОС (Linux) как SCSI-диск.
Итак, включаем "флэшку" в USB-порт. Если у вас RH 8-9,
можно воспользоваться программой поиска устройств - hwbrowser. Она
просканирует системную шину и найдет все подключенные к ней устройства.
Обнаружит, конечно же, и флэш-карту.
Видим (рис. 1), что в системе появился диск
/dev/sda1 размером 62 Mб (вообще объем флэш-карты составляет
64 Mб, но в результате форматирования получилось два пустых места).
Файловая система, автоматически распознанная этой ОС,- fat16.
Все необходимые данные получены - теперь можно приступить
к монтированию устройства в файловую систему. Делается это, как обычно,
утилитой mount. А последовательность действий такова. Во-первых, создаем
директорию usbflash в папке /mnt (вообще, не обязательно именно в ней -
просто так принято). И выполняем команду: #mount /dev/sda1 /mnt/usbflash
Заходим в эту директорию и читаем: #ls /mnt/usbflash
>alcotable.doc Driver pyngvin.gif retal.rar wb2000s.zip
>diskasis.zip m-35-060.jpg!readme.txt??????.rtf
Что имеем? Устройства смонтировано. Но что это за странный файл
"???????.rtf"? Дело, конечно, в различных кодовых страницах. Ведь файлы
писались под Windows, в кодировке cp866,- а читаем мы их в koi8-r (как
правило). Попробуем скорректировать проблему. Использование опций
iocharacterset и codepage должно исправить ошибку: #umount /mnt/usbflash
#mount -t vfat /dev/sda1 /mnt/usbflash -o
iovharset=koi8-r,codepage=866
#ls /mnt/usbflash
>alcotable.doc Driver pyngvin.gif retal.rar wb2000s.zip
>diskasis.zip m-35-060.jpg!readme.txt
Гарантийное письмо.rtf
Если вы планируете часто подключать flash-карты к компьютеру, имеет
смысл сделать запись в системном файле /etc/fstab. Вот такую: /dev/sda1 /mnt/usbflash vfat iocharset=koi8-r,
codepage=866,user
И не забудьте, что fstab должен иметь одну пустую строку в конце (то
есть завершаться символом новой строки - \n). Формат этого файла прост.
Каждая строка описывает одну точку монтирования. Поля в ней разделяются
пробелом. Первое указывает на блочное устройство (/dev/sda1), второе - на
точку монтирования (/mnt/usbflash), третье - это тип файловой системы (в
нашем случае - vfat); далее следуют опции. С двумя вы знакомы, опция же
user означает, что выполнять команду mount /mnt/usbflash может любой
пользователь, а не только root.
Автор: Николай Ткаченко
Источник: www.comizdat.com
|