Решил опять пораспросить местный народ, может пошлете на урл какой в конце-то концов.
Суть: Хочу понять идеологию работы с Flash накопителями, ибо можно по разному работать и не понятно
как правильнее.
Взал скажем Флешку на 4Gb. Отформатировал в Windows, сунул в USB разъем машинки с Debian lenny,
она смонтировалась в media/volumelabel где volumelabel Это метка того диска. сказал
cfdisk /dev/sdc (туда он попадает) тот мне ругнулся что партиция начинается за концом диска... и завершился
по причине этой ошибки.
---
FATAL ERROR: Bad primary partition 0: Partition begins after end-of-disk
Press any key to exit cfdisk
---
Я удивился, сказал #dd if=/dev/zero of=/dev/sdc и обломал. Затем позвал тот-же cfdisk и сделал раздел hdc5 (Extended FAT32)
форматнул его как #mkfs.vfat /dev/sdc5, вынул флэш, снова вставил и она смонтировалась у меня как /media/disk. Windows видит в обоих вариантах.
Вот после этого и появились непонятки, Флэш диск может быть или эмулятором винта или эмулятором гибкого диска, замечал что в зависимости от этого разные BIOS по разному грузят... Некоторые грузятся если раздел смонтирован сам
(/dev/sdc на /mnt/sdc) а некоторые грузятся если смонтирована партиция с флэшки (/dev/sdc1 на /mnt/sdc1).
Так какой вариант использования флешки наиболее прямой? Как /dev/sdc или /dev/sdcX и какой процесс автомонтирует
флешки на /media/volumelabelname?
Автомонтирование Flash
Я не вполне понял, что именно тебя смущает. Могу предложить следующее:
- зачем делать на флешке расширенный раздел (sdc5)? Открой gparted и убей его
- mkfs.vfat /dev/sdc5 форматирует без метки - поэтому флешка монтируется в /media/disk
- BIOS тут ни при чём, флешка монтируется через Hal и PolicyKit.
Насколько я понимаю /dev/sdc это имя устройства, а /dev/sdcX это имя раздела, и нельзя примонтировать /dev/sdc, а только /dev/sdcXКак /dev/sdc или /dev/sdcX и какой процесс автомонтирует
komcumir, прав, вы форматировали флешку в один раздел, вот вам и /dev/sdc1, если бы было 2-3 раздела, у вас бы появились sdc2 и sdc3 соответственно. а просто /dev/sdc - это устройство. у вас же не возникало (надеюсь) желание разбитый на 5 разделов (с разными ФС) жесткий диск монтировать по имени устройства? вот так и с флешкой.
/dev/sdc5 не означает, что на диске 5 разделов. Скорее всего там просто Extended partition и в ней 1 раздел.
Глобальные права доступа определяются через PolicyKit и правила HAL не должны им противоречить. Иначе последнее правиться.
Если в /etc/fstab прописать точку монтирования для вашего устройства, то после вставки flash (после рестарта HAL) и монтирования средствами рабочего окружения -- монтирование будет идти по этой точке. Если вашего устройства нет в fstab, то HAL посмотрит в свои внутренние правила и примонтирует по метке диска, если её нет, то будет сгенерированное имя точки монтирования.
Если вам нужна жёсткая привязка к разделам устройства описывайте их в fstab или правьте HAL (который почти умер).
Выбирайте что вам угодно.
Спасибо за ответы, не стоило гнать про разделы - я это все прекрасно понимаю и sdc5 совершенно не означает что на диске 5 разделов на диске 1 раздел (extended) потому он и 5. Всего в партиции помещается 4 раздела, потому все что выше создается дополнительными партициями. В /etc/fstab прописывал предположим /opt/flash и оно монтировалось при mount -a, но вот при вытаскивании флешки и вставлении (на флешке vfat в sdc1) автомонтер не смог ее замонтировать ни на /media/VolumeName ни на /opt/flash (hal рестартовал как #/etc/init.d/hal restart).
В целом я понял что идеологически верно флешку под vfat форматировать как /dev/sdX1 в формате vfat с меткой диска, тогда при вставлении она подмонтируется на свою личную точку монтирования и это позволит легко жонглировать флешками. Скажем есть 2 флешки, одна с меткой Backup другая с меткой Transfer включаем скажем Backup и у нас появляется /media/Backup сидим, работаем, потом вдруг принесли Transfer и попросили что-то записать, не задумываясь включаем ее, появляется /media/Transfer, пишем на нее что надо и отдаем хозяину... в скриптах тоже удобно, вполне при работе можем проверять вставлен-ли нужный носитель по существованию /media/VolumeLabel.
если заморачиваться с монтированием через /etc/fstab тут полный геморрой, ведь любой из носителей может быть и /dev/sdc и /dev/sdd и.т.д. ну и у меня как минимум оно само не смонтировалось при вставлении Flash в разъем ни как /media/VolumeLabel ни как /opt/flash хотя при mount -a /opt/flash монтировался, но если вставлять несколько флешек будет полная труба с понятием кто из них какой буквой встал (sdc,sdd,..)
Сам накопитель и раздел на накопителе являются блочными устройствами. Их можно использовать для ФС. Я стараюсь производить работу с Flash накопителями, используя разделы.
Но и то и другое - вполне таки жизненно.
В целом я понял что идеологически верно флешку под vfat форматировать как /dev/sdX1 в формате vfat с меткой диска, тогда при вставлении она подмонтируется на свою личную точку монтирования и это позволит легко жонглировать флешками. Скажем есть 2 флешки, одна с меткой Backup другая с меткой Transfer включаем скажем Backup и у нас появляется /media/Backup сидим, работаем, потом вдруг принесли Transfer и попросили что-то записать, не задумываясь включаем ее, появляется /media/Transfer, пишем на нее что надо и отдаем хозяину... в скриптах тоже удобно, вполне при работе можем проверять вставлен-ли нужный носитель по существованию /media/VolumeLabel.
Я думаю, это лучше делать в правилах udev, я так когда-то давно сделал для одной flash -
т.е. при её вставлении возникает ссылка в /dev с определённым именем, но, конечно, можно
и для нескольких и не беспокоиться о метках.
Пётр.
вопрос в догонку по теме. как поменять label флешки? а то флеха у меня с меткой в которой есть пробел и в консоли я не могу к ней обратиться. дописывал в fstab
/dev/sda1 /media/usb auto rw,users,auto 0 0
но тогда в наутилусе слева есть метка (пункт меню на точку /media/usb) которая нетыкабельна. выдает ошибку что том не примонтирован, а когда тыкаешь на пункт меню с названием, как метка тома флешки, то она доступна и смонтирована в /media/usb.
основной вопрос как изменить метку флехи?
Вот интересная статейка на хабре, вдруг кому поможет: http://habrahabr.ru/blogs/linux/58769/
основной вопрос как изменить метку флехи?
gparted, там интуитивно понятно
... а то флеха у меня с меткой в которой есть пробел и в консоли я не могу к ней обратиться...
А вы не пробовали пробел вставлять через \
Или воспользоваться автодополнением через TAB ?
после обновления перестали автомонтироваться флешки
тоесть если система загружена и вставить флешку то она монтируется без проблем,а вот если вставлена до загрузки системы то при включении автоматом как раньше не монтируется.
подскажите как вернуть чтоб при включении компа флешки монтировались сами