LINUX.ORG.RU

Старенький комп и флешки


0

0

Приветствую почтеннейшее собрание! Нужен ваш совет.

А ситуация такова. Есть древний комп c RedHat'ом 7.? и ядром 2.4.3?. С ним работает несколько человек, у которых соответственно разные флешки. Приходит, значит, некто A, монтирует флешку: sudo mount /dev/sda1 /mnt/flash, потом отмонитирует: sudo umount /mnt/flash. Всё замечательно. Но... Приходит некто B, начинает монтировать: sudo mount /dev/sda1 /mnt/flash, а ему в ответ: /dev/sda1 is not a valid block device. Однако, если выполнить sudo mount /dev/sdb1 /mnt/flash, то всё прекрасно монтируется. Теперь если придёт третий пользователь C, то, как можно догадаться, монтирования /dev/sda1 и /dev/sdb1 оказываются безуспешными, но монтирование /dev/sdс1 вполне результативно. Ещё момент: если теперь придёт А, то он может беспроблемно монтировать /dev/sda1 и т. п. Надеюсь, ситуация понятна. Вывод dmesg после /dev/sd?1 is not a valid block device дословно не воспроизведу, но что-то говорится про "partition table". Каким-то образом происходит привязка таблицы разделов конкретной флешки к определенному в момент монитрования девайсу /dev/sd?1. Выполнение cat /dev/null > /dev/sd?1 всё равно не позволяет монтировать прежде использованный /dev/sd?1. В принципе, ничего страшного, и можно было бы жить, если бы не тот факт, что все эти A, B, C и т. д. являются виндузятниками, и мне не приходилось бы постоянно помогать им монтировать флешки, выслушивая их "лестные" мнения о Linux. Как в данной ситуации более-менее комфортно для подобных пользователей организовать монтирование флешек?

anonymous

> Как в данной ситуации более-менее комфортно для подобных пользователей организовать монтирование флешек?

Если возиться с ядром/дистрибутивом лень, тогда можно...

Наверное, написать скриптик (назовем его flashmount), который смотрит, какие устройста присутствуют в компе, и монтирует их в /mnt/flash/

Igron ★★★★★
()
Ответ на: комментарий от Igron

Возиться с дистрибутивом/ядром не то чтобы лень, просто у меня прав на это не хватит, так как я обычный пользователь, а вот админу - да, похоже, лень.

Насчёт скрипта: была попытка такой скрипт написать, но он не заработал, знаний не хватает, как это сделать. Можете подсказать, в чём ошибка?

#!/bin/bash

for i in /dev/sd[a-g]1
do
exec mount -t vfat $i /mnt/flash &> /dev/null
if [ "$?" -eq "0" ]
then
echo "Device was mounted"; break
fi
done

anonymous
()

gnome и thunar(hal)сами монтируют флешки, создавая точки монтирования /media/disk1 /media/disk2..

S_Paul ★★★★★
()
Ответ на: комментарий от anonymous

> Можете подсказать, в чём ошибка?

> exec

На этом выполнение скрипта завершается и управление полностью передаётся процессу mount, поэтому попытка примонтировать выполняется фактически один раз на /dev/sda1.

Jini ★★
()

> Каким-то образом происходит привязка таблицы разделов конкретной флешки к определенному в момент монитрования девайсу /dev/sd?1.

Происходит последовательное создание устройств /dev/sd* по мере втыкания новых донглов.

rmmod usb-storage modprobe usb-storage

После каждой флешки поможет.

Andy_ua
()
Ответ на: комментарий от anonymous

for i in /dev/sd[a-g]1
do
  if mount -t vfat $i /mnt/flash &> /dev/null
  then
    echo "Device was mounted"; break
  fi
done

anonymous
()

>gnome и thunar(hal)сами монтируют флешки, создавая точки монтирования /media/disk1 /media/disk2
gnome и thunar нету, есть fluxbox и MidnightCommander.

>rmmod usb-storage modprobe usb-storage
Да, возможно этот вариант помог бы, я уже нагуглил его раньше, но проблема в том, что rmmod, modprobe недоступны пользователям.

>пни хорошенько админа, чтоб демон autofs настроил :)
Админ умный, чтоб его кто ни попадя не пинал, он админит удалённо. Но при случае постараюсь довести до него эту информацию.

А за вариант с if mount ... спасибо, попробую.

anonymous
()
Ответ на: комментарий от amoralyrr

> пни хорошенько админа, чтоб демон autofs настроил :)

Легко настраивается autofs? Можно с его помощью сделать так, чтобы флешка всё время монтировалась в одну и ту же директорию (скажем, /media/my_flash/) и аналогично мой флеш-плеер?

В Ubuntu использовал usbmount, но в Арче с полпинка завести его не получилось. Демон usbmount создавал для каждой подключённой флешки симлинк в /var/run/usbmount/ с названием, соответствующим модели флешки.

Пока использую самописный скрипт, который смотрит fdisk -l и определяет, что подключено, по объёму устройства. Затем монтирует в нужную папку с помощью gnome-mount

// не тот анонимус

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.