[Comm] автомонтирование без DE
Speccyfighter
zxwarior на yandex.ru
Ср Июл 30 07:26:53 MSK 2014
30.07.2014, 04:53, "Денис Смирнов" <mithraen на freesource.info>:
> On Tue, Jul 29, 2014 at 11:52:41PM +0400, Speccyfighter wrote:
>>> find /dev/disk/by-id/ -name usb-* -print0 \
>>> | xargs -0 realpath \
>>> | sort \
>>> | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE
>> Во-во-во! То что надо. Коротко и всё необходимое для plmount
>> на месте:
>> Одно сомнение берёт: есть ли необходимость в SIZE?
> В случае нескольких девайсов SIZE один из способов идентификации.
> Я еще и MODEL хотел показывать, но это уже столь красивым способом не
> получается.
В принципе модель не столь важно, если есть идентификация по SIZE.
Да и LABEL на месте.
>> Ошибка исчезла. Отработало:
>> Но ваш вариант выше как-то красивее. ИМХО.
> В аттаче еще более универсальный вариант. Отличается от простого на шелл
> тем, что:
>
> 1. поддерживает и USB-devices, _и_ все removable devices (т.е. должно
> нормально понимать CD, флоппики, и т.д.)
>
> 2. игнорирует все упомянутое в /etc/fstab, даже если оно removable или
> USB. Хотя нужно ли это -- не уверен. Если не нужно, можно легко обойтись
> shell'ом без всяких извращений с перловкой.
Думается CD не столь важно. Можно обойтись shell'овым скриптом.
В крайнем случае:
$ alias lscdrom='lsblk -o NAME,MOUNTPOINT,LABEL /dev/cdrom'
$ lscdrom
NAME MOUNTPOINT LABEL
sr0
Или короче:
$ lsblk /dev/cdrom
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
всё равно маркером подписываются и привод часто только один.
Тут не перепутаешь.
И без перловки можно обойтись по-минимуму.
А вот на флешках много не попишешь. Особенно которые мини.
Или совсем microSD.
> P.S. Если будет ругаться на Text::Table --
> apt-get install perl-Text-Table
Выругалось на 12-ю строку:
# lmount2
Can't locate Text/Table.pm in @INC (@INC contains: /usr/local/lib/perl/5.16 /usr/local/share/perl/5.16 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl5 /usr/share/perl5 /etc/perl5 /usr/lib/perl5/vendor_perl .) at /usr/local/bin/lmount2 line 12.
BEGIN failed--compilation aborted at /usr/local/bin/lmount2 line 12.
# cat /usr/local/bin/lmount2|head -n 12|tail -n 1
use Text::Table;
# apt-get install perl-Text-Table
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
perl-Term-ANSIColor perl-Text-Aligner
Следующие НОВЫЕ пакеты будут установлены:
perl-Term-ANSIColor perl-Text-Aligner perl-Text-Table
И на 72-ю:
# lmount2
Can't locate Data/Dump.pm in @INC (@INC contains: /usr/local/lib/perl/5.16 /usr/local/share/perl/5.16 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl5 /usr/share/perl5 /etc/perl5 /usr/lib/perl5/vendor_perl .) at /usr/local/bin/lmount2 line 72.
BEGIN failed--compilation aborted at /usr/local/bin/lmount2 line 72.
которую пришлось закомментировать:
# cat /usr/local/bin/lmount2|head -n 72|tail -n 1
# use Data::Dump qw/ddx/;
после чего завелось (флешка Toshiba):
$ lmount2
NAME MOUNTPOINT LABEL FSTYPE SIZE MODEL
sdb ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G TransMemory
sdb1 ALT Linux altlinux-p7-icewm/i586 iso9660 333M TransMemory
sdb2 alt-live-storage ext4 3,3G TransMemory
$ pmount /dev/sdb2
$ lmount2
NAME MOUNTPOINT LABEL FSTYPE SIZE MODEL
sdb ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G TransMemory
sdb1 ALT Linux altlinux-p7-icewm/i586 iso9660 333M TransMemory
sdb2 /media/sdb2 alt-live-storage ext4 3,3G TransMemory
--
Лучшее - враг хорошего!
(Спектрумовский фольклор)
Подробная информация о списке рассылки community