Например, у вас есть внешний USB HDD и внешняя же флэшка. В зависимости от того, в каком порядке их втыкать, у них будут разные имена. Например, у одного /dev/sda, у другого /dev/sdb. Или наоборот. Что еще хуже, диск может быть разбит на разделы, и у него надо монтировать /dev/sd?1, а флэшка используется вся целиком, как дискета, и у нее надо монтировать собственно /dev/sd?.
Или, скажем, сетевые карты при загрузке обнаруживаются в разном порядке, и получается, что eth1 - это иногда wifi, а иногда firewire. А иногда наоборот.
В результате настраивать точки монтирования или параметры сетевых интерфейсов становится очень неудобно. Но есть выход.
Подключаем диск, смотрим в /var/log/messages, как его нынче назвали. Предположим, sda. И на нем есть раздел sda1.
Запускаем
и видим что-то вроде:
Выбираем из этой кучки параметров что-нибудь достаточно уникальное. Например, размер.
Создаем файл /etc/udev/rules.d/10_local.rules, в который пишем
Проверяем:
Если в выдаче есть строчка
значит, все хорошо. Если не появилась, ищем ошибку в параметрах проверки.
Перегружать машину после этого не обязательно, правила начинают действовать сразу. Достаточно отключить диск и подключить его обратно - и магическим образом появится /dev/usbdisk, который отныне можно смело использовать в /etc/fstab.
Для дисков, которые используются целиком, без разбивки на разделы (типично для флэшек с FAT), удобно проверять ATTRS{vendor}, ATTRS{model}, ATTRS{rev} и другие более уникальные вещи, чем размер.
То же самое можно делать и для сетевых карт - у них уникальным параметром является MAC-адрес. Учтите, что в правилах для udev буквы в мак-адресах надо писать маленькими, тогда как ifconfig показывает их большими.
Например:
Отныне проводной интерфейс всегда будет называться lan, wifi-интерфейс - wlan, а firewire - eth1394, и они больше не перепутаются.
А еще можно при повялении девайса выполнять некоторые команды, например, поднимать bluetooth'ный интерфейс, если он почему-то не поднимается сам.
Ну и так далее - аудиокарты, принтеры, фотокамеры...
А как в такой же ситуации явно назначить букву для диска или точку монтирования в Windows - я не знаю.
Или, скажем, сетевые карты при загрузке обнаруживаются в разном порядке, и получается, что eth1 - это иногда wifi, а иногда firewire. А иногда наоборот.
В результате настраивать точки монтирования или параметры сетевых интерфейсов становится очень неудобно. Но есть выход.
Подключаем диск, смотрим в /var/log/messages, как его нынче назвали. Предположим, sda. И на нем есть раздел sda1.
Запускаем
# udevinfo -a -p /sys/block/sda/sda1
и видим что-то вроде:
looking at device '/block/sda/sda1':
KERNEL=="sda1"
SUBSYSTEM=="block"
DRIVER==""
ATTR{stat}==" 89 178 0 0"
ATTR{size}=="195366402"
ATTR{start}=="63"
ATTR{dev}=="8:1"Выбираем из этой кучки параметров что-нибудь достаточно уникальное. Например, размер.
Создаем файл /etc/udev/rules.d/10_local.rules, в который пишем
KERNEL=="sd?1", SUBSYSTEM=="block", ATTR{size}=="195366402", SYMLINK+="usbdisk"Проверяем:
# udevtest /sys/block/sda/sda1
Если в выдаче есть строчка
udev_node_add: creating symlink '/dev/usbdisk' to 'sda1'
значит, все хорошо. Если не появилась, ищем ошибку в параметрах проверки.
Перегружать машину после этого не обязательно, правила начинают действовать сразу. Достаточно отключить диск и подключить его обратно - и магическим образом появится /dev/usbdisk, который отныне можно смело использовать в /etc/fstab.
Для дисков, которые используются целиком, без разбивки на разделы (типично для флэшек с FAT), удобно проверять ATTRS{vendor}, ATTRS{model}, ATTRS{rev} и другие более уникальные вещи, чем размер.
То же самое можно делать и для сетевых карт - у них уникальным параметром является MAC-адрес. Учтите, что в правилах для udev буквы в мак-адресах надо писать маленькими, тогда как ifconfig показывает их большими.
Например:
KERNEL=="eth*", SYSFS{address}=="00:0b:5d:xx:xx:xx", NAME="lan"
KERNEL=="eth*", SYSFS{address}=="00:0e:35:xx:xx:xx", NAME="wlan"
KERNEL=="eth*", SYSFS{address}=="00:00:0e:10:01:xx:xx:xx", NAME="eth1394"Отныне проводной интерфейс всегда будет называться lan, wifi-интерфейс - wlan, а firewire - eth1394, и они больше не перепутаются.
А еще можно при повялении девайса выполнять некоторые команды, например, поднимать bluetooth'ный интерфейс, если он почему-то не поднимается сам.
KERNEL=="hci*", RUN+="/usr/sbin/hciconfig %k up".
Ну и так далее - аудиокарты, принтеры, фотокамеры...
А как в такой же ситуации явно назначить букву для диска или точку монтирования в Windows - я не знаю.
no subject
Винда, как обычно, всё делает сама ;)
В Disk Management назначить нужному устройству нужную букву, при следующем подключении она будет ему молча выдаваться. Например, постоянно используемая USB-флэшка у меня висит на K:, и потому с временно подключаемыми флэшками, плеером и прочей фигнёй никак не интерферирует — им винда даёт первую свободную букву (F:).
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
у венды
(no subject)
не только
(no subject)
no subject
но в целом, спасибо, да - у меня руки не доходили почитать FM на эту тему
no subject
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
no subject
(no subject)
no subject
USB-to-Serial, например.
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
Если ты такой умный
то почему строем не ходишто может объяснишь мне, из-за чего может быть такая засада? довольно часто происходит так: usb накопитель включил, устройство в dev появилось, но пока в него не ткнёшься чем нибудь - не появляются устройства под разделы. Ну т.е. /dev/sda есть, а /dev/sda1 - нет. И пока, например, mount /dev/sda не сделаешь - и не появится.Re: Если ты такой умный
Re: Если ты такой умный
Re: Если ты такой умный
Re: Если ты такой умный
Re: Если ты такой умный
no subject
2) diskmgmt.msc
3) Для экстремалов :
HKLM\SYSTEM\MountedDevices
( http://support.microsoft.com/?kbid=307844 )
(no subject)