[Comm] автомонтирование без DE

Speccyfighter zxwarior на yandex.ru
Ср Июл 30 09:31:09 MSK 2014



30.07.2014, 08:46, "Speccyfighter" <zxwarior на yandex.ru>:
> 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 хотел показывать, но это уже столь красивым способом не
>>  получается.
>
> Ещё момент, при отсутствии флешки:
>
> find /dev/disk/by-id/ -name usb-* -print0 \
>       | xargs -0 realpath \
>       | sort \
>       | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE
> realpath: пропущен операнд
> По команде «realpath --help» можно получить дополнительную информацию.
> NAME MOUNTPOINT LABEL FSTYPE   SIZE
> sda                          149,1G
> sr0                           1024M
>
> Но со вторым скриптом lmount, при отсутствии флешки, нормально:
>
> $ lmount2
> NAME MOUNTPOINT LABEL FSTYPE SIZE MODEL

Есть ещё вариант для флешек заменой 'hmount -l' без sed:

$ BLKUSB=$(find /dev/disk/by-id/ -name usb-* \
  | grep -v part | sort) && [ -z "$BLKUSB" ] \
  || lsblk $BLKUSB 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   1  3,6G  0 disk 
├─sdb1   8:17   1  333M  0 part 
└─sdb2   8:18   1  3,3G  0 part 
sdc      8:32   1  7,5G  0 disk 
└─sdc1   8:33   1  707M  0 part 

$ pmount /dev/sdb2

$ BLKUSB=$(find /dev/disk/by-id/ -name usb-* \
  | grep -v part | sort) && [ -z "$BLKUSB" ] \
  || lsblk $BLKUSB 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   1  3,6G  0 disk 
├─sdb1   8:17   1  333M  0 part 
└─sdb2   8:18   1  3,3G  0 part /media/sdb2
sdc      8:32   1  7,5G  0 disk 
└─sdc1   8:33   1  707M  0 part 

Флешек нет:

BLKUSB=$(find /dev/disk/by-id/ -name usb-* \
  | grep -v part | sort) && [ -z "$BLKUSB" ] \
  || lsblk $BLKUSB 
$ (нет вывода)


>>  В аттаче еще более универсальный вариант. Отличается от простого на шелл
>>  тем, что:
>>
>>  1. поддерживает и USB-devices, _и_ все removable devices (т.е. должно
>>  нормально понимать CD, флоппики, и т.д.)
>>
>>  2. игнорирует все упомянутое в /etc/fstab, даже если оно removable или
>>  USB. Хотя нужно ли это -- не уверен. Если не нужно, можно легко обойтись
>>  shell'ом без всяких извращений с перловкой.
>>
>>  P.S. Если будет ругаться на Text::Table -- apt-get install perl-Text-Table
>


-- 
Лучшее - враг хорошего!
(Спектрумовский фольклор)


Подробная информация о списке рассылки community