Bekijk de volledige versie : Подумываю о переделке автомонтирования
Подумываю о переделке автомонтирования дисков с нынешнего тупого монтирования /tmp/harddisk и последующего создания part1, part2 ...
Хочу сделать, как в нынешних АСУСовых прошивках ( только лучше :)) и сохранить совместимость с /tmp/harddisk.
Идея следующая: будет директория /tmp/disсs в которую будут монтироваться все обнаружные диски так:
/dev/discs/disc0/part1 -> /tmp/discs/disc0/part1
/dev/discs/disc0/part3 -> /tmp/discs/disc0/part3
/dev/discs/disc1/disc -> /tmp/discs/disc1
При этом /tmp/harddisk будет биндится к первому смонтированному разделу, т.е. /dev/discs/disc0/part1, чтобы работали все многочисленные туториалы, которые есть.
Как вам такая идея? :)
В нынешней штатной прошивке иначе: в директории /tmp/harddisk создаются part0, part1, ... куда монтируются все диски.
Зачем это нужно? Чтобы заменить, наконец, встроенный сервер на vsftpd и сделать конфигурацию самбы, как в штатной прошивке.
Апдейт: Подумал ещё. Лучше наверное сделать совместимым с OpenWRT. :)
/dev/discs/disc0/part1 -> /tmp/mnt/disc0_1
/dev/discs/disc0/part3 -> /tmp/mnt/disc0_3
/dev/discs/disc1/disc -> /tmp/mnt/disc1
А mnt побиндить на /tmp/mnt
Я за. И про замену встроенного сервера на vsftpd - тоже, только чтобы на расширенный билд по возможности, с возможностью перекодировки имён файлов и т.п.
D_dmitry
16-12-2007, 12:57
а какая самба будет? 2 или 3?
а какая самба будет? 2 или 3?
Пока оставить ту, что есть.
А есть возможность научить монтировать из fstab по метке либо по uuid? И отучить его повторно монтировать уже смонтированное в fstab с опцией bind? Или это фича такая? А то если дёргать одно из устройств, то такая вот получается картина:
/dev/discs/disc0/part1 on /opt type ext3 (rw,noatime)
/dev/discs/disc0/part1 on /home type ext3 (rw,noatime)
/dev/discs/disc0/part1 on /home type ext3 (rw,noatime)
/dev/discs/disc0/part1 on /home type ext3 (rw,noatime)
Конечно понятно, что всё это реализуемо скриптами но всё же...
А есть возможность научить монтировать из fstab по метке либо по uuid? И отучить его повторно монтировать уже смонтированное в fstab с опцией bind? Или это фича такая? А то если дёргать одно из устройств, то такая вот получается картина:
/dev/discs/disc0/part1 on /opt type ext3 (rw,noatime)
/dev/discs/disc0/part1 on /home type ext3 (rw,noatime)
/dev/discs/disc0/part1 on /home type ext3 (rw,noatime)
/dev/discs/disc0/part1 on /home type ext3 (rw,noatime)
Конечно понятно, что всё это реализуемо скриптами но всё же...
Это надо бизибокс фиксить...
Голосую "За".
Вариант OpenWRT мне тоже нравится больше.
Это надо бизибокс фиксить...
Глянул последнюю версию. Нет там uuid и label. :(
angel_il
17-12-2007, 00:00
Или это фича такая?
неприятная фича (
angel_il
17-12-2007, 00:07
самбу конечно бы лучше правильную - 3-ю! :)
Я не силен в терминологии, бо подозреваю, Mam(o)n спрашивал про что то похожее. :) Однако, попробую на образных примерах :) Тем более, что я аккурат сегодня обнаружил в suse любопытную фичу. В /dev/disks при загрузке автоматом создается набор директорий:
by-id
by-label
by-path
by-uuid
например в ls /dev/disks/by-id (с сокращениями ибо все это дело было утроенно) сидят симлинки на:
scsi-SATA_SAMSUNG_SP2504C_S09QJ1HLA01519 -> ../../sda
scsi-SATA_SAMSUNG_SP2504C_S09QJ1HLA01519-part1 -> ../../sda1
scsi-SATA_WDC_WD3200KS-00PFB0_WD-WCAPD2514136 -> ../../sdb
scsi-SATA_WDC_WD3200KS-00PFB0_WD-WCAPD2514136-part1 -> ../../sdb1
В результате имеем, что привычные sda, sdb, ... возникают чудесным образом сами собой (ибо я как раз занимался добавлением sata приводов со сменой порядка подключения и был изрядно удивлен тем, что оно само собой устаканилось)
В общем, в /etc/fstab имеем для примера:
/dev/disk/by-id/scsi-SATA_WDC_WD3200KS-00_WD-WCAPD2514136-part1 / ext3 acl,user_xattr 1 1
/dev/disk/by-id/scsi-SATA_SAMSUNG_SP2504CS09QJ1HLA01519-part1 /windows/P ntfs-3g users,gid=users,fmask=133,dmask=022,locale=ru_RU.U TF-8 0 0
fstab при этом контролируется вручную (какой она была сформирована при первичной установке такой остается до изменений). Короче, вместо /dev/sda (ну или там /dev/discs/disc0) мы употребляем уникальный идентификатор диска, а уж sda или sdb ему быть оно решает самостоятельно.
Вот бы нам так :)
В заключение, подозреваю, что я изобрел велосипед, и это может оказаться уже вполне обыденный путь (прошу сделать скидку, что в области новинок unix я отстал лет эдак на 6-10 :) )
Я за! Лично мне было неудобно первое время,когда диски монтировались в harddisk/partX
Вот бы нам так :)
Угу. :) Я об этом думаю, но пока ничего красивого и простого не придумал. Получить UUID и Label в принципе не сложно, сложно сделать это в нужное время. :) Надо добавлять в ядро нормальный плаг-энд-плей для разделов диска.
nightrus
18-12-2007, 18:56
а поддержку SMART можно врубить? или это из-за того, что через юсб, не поддерживается?
ghost_ufa
06-02-2009, 12:47
желательно - из скрипта. А то pre-mount и post-mount могут выполняться неоднократно за сеанс, например при подключении новой флешки. А продвинутые скрипты, в коих системные сервисы запускаются из post-mount, от такого поведения слегка шизеют.
Можно, конечно, создавать файловый флаг в tmp и проверять его - но все же...
theMIROn
06-02-2009, 13:02
pre-mount post-mount передается параметр - GUID подключаемого устройства, можно анализировать его
ghost_ufa
06-02-2009, 13:20
знаю что передается, только вот толку от этого пока не вижу. Не LVM же поднимать :)
theMIROn
06-02-2009, 14:46
знаю что передается, только вот толку от этого пока не вижу. Не LVM же поднимать :)по гуиду можно определить серийник девайса. а по серийнику кейсить, монтировать ли, и куда если, да
ghost_ufa
07-02-2009, 15:54
можно конечно, но как-то некошерно. Тогда уж проще таг-файл в корень.
Но я таки через ключевой файл сделал - по первому запуску делаю симлинк с /proc/mountc в /etc/mtab. И флаг есть, и MC доволен :)
theMIROn
07-02-2009, 21:49
поделись скриптом с общественностью )
ghost_ufa
08-02-2009, 10:14
Дык то не совсем один скрипт :)
Закончу причесывать - выложу всю кучу. Только вот она получилась с несколько красношапочным оттенком, с возможностью запусков нескольких сервисов на базе единственного бинарника и вплоть до команд типа "service httpd restart" ;)
Осталось доделать скрипты для управления внутренними службами, хочется им тоже делать старт-стоп-статус и renice.
ghost_ufa
08-02-2009, 19:37
Это баг, или так и задумано? Все же традиционное поведение - прибивать все запущеное с данного терминала...
ghost_ufa
11-02-2009, 13:05
Перестало дерево сорцов лезть на флешку с данными. Ну, думаю, щас быстренько перепишу на другую. Воткнул USB-хаб, в него 2 флешки - новую и старую, системная так и осталась в своем гнезде. Захожу... два диска. /dev/scsi/host0 (системная) и /dev/scsi/host2. Пляски с бубном ни к чему не привели, пока не догадался заглянуть в /proc/scsi... А там - правильно! - usb-storage-0, usb-storage-1 и usb-storage-2. Да и в /proc/bus/usb тоже три девайса...
Получается, что эмуляция SCSI нормально поддерживает только 2 диска?
ЗЫ. В FAQ этого нет.
ghost_ufa
13-02-2009, 17:25
А возможно ли установить второе PPP соединение, и объединить бриджом получившийся PPP1 и один из внешних эзернетов? :confused: