[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