ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] автомонтирование без DE
@ 2014-07-23 16:50 Денис Смирнов
  2014-07-23 20:54 ` Michael Shigorin
  2014-07-24 18:00 ` Speccyfighter
  0 siblings, 2 replies; 66+ messages in thread
From: Денис Смирнов @ 2014-07-23 16:50 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 180 bytes --]

Какой сейчас mainstream инструмент для автомонтирования и размонтирования
флешек, который не требует привязки к конкретному DE?

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-23 16:50 [Comm] автомонтирование без DE Денис Смирнов
@ 2014-07-23 20:54 ` Michael Shigorin
  2014-07-24  8:35   ` Денис Смирнов
  2014-07-24 18:00 ` Speccyfighter
  1 sibling, 1 reply; 66+ messages in thread
From: Michael Shigorin @ 2014-07-23 20:54 UTC (permalink / raw)
  To: community

On Wed, Jul 23, 2014 at 08:50:34PM +0400, Денис Смирнов wrote:
> Какой сейчас mainstream инструмент для автомонтирования
> и размонтирования флешек, который не требует привязки
> к конкретному DE?

У меня всё тот же mount(8) -- с тех пор, как subfs опять помер.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-23 20:54 ` Michael Shigorin
@ 2014-07-24  8:35   ` Денис Смирнов
  2014-07-24  8:57     ` Michael Shigorin
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-07-24  8:35 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 475 bytes --]

On Wed, Jul 23, 2014 at 11:54:16PM +0300, Michael Shigorin wrote:

>> Какой сейчас mainstream инструмент для автомонтирования
>> и размонтирования флешек, который не требует привязки
>> к конкретному DE?
> У меня всё тот же mount(8) -- с тех пор, как subfs опять помер.

Т.е. просто перечисляешь возможные точки монтирования в fstab с
user,noauto и дальше ручками, ручками?

А что со всякими там pmount и udisks2?

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-24  8:35   ` Денис Смирнов
@ 2014-07-24  8:57     ` Michael Shigorin
  2014-07-24 12:55       ` Владимир Гусев
  2014-07-28 23:36       ` Денис Смирнов
  0 siblings, 2 replies; 66+ messages in thread
From: Michael Shigorin @ 2014-07-24  8:57 UTC (permalink / raw)
  To: community

On Thu, Jul 24, 2014 at 12:35:44PM +0400, Денис Смирнов wrote:
> > У меня всё тот же mount(8) -- с тех пор, как subfs опять помер.
> Т.е. просто перечисляешь возможные точки монтирования в fstab с
> user,noauto и дальше ручками, ручками?

Т.е. просто вообще руками + history.

> А что со всякими там pmount и udisks2?

pmount вроде рядом используют, udisks2 буду смотреть
вряд ли раньше переезда на e18+ и пока ничего тут
сказать не могу.  Но это ж мои заморочки :)

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-24  8:57     ` Michael Shigorin
@ 2014-07-24 12:55       ` Владимир Гусев
  2014-07-28 23:36       ` Денис Смирнов
  1 sibling, 0 replies; 66+ messages in thread
From: Владимир Гусев @ 2014-07-24 12:55 UTC (permalink / raw)
  To: community; +Cc: mike

On Thu, 24 Jul 2014 11:57:22 +0300
Michael Shigorin wrote:

> On Thu, Jul 24, 2014 at 12:35:44PM +0400, Денис Смирнов wrote:
> > > У меня всё тот же mount(8) -- с тех пор, как subfs опять помер.
> > Т.е. просто перечисляешь возможные точки монтирования в fstab с
> > user,noauto и дальше ручками, ручками?
> 
> Т.е. просто вообще руками + history.
> 
> > А что со всякими там pmount и udisks2?
> 
> pmount вроде рядом используют, udisks2 буду смотреть
> вряд ли раньше переезда на e18+ и пока ничего тут
> сказать не могу.  Но это ж мои заморочки :)
> 

Я теперь использую просто DE-независимый pcmanfm (если речь шла о
графическом окружении, конечно)


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-23 16:50 [Comm] автомонтирование без DE Денис Смирнов
  2014-07-23 20:54 ` Michael Shigorin
@ 2014-07-24 18:00 ` Speccyfighter
  2014-07-24 19:41   ` Фаизов Алишер
  1 sibling, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-07-24 18:00 UTC (permalink / raw)
  To: ALT Linux Community general discussions



23.07.2014, 20:50, "Денис Смирнов" <mithraen@freesource.info>:
> Какой сейчас mainstream инструмент для автомонтирования и размонтирования
> флешек, который не требует привязки к конкретному DE?
>

Использую hmount в связке с hal
Вообще ни к чему не привязан
Использование из шелл
Настройки не требует
Прост как кирпич


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-24 18:00 ` Speccyfighter
@ 2014-07-24 19:41   ` Фаизов Алишер
  2014-07-24 19:49     ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Фаизов Алишер @ 2014-07-24 19:41 UTC (permalink / raw)
  To: ALT Linux Community general discussions

25.07.2014 00:00, Speccyfighter пишет:
>
> 23.07.2014, 20:50, "Денис Смирнов" <mithraen@freesource.info>:
>> Какой сейчас mainstream инструмент для автомонтирования и размонтирования
>> флешек, который не требует привязки к конкретному DE?
>>
> Использую hmount в связке с hal
> Вообще ни к чему не привязан
> Использование из шелл
> Настройки не требует
> Прост как кирпич
>
>
hal еще жив?


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-24 19:41   ` Фаизов Алишер
@ 2014-07-24 19:49     ` Speccyfighter
  2014-07-24 21:21       ` Mikhail Efremov
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-07-24 19:49 UTC (permalink / raw)
  To: ALT Linux Community general discussions



24.07.2014, 23:41, "Фаизов Алишер" <alisher_faiz@rambler.ru>:
> 25.07.2014 00:00, Speccyfighter пишет:
>>  23.07.2014, 20:50, "Денис Смирнов" <mithraen@freesource.info>:
>>>  Какой сейчас mainstream инструмент для автомонтирования и размонтирования
>>>  флешек, который не требует привязки к конкретному DE?
>>  Использую hmount в связке с hal
>>  Вообще ни к чему не привязан
>>  Использование из шелл
>>  Настройки не требует
>>  Прост как кирпич
>
> hal еще жив?

Конечно.
И в p7 и в t7.
А что ему сделается? :-)
Его и TDE использует в сборке starterkit на базе p7 с sysvinit.
С таким функционалом, hal грех хоронить.

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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-24 19:49     ` Speccyfighter
@ 2014-07-24 21:21       ` Mikhail Efremov
  2014-07-24 23:09         ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Mikhail Efremov @ 2014-07-24 21:21 UTC (permalink / raw)
  To: ALT Linux Community general discussions

On Thu, 24 Jul 2014 23:49:54 +0400 Speccyfighter wrote:
> 
> 
> 24.07.2014, 23:41, "Фаизов Алишер" <alisher_faiz@rambler.ru>:
> > 25.07.2014 00:00, Speccyfighter пишет:
> >>  23.07.2014, 20:50, "Денис Смирнов" <mithraen@freesource.info>:
> >>>  Какой сейчас mainstream инструмент для автомонтирования и
> >>> размонтирования флешек, который не требует привязки к конкретному
> >>> DE?
> >>  Использую hmount в связке с hal
> >>  Вообще ни к чему не привязан
> >>  Использование из шелл
> >>  Настройки не требует
> >>  Прост как кирпич
> >
> > hal еще жив?
> 
> Конечно.
> И в p7 и в t7.
> А что ему сделается? :-)
> Его и TDE использует в сборке starterkit на базе p7 с sysvinit.
> С таким функционалом, hal грех хоронить.

HAL мёртв уже несколько лет как. Я вообще удивлен, что оно еще
шевелится. Но рано или поздно перестанет. 
В TDE же это просто тяжелое наследие KDE3, они до сих пор не осилили
его оторвать. Вообще зависимость на HAL - одна из основных проблем
TDE и единственная причина того, что hal все еще в репозитории.
Назвать же hal простым... Насколько я помню, основная причина, по
которой hal помер - это то, что он был ужасным монстром, с поддержкой
которого его авторы уже не справлялись. Этот динозавр просто рухнул под
собственным весом.
Лучше уж тогда udisks2 использовать. Кажется у него есть
соответствующий cli, но я не пробовал всерьез им пользоваться.

-- 
WBR, Mikhail Efremov


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-24 21:21       ` Mikhail Efremov
@ 2014-07-24 23:09         ` Speccyfighter
  2014-07-28 23:41           ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-07-24 23:09 UTC (permalink / raw)
  To: ALT Linux Community general discussions

25.07.2014, 01:21, "Mikhail Efremov" <sem@altlinux.ru>:
> HAL мёртв уже несколько лет как. Я вообще удивлен, что оно еще
> шевелится. Но рано или поздно перестанет.

Отлично.
Что предлагается для шелл равноценное hal'у по простоте
и минимуму времени от поставил однострочником до работает,
которое у hmount с hal равно нулю?

Можно конечно pmount использовать:

$ lsblk |grep -v sda|grep -v ^sr
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1   7,5G  0 disk 
└─sdb1   8:17   1   707M  0 part 

$ blkid -s LABEL /dev/sdb1 # угадай с полраза
bash: blkid: команда не найдена

$ pmount -rs /dev/sdb1

$ lsblk |grep -v sda|grep -v ^sr
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1   7,5G  0 disk 
└─sdb1   8:17   1   707M  0 part /media/sdb1

$ pumount /dev/sdb1

$ lsblk |grep -v sda|grep -v ^sr
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1   7,5G  0 disk 
└─sdb1   8:17   1   707M  0 part 

Нет, если кому нравится по клавиатуре стучать, - не против.
Но по сравнению со связкой hmount+hal, pmount тот
ещё подарок:

$ hmount -l
</dev/sdb1>=8_17 label: "ALT Linux altlinux-p7-sysv-tde%i" product: "ALT Linux altlinux-p7-sysv-tde%i" FS: "iso9660" 
Found 1 devices

$ hmount /dev/sdb1
.... s= <sdb1> 

$ hmount -l
</dev/sdb1>=8_17  at "/media/sdb1" label: "ALT Linux altlinux-p7-sysv-tde%i" product: "ALT Linux altlinux-p7-sysv-tde%i" FS: "iso9660" 
Found 1 devices

$ hmount -u /dev/sdb1

$ hmount -l
</dev/sdb1>=8_17 label: "ALT Linux altlinux-p7-sysv-tde%i" product: "ALT Linux altlinux-p7-sysv-tde%i" FS: "iso9660" 
Found 1 devices

Куда уж проще? Проще некуда.


> Лучше уж тогда udisks2 использовать.
>

Угу.
Не забыл:
https://bugzilla.altlinux.org/show_bug.cgi?id=29134#c9
про побочный эффект.
Который если побочный, то непременно пофиксят, сделав:
хотели как лучше, а получилось как всегда.
Тот ещё подарок.

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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-24  8:57     ` Michael Shigorin
  2014-07-24 12:55       ` Владимир Гусев
@ 2014-07-28 23:36       ` Денис Смирнов
  2014-07-29  3:55         ` Eugene Prokopiev
  1 sibling, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-07-28 23:36 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 387 bytes --]

On Thu, Jul 24, 2014 at 11:57:22AM +0300, Michael Shigorin wrote:

> pmount вроде рядом используют, udisks2 буду смотреть
> вряд ли раньше переезда на e18+ и пока ничего тут
> сказать не могу.  Но это ж мои заморочки :)

Ага, спасибо.

Я правильно понимаю, что polkit живой и развивается, а consolekit
можно считать obsoleted?

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-24 23:09         ` Speccyfighter
@ 2014-07-28 23:41           ` Денис Смирнов
  2014-07-29 10:48             ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-07-28 23:41 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 518 bytes --]

On Fri, Jul 25, 2014 at 03:09:47AM +0400, Speccyfighter wrote:

> $ hmount -l
> </dev/sdb1>=8_17 label: "ALT Linux altlinux-p7-sysv-tde%i" product: "ALT Linux altlinux-p7-sysv-tde%i" FS: "iso9660" 
> Found 1 devices
> Куда уж проще? Проще некуда.

Я правильно понимаю, что killer feature здесь именно hmount -l, и не
устраивает в том же pmount отсустствие способа увидеть все removable
devices, вместе с их label и точкой монтирования (если примонтированы)?

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-28 23:36       ` Денис Смирнов
@ 2014-07-29  3:55         ` Eugene Prokopiev
  2014-07-29 15:10           ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Eugene Prokopiev @ 2014-07-29  3:55 UTC (permalink / raw)
  To: ALT Linux Community general discussions

29 июля 2014 г., 3:36 Денис Смирнов написал:

> Я правильно понимаю, что polkit живой и развивается, а consolekit
> можно считать obsoleted?

Да, и мне не ясно, что consolekit до сих пор делает в Сизифе и p7/t7 -
толку от него еще меньше, чем от hal.

Вообще использование udisksctl хорошо (или плохо?) тем, что все живые
файлменеджеры используют для работы с дисками тот же самый механизм.
Но именно такой killer feature как hmount -l я здесь не нашел.

-- 
WBR,
Eugene Prokopiev

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-28 23:41           ` Денис Смирнов
@ 2014-07-29 10:48             ` Speccyfighter
  2014-07-29 10:52               ` Speccyfighter
  2014-07-29 16:16               ` Денис Смирнов
  0 siblings, 2 replies; 66+ messages in thread
From: Speccyfighter @ 2014-07-29 10:48 UTC (permalink / raw)
  To: ALT Linux Community general discussions



29.07.2014, 03:41, "Денис Смирнов" <mithraen@freesource.info>:
> On Fri, Jul 25, 2014 at 03:09:47AM +0400, Speccyfighter wrote:
>>  $ hmount -l
>>  </dev/sdb1>=8_17 label: "ALT Linux altlinux-p7-sysv-tde%i" product: "ALT Linux altlinux-p7-sysv-tde%i" FS: "iso9660"
>>  Found 1 devices
>>  Куда уж проще? Проще некуда.
>
> Я правильно понимаю, что killer feature здесь именно hmount -l, и не
> устраивает в том же pmount отсустствие способа увидеть все removable
> devices, вместе с их label и точкой монтирования (если примонтированы)?
>

Угу.
И файловой системой.
Чтобы pmount сделать равноценным по функционалу hmount+hal,
к нему нужны:
- lsblk, который придётся грепать инверсией НЕ, иначе выбросит
листингом не только съёмные
(у себя при двух hdd и usb-hdd это выбросит 20 файловых систем - 
здесь нельзя не грепать)
- blkid, который надо будет вкручивать через sudo и беспарольку для
blkid -s LABEL -s TYPE /dev/что
- плюс ко всему этому, надо будет вкрутить alias'ы, чтобы отбросить
"мусор" и упростить ввод до уровня hmount: показать всё, кроме съёмных.
Возможно алиасом или скриптом для аналога 'hmount -l'

У меня как блочные usb используются:
4 флешки + 2 microSD + usb-hdd
(Конец ли это?)
А угадывать, что есть что, желания никакого.

Всё это требует подготовки, и подготовки под каждую конкретную
конфигурацию вместо одного единственного
hmount -l
который всё это показывает сразу и без преконфигурирования.
Не требуя от пользователя какого-либо мало-мальски серьёзного знания
внутренностей системы и предварительной подготовки.
Не считая запущенный hal естественно.
Вот если смотреть под таким углом, то 'hmount -l', это да,
именно киллер фича.
Которая у себя видится в сравнении вот так.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 10:48             ` Speccyfighter
@ 2014-07-29 10:52               ` Speccyfighter
  2014-07-29 16:16               ` Денис Смирнов
  1 sibling, 0 replies; 66+ messages in thread
From: Speccyfighter @ 2014-07-29 10:52 UTC (permalink / raw)
  To: ALT Linux Community general discussions



29.07.2014, 14:48, "Speccyfighter" <zxwarior@yandex.ru>:
> "мусор" и упростить ввод до уровня hmount: показать всё, кроме съёмных.

Ой, наоборот.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29  3:55         ` Eugene Prokopiev
@ 2014-07-29 15:10           ` Денис Смирнов
  0 siblings, 0 replies; 66+ messages in thread
From: Денис Смирнов @ 2014-07-29 15:10 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 652 bytes --]

On Tue, Jul 29, 2014 at 07:55:04AM +0400, Eugene Prokopiev wrote:

>> Я правильно понимаю, что polkit живой и развивается, а consolekit
>> можно считать obsoleted?
> Да, и мне не ясно, что consolekit до сих пор делает в Сизифе и p7/t7 -
> толку от него еще меньше, чем от hal.

Когда форкался p7 это было еще не совсем так.

> Вообще использование udisksctl хорошо (или плохо?) тем, что все живые
> файлменеджеры используют для работы с дисками тот же самый механизм.
> Но именно такой killer feature как hmount -l я здесь не нашел.

Ага, понял. К счастью как раз это написать не сложно.

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 10:48             ` Speccyfighter
  2014-07-29 10:52               ` Speccyfighter
@ 2014-07-29 16:16               ` Денис Смирнов
  2014-07-29 18:13                 ` Speccyfighter
                                   ` (3 more replies)
  1 sibling, 4 replies; 66+ messages in thread
From: Денис Смирнов @ 2014-07-29 16:16 UTC (permalink / raw)
  To: community


[-- Attachment #1.1: Type: text/plain, Size: 1825 bytes --]

On Tue, Jul 29, 2014 at 02:48:25PM +0400, Speccyfighter wrote:

> - lsblk, который придётся грепать инверсией НЕ, иначе выбросит
> листингом не только съёмные

wtf HE?

И как определить съемные? Я тут обнаружил, что в /sys/block/sdk/removable
у меня '0', при том что sdk это флешка.

> (у себя при двух hdd и usb-hdd это выбросит 20 файловых систем - 
> здесь нельзя не грепать)

А если грепать исключая содержимое fstab?

> - blkid, который надо будет вкручивать через sudo и беспарольку для
> blkid -s LABEL -s TYPE /dev/что

Зачем blkid, когда есть lsblk?

$ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM

> - плюс ко всему этому, надо будет вкрутить alias'ы, чтобы отбросить
> "мусор" и упростить ввод до уровня hmount: показать всё, кроме съёмных.
> Возможно алиасом или скриптом для аналога 'hmount -l'

Я попробовал написать такой скрипт, и у меня возникла проблема -- я не
могу определить что есть съемные устройства. Ибо флешка, как оказалось, не
съемное устройство.

> У меня как блочные usb используются:
> 4 флешки + 2 microSD + usb-hdd
> (Конец ли это?)
> А угадывать, что есть что, желания никакого.

Разумеется.

> Всё это требует подготовки, и подготовки под каждую конкретную
> конфигурацию вместо одного единственного
> hmount -l
> который всё это показывает сразу и без преконфигурирования.
> Не требуя от пользователя какого-либо мало-мальски серьёзного знания
> внутренностей системы и предварительной подготовки.
> Не считая запущенный hal естественно.
> Вот если смотреть под таким углом, то 'hmount -l', это да,
> именно киллер фича.
> Которая у себя видится в сравнении вот так.

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


-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #1.2: lmount --]
[-- Type: text/plain, Size: 2580 bytes --]

#!/usr/bin/perl -w
#============================================================================#
# List all block devices that not exists in fstab                            #
#============================================================================#
# (C) Denis Smirnov <mithraen@freesource.info>                               #
#============================================================================#
use strict;
use warnings qw(FATAL all);
use utf8;
use open qw(:utf8 :std);
use Cwd 'abs_path';

my @lsblk = split( "\n",
`/bin/lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM,KNAME,MODEL,TYPE,UUID -P`
);

my %disks;

my %fstab_dev;
my %fstab_uuid;
my %fstab_label;

sub parse_fstab() {
    open( my $fh, "<", "/etc/fstab" ) || die;
    while (<$fh>) {
        s/#.*//;
        next if /^\s*$/;
        s/\s+.*$//;
        s/\s+$//;
        if (/^LABEL=\"([^\"]+)\"/) {
            $fstab_label{$1} = 1;
        }
        elsif (/^LABEL=([^\"]+)/) {
            $fstab_label{$1} = 1;
        }
        if (/^UUID=\"([^\"]+)\"/) {
            $fstab_uuid{$1} = 1;
        }
        elsif (/^UUID=([^\"]+)/) {
            $fstab_uuid{$1} = 1;
        }
        else {
            my $dev = $_;
            $dev = abs_path($dev) if -l $dev;
            $fstab_dev{$dev} = 1;
        }
    }
    close($fh);
}

sub parse_line($) {
    my $fields = $_[0];
    my %h;
    while ( $fields =~ s/^\s*([^"]+)="([^\"]*)"\s*// ) {
        $h{$1} = $2;
    }
    my $dev = $h{KNAME};
    if ( $h{TYPE} eq 'disk' ) {
        $disks{$dev} = \%h;
    }
    if ( $h{TYPE} eq 'part' ) {
        my $basedev = $dev;
        $basedev =~ s/\d+$//;
        foreach my $key ( keys %h ) {
            if ( $h{$key} eq '' ) {
                $h{$key} = $disks{$basedev}->{$key};
            }
        }
    }

    #    return if $h{RM} eq '0';
    return if $h{FSTYPE} eq '';
    return if $h{FSTYPE} eq 'swap';
    return if $h{FSTYPE} eq 'linux_raid_member';
    return if $h{FSTYPE} eq 'LVM2_member';

    # skip LVM partitions
    return if $h{TYPE} eq 'lvm';

    # skip FS in fstab
    return if defined $fstab_label{ $h{LABEL} };
    return if defined $fstab_uuid{ $h{UUID} };
    return if defined $fstab_dev{ "/dev/" . $h{KNAME} };

    return \%h;
}

use Data::Dump qw/ddx/;

parse_fstab;

my @out;

foreach (@lsblk) {
    my $h = parse_line($_);
    next unless defined $h;

    # ddx $h;
    my $dev = "/dev/" . $h->{KNAME};
    push @out, $dev;
}

my $devices = join( ' ', @out );

print
    `/bin/lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM,KNAME,MODEL,TYPE,UUID -l $devices`;


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 16:16               ` Денис Смирнов
@ 2014-07-29 18:13                 ` Speccyfighter
  2014-07-29 19:20                   ` Денис Смирнов
  2014-07-29 19:27                   ` Speccyfighter
  2014-07-29 19:04                 ` Speccyfighter
                                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 66+ messages in thread
From: Speccyfighter @ 2014-07-29 18:13 UTC (permalink / raw)
  To: ALT Linux Community general discussions

29.07.2014, 20:16, "Денис Смирнов" <mithraen@freesource.info>:
> On Tue, Jul 29, 2014 at 02:48:25PM +0400, Speccyfighter wrote:
>>  - lsblk, который придётся грепать инверсией НЕ, иначе выбросит
>>  листингом не только съёмные
>
> wtf HE?
>

grep -v sd[a-z][1-9]



> И как определить съемные? Я тут обнаружил, что в /sys/block/sdk/removable
> у меня '0', при том что sdk это флешка.
>>  (у себя при двух hdd и usb-hdd это выбросит 20 файловых систем -
>>  здесь нельзя не грепать)
>
> А если грепать исключая содержимое fstab?

Не, не пойдёт.
Я ленив и часто у меня, особенно в стартеркитах IceWM, fstab почти пустой.
А сейчас полупустой.


>>  - blkid, который надо будет вкручивать через sudo и беспарольку для
>>  blkid -s LABEL -s TYPE /dev/что
>
> Зачем blkid, когда есть lsblk?
>
> $ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM

Тю ё ж моё, то что надо.
Вот же лень-матушка.


>>  - плюс ко всему этому, надо будет вкрутить alias'ы, чтобы отбросить
>>  "мусор" и упростить ввод до уровня hmount: показать всё, кроме съёмных.
>>  Возможно алиасом или скриптом для аналога 'hmount -l'
>
> Я попробовал написать такой скрипт, и у меня возникла проблема -- я не
> могу определить что есть съемные устройства. Ибо флешка, как оказалось, не
> съемное устройство.

Тогда так, дальше по-мотивам:
http://forum.altlinux.org/index.php/topic,32762.msg231374.html#msg231374

Однострочник, работающий как выброс блочных usb-устройств:

$ lsblk -o NAME,MOUNTPOINT,LABEL,FSTYPE $( \
BLKUSB=$(find /dev/disk/by-id/ -name usb-* ) && \
[ -z "$BLKUSB" ] || ls -lt --time-style=full-iso $BLKUSB | \
grep -v sd[a-z][1-9]|cut -d '>' -f2|sed 's/ ..\/../\/dev/')
NAME   MOUNTPOINT  LABEL                            FSTYPE
sdc                ALT Linux altlinux-p7-sysv-tde/i iso9660
└─sdc1 /media/sdc1 ALT Linux altlinux-p7-sysv-tde/i iso9660
sdb                ISOIMAGE                         iso9660
└─sdb1             ISOIMAGE                         iso9660

Не зависит от содержимого fstab, но требует sed..
В принципе заменит 'hmount -l'.
Но руками это в систему вкручивать... :-(
Но в общем, грубо, где-то так.
Если что, алиасом повесить.

С удовольствием бы послушал тех, у кого есть лучшие и более
элегантные работающие идеи.


>>  У меня как блочные usb используются:
>>  4 флешки + 2 microSD + usb-hdd
>>  (Конец ли это?)
>>  А угадывать, что есть что, желания никакого.
>
> Разумеется.

>>  Всё это требует подготовки, и подготовки под каждую конкретную
>>  конфигурацию вместо одного единственного
>>  hmount -l
>>  который всё это показывает сразу и без преконфигурирования.
>>  Не требуя от пользователя какого-либо мало-мальски серьёзного знания
>>  внутренностей системы и предварительной подготовки.
>>  Не считая запущенный hal естественно.
>>  Вот если смотреть под таким углом, то 'hmount -l', это да,
>>  именно киллер фича.
>>  Которая у себя видится в сравнении вот так.
>
> В аттаче макет скрипта, который вероятно выполняет эту задачу. Пожалуйста,
> посмотрите делает ли он то, что вы хотите.
>

Ошибку выдаёт на строке 88


> --
> С уважением, Денис
>
> http://mithraen.ru/
> ,
>
> _______________________________________________
> community mailing list
> community@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community

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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 16:16               ` Денис Смирнов
  2014-07-29 18:13                 ` Speccyfighter
@ 2014-07-29 19:04                 ` Speccyfighter
  2014-07-30  0:10                   ` Денис Смирнов
  2014-07-30  9:23                 ` Michael Shigorin
  2014-07-30  9:38                 ` Sergey
  3 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-07-29 19:04 UTC (permalink / raw)
  To: ALT Linux Community general discussions

29.07.2014, 20:16, "Денис Смирнов" <mithraen@freesource.info>:
> Я тут обнаружил, что в /sys/block/sdk/removable
> у меня '0', при том что sdk это флешка.

М-м...
У меня нормально показывает:

$ grep -rl 1 /sys/block/sd[a-z]/removable
/sys/block/sdb/removable
/sys/block/sdc/removable
 

$ find /sys/block/sd[a-z]/ -name removable
/sys/block/sda/removable
/sys/block/sdb/removable
/sys/block/sdc/removable


$ cat $(find /sys/block/sd[a-z]/ -name removable)
0
1
1


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 18:13                 ` Speccyfighter
@ 2014-07-29 19:20                   ` Денис Смирнов
  2014-07-29 19:52                     ` Speccyfighter
  2014-07-29 19:27                   ` Speccyfighter
  1 sibling, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-07-29 19:20 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1994 bytes --]

On Tue, Jul 29, 2014 at 10:13:07PM +0400, Speccyfighter wrote:

>> А если грепать исключая содержимое fstab?
> Не, не пойдёт.
> Я ленив и часто у меня, особенно в стартеркитах IceWM, fstab почти пустой.
> А сейчас полупустой.

А кто их монтирует?

>> Зачем blkid, когда есть lsblk?
>> $ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM
> Тю ё ж моё, то что надо.
> Вот же лень-матушка.

Я не знал до вашего письма про lsblk, так что пришлось почитать man :)

>> Я попробовал написать такой скрипт, и у меня возникла проблема -- я не
>> могу определить что есть съемные устройства. Ибо флешка, как оказалось, не
>> съемное устройство.
> Тогда так, дальше по-мотивам:
> http://forum.altlinux.org/index.php/topic,32762.msg231374.html#msg231374
> Однострочник, работающий как выброс блочных usb-устройств:

О! Спасибо. Тогда вот вариант без sed, но с xargs и realpath:

find /dev/disk/by-id/ -name usb-* -print0 \
    | xargs -0 realpath \
    | sort \
    | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE

Если убрать у lsblk -d и вернуть grep, то будут показываться и сами
устройства, и partitions на них. В моем варианте показываются только
partitions.

Недостаток -- MODEL от девайса не виден у partitions, а видеть название
девайса иногда может быть удобно.

Еще недостаток -- так как мы смотрим только USB devices, то, к примеру,
SATA CD уже игнорируется.

> В принципе заменит 'hmount -l'.
> Но руками это в систему вкручивать... :-(
> Но в общем, грубо, где-то так.
> Если что, алиасом повесить.
> С удовольствием бы послушал тех, у кого есть лучшие и более
> элегантные работающие идеи.

А зачем вкручивать? Если это работает -- сейчас обсудим оптимальный
вариант, и можно будет готовый скриптик опакетить.

>> В аттаче макет скрипта, который вероятно выполняет эту задачу. Пожалуйста,
>> посмотрите делает ли он то, что вы хотите.
> Ошибку выдаёт на строке 88

Закомментируйте.

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 18:13                 ` Speccyfighter
  2014-07-29 19:20                   ` Денис Смирнов
@ 2014-07-29 19:27                   ` Speccyfighter
  1 sibling, 0 replies; 66+ messages in thread
From: Speccyfighter @ 2014-07-29 19:27 UTC (permalink / raw)
  To: ALT Linux Community general discussions

29.07.2014, 22:13, "Speccyfighter" <zxwarior@yandex.ru>:
> Однострочник, работающий как выброс блочных usb-устройств:
>

Но лучше так для plmount
(ключ сортировки '-t' в скрипте предыдущего сообщения лишний):

$ lsblk -o NAME,MOUNTPOINT,LABEL,FSTYPE $( \
BLKUSB=$(find /dev/disk/by-id/ -name usb-* ) && \
[ -z "$BLKUSB" ] || ls -l --time-style=full-iso $BLKUSB | \
grep -v sd[a-z][1-9]|cut -d '>' -f2|sed 's/ ..\/../\/dev/')
NAME   MOUNTPOINT  LABEL                            FSTYPE
sdb                ALT Linux altlinux-p7-icewm/i586 iso9660
├─sdb1             ALT Linux altlinux-p7-icewm/i586 iso9660
└─sdb2 /media/sdb2 alt-live-storage                 ext4
sdc                ALT Linux altlinux-p7-sysv-tde/i iso9660
└─sdc1 /media/sdc1 ALT Linux altlinux-p7-sysv-tde/i iso9660


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 19:20                   ` Денис Смирнов
@ 2014-07-29 19:52                     ` Speccyfighter
  2014-07-29 19:59                       ` Speccyfighter
  2014-07-30  0:52                       ` Денис Смирнов
  0 siblings, 2 replies; 66+ messages in thread
From: Speccyfighter @ 2014-07-29 19:52 UTC (permalink / raw)
  To: ALT Linux Community general discussions

29.07.2014, 23:20, "Денис Смирнов" <mithraen@freesource.info>:
> On Tue, Jul 29, 2014 at 10:13:07PM +0400, Speccyfighter wrote:
>>>  А если грепать исключая содержимое fstab?
>>  Не, не пойдёт.
>>  Я ленив и часто у меня, особенно в стартеркитах IceWM, fstab почти пустой.
>>  А сейчас полупустой.
>
> А кто их монтирует?

:-)
Я.
Руками при необходимости.


>>>  Зачем blkid, когда есть lsblk?
>>>  $ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM
>>  Тю ё ж моё, то что надо.
>>  Вот же лень-матушка.
>
> Я не знал до вашего письма про lsblk, так что пришлось почитать man :)
>>>  Я попробовал написать такой скрипт, и у меня возникла проблема -- я не
>>>  могу определить что есть съемные устройства. Ибо флешка, как оказалось, не
>>>  съемное устройство.
>>  Тогда так, дальше по-мотивам:
>>  http://forum.altlinux.org/index.php/topic,32762.msg231374.html#msg231374
>>  Однострочник, работающий как выброс блочных usb-устройств:
>
> О! Спасибо. Тогда вот вариант без sed, но с xargs и realpath:
>
> find /dev/disk/by-id/ -name usb-* -print0 \
>     | xargs -0 realpath \
>     | sort \
>     | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE
>

Во-во-во! То что надо. Коротко и всё необходимое для plmount
на месте:

# find /dev/disk/by-id/ -name usb-* -print0 \
>     | xargs -0 realpath \
>     | sort \
>     | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE
NAME MOUNTPOINT  LABEL                            FSTYPE   SIZE
sdb              ALT Linux altlinux-p7-icewm/i586 iso9660  3,6G
sdb1             ALT Linux altlinux-p7-icewm/i586 iso9660  333M
sdb2 /media/sdb2 alt-live-storage                 ext4     3,3G
sdc              ALT Linux altlinux-p7-sysv-tde/i iso9660  7,5G
sdc1 /media/sdc1 ALT Linux altlinux-p7-sysv-tde/i iso9660  707M

Одно сомнение берёт: есть ли необходимость в SIZE?
df не обременяет. Главное снимается вопрос что/куда/где.
Т.е. отсутствующий plmount.
Хотя в принципе SIZE и не мешает.
Порядок вывода самый подходящий.


> Если убрать у lsblk -d и вернуть grep, то будут показываться и сами
> устройства, и partitions на них. В моем варианте показываются только
> partitions.
>
> Недостаток -- MODEL от девайса не виден у partitions, а видеть название
> девайса иногда может быть удобно.
>
> Еще недостаток -- так как мы смотрим только USB devices, то, к примеру,
> SATA CD уже игнорируется.
>>  В принципе заменит 'hmount -l'.
>>  Но руками это в систему вкручивать... :-(
>>  Но в общем, грубо, где-то так.
>>  Если что, алиасом повесить.
>>  С удовольствием бы послушал тех, у кого есть лучшие и более
>>  элегантные работающие идеи.
>
> А зачем вкручивать? Если это работает -- сейчас обсудим оптимальный
> вариант, и можно будет готовый скриптик опакетить.
>>>  В аттаче макет скрипта, который вероятно выполняет эту задачу. Пожалуйста,
>>>  посмотрите делает ли он то, что вы хотите.
>>  Ошибку выдаёт на строке 88
>
> Закомментируйте.
>

Ошибка исчезла. Отработало:

# lmount 
NAME FSTYPE  LABEL            MOUNTPOINT    SIZE RM KNAME MODEL       TYPE UUID
sda2 ext4    home                         100,6G  0 sda2              part 649cd2fb-f761-451a-9546-d74663cb95ee
sdb  iso9660 ALT Linux altlinux-p7-icewm/i586
                                            3,6G  1 sdb   TransMemory disk 2013-09-24-03-35-27-00
sdb1 iso9660 ALT Linux altlinux-p7-icewm/i586
                                            333M  1 sdb1              part 2013-09-24-03-35-27-00
sdb2 ext4    alt-live-storage /media/sdb2   3,3G  1 sdb2              part a9be2840-13c7-485d-b43e-a2bab757a175
sdb1 iso9660 ALT Linux altlinux-p7-icewm/i586
                                            333M  1 sdb1              part 2013-09-24-03-35-27-00
sdb2 ext4    alt-live-storage /media/sdb2   3,3G  1 sdb2              part a9be2840-13c7-485d-b43e-a2bab757a175
sdc  iso9660 ALT Linux altlinux-p7-sysv-tde/i
                                            7,5G  1 sdc   Silicon-Pow disk 2014-01-27-19-15-12-00
sdc1 iso9660 ALT Linux altlinux-p7-sysv-tde/i
                              /media/sdc1   707M  1 sdc1              part 2014-01-27-19-15-12-00
sdc1 iso9660 ALT Linux altlinux-p7-sysv-tde/i
                              /media/sdc1   707M  1 sdc1              part 2014-01-27-19-15-12-00


Но ваш вариант выше как-то красивее. ИМХО.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 19:52                     ` Speccyfighter
@ 2014-07-29 19:59                       ` Speccyfighter
  2014-07-30  0:52                       ` Денис Смирнов
  1 sibling, 0 replies; 66+ messages in thread
From: Speccyfighter @ 2014-07-29 19:59 UTC (permalink / raw)
  To: ALT Linux Community general discussions



29.07.2014, 23:52, "Speccyfighter" <zxwarior@yandex.ru>:
> 29.07.2014, 23:20, "Денис Смирнов" <mithraen@freesource.info>:
>>  О! Спасибо. Тогда вот вариант без sed, но с xargs и realpath:
>>
>>  find /dev/disk/by-id/ -name usb-* -print0 \
>>      | xargs -0 realpath \
>>      | sort \
>>      | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE
>
> Во-во-во! То что надо. Коротко и всё необходимое для plmount
> на месте:
>
> # find /dev/disk/by-id/ -name usb-* -print0 \
>>      | xargs -0 realpath \
>>      | sort \
>>      | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE
>
> NAME MOUNTPOINT  LABEL                            FSTYPE   SIZE
> sdb              ALT Linux altlinux-p7-icewm/i586 iso9660  3,6G
> sdb1             ALT Linux altlinux-p7-icewm/i586 iso9660  333M
> sdb2 /media/sdb2 alt-live-storage                 ext4     3,3G
> sdc              ALT Linux altlinux-p7-sysv-tde/i iso9660  7,5G
> sdc1 /media/sdc1 ALT Linux altlinux-p7-sysv-tde/i iso9660  707M
>

От пользователя тоже нормально отрабатывает:

$ find /dev/disk/by-id/ -name usb-* -print0 \
>     | xargs -0 realpath \
>     | sort \
>     | xargs lsblk -d -l -o NAME,MOUNTPOINT,LABEL,FSTYPE,SIZE
NAME MOUNTPOINT  LABEL                            FSTYPE   SIZE
sdb              ALT Linux altlinux-p7-icewm/i586 iso9660  3,6G
sdb1             ALT Linux altlinux-p7-icewm/i586 iso9660  333M
sdb2 /media/sdb2 alt-live-storage                 ext4     3,3G
sdc              ALT Linux altlinux-p7-sysv-tde/i iso9660  7,5G
sdc1 /media/sdc1 ALT Linux altlinux-p7-sysv-tde/i iso9660  707M


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 19:04                 ` Speccyfighter
@ 2014-07-30  0:10                   ` Денис Смирнов
  0 siblings, 0 replies; 66+ messages in thread
From: Денис Смирнов @ 2014-07-30  0:10 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 473 bytes --]

On Tue, Jul 29, 2014 at 11:04:15PM +0400, Speccyfighter wrote:

>> Я тут обнаружил, что в /sys/block/sdk/removable
>> у меня '0', при том что sdk это флешка.
> М-м...
> У меня нормально показывает:
> $ grep -rl 1 /sys/block/sd[a-z]/removable
> /sys/block/sdb/removable
> /sys/block/sdc/removable

Похоже зависит от ядра. У меня раньше тоже нормально показывало. Google
говорит что я не одинок с этой проблемой.

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 19:52                     ` Speccyfighter
  2014-07-29 19:59                       ` Speccyfighter
@ 2014-07-30  0:52                       ` Денис Смирнов
  2014-07-30  3:26                         ` Speccyfighter
  2014-07-30  4:46                         ` Speccyfighter
  1 sibling, 2 replies; 66+ messages in thread
From: Денис Смирнов @ 2014-07-30  0:52 UTC (permalink / raw)
  To: community


[-- Attachment #1.1: Type: text/plain, Size: 1112 bytes --]

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 хотел показывать, но это уже столь красивым способом не
получается.

> Ошибка исчезла. Отработало:
> Но ваш вариант выше как-то красивее. ИМХО.

В аттаче еще более универсальный вариант. Отличается от простого на шелл
тем, что:

1. поддерживает и USB-devices, _и_ все removable devices (т.е. должно
нормально понимать CD, флоппики, и т.д.)

2. игнорирует все упомянутое в /etc/fstab, даже если оно removable или
USB. Хотя нужно ли это -- не уверен. Если не нужно, можно легко обойтись
shell'ом без всяких извращений с перловкой.

P.S. Если будет ругаться на Text::Table -- apt-get install perl-Text-Table

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #1.2: lmount --]
[-- Type: text/plain, Size: 3092 bytes --]

#!/usr/bin/perl -w
#============================================================================#
# List all block devices that not exists in fstab                            #
#============================================================================#
# (C) Denis Smirnov <mithraen@freesource.info>                               #
#============================================================================#
use strict;
use warnings qw(FATAL all);
use utf8;
use open qw(:utf8 :std);
use Cwd 'abs_path';
use Text::Table;

my %devices;

# List all USB devices
foreach ( glob("/dev/disk/by-id/usb-*") ) {
    $devices{ abs_path($_) } = 1;
}

# List all removable devices
{
    my @devs = split( "\n", `/bin/lsblk -d -r -o RO,KNAME` );
    foreach (@devs) {
        next unless /^1\s+(.+)$/;
        $devices{$1} = 1;
    }
}

# Parse /etc/fstab
my %disks;
my %fstab_dev;
my %fstab_uuid;
my %fstab_label;

sub parse_fstab() {
    open( my $fh, "<", "/etc/fstab" ) || die;
    while (<$fh>) {
        s/#.*//;
        next if /^\s*$/;
        s/\s+.*$//;
        s/\s+$//;
        if (/^LABEL=\"([^\"]+)\"/) {
            $fstab_label{$1} = 1;
        }
        elsif (/^LABEL=([^\"]+)/) {
            $fstab_label{$1} = 1;
        }
        if (/^UUID=\"([^\"]+)\"/) {
            $fstab_uuid{$1} = 1;
        }
        elsif (/^UUID=([^\"]+)/) {
            $fstab_uuid{$1} = 1;
        }
        else {
            my $dev = $_;
            $dev = abs_path($dev) if -l $dev;
            $fstab_dev{$dev} = 1;
        }
    }
    close($fh);
}

sub parse_line($) {
    my $fields = $_[0];
    my %h;
    while ( $fields =~ s/^\s*([^"]+)="([^\"]*)"\s*// ) {
        $h{$1} = $2;
    }
    my $dev = $h{KNAME};
    if ( $h{TYPE} eq 'disk' ) {
        use Data::Dump qw/ddx/;
        $disks{$dev} = \%h;
    }
    if ( $h{TYPE} eq 'part' ) {
        my $basedev = $dev;
        $basedev =~ s/\d+$//;
        foreach my $key ( keys %h ) {
            if ( $h{$key} eq '' ) {
                $h{$key} = $disks{$basedev}->{$key};
            }
        }
    }

    return if $h{FSTYPE} eq '';
    return if $h{FSTYPE} eq 'swap';
    return if $h{FSTYPE} eq 'linux_raid_member';
    return if $h{FSTYPE} eq 'LVM2_member';

    # skip LVM partitions
    return if $h{TYPE} eq 'lvm';

    # skip FS in fstab
    return if defined $fstab_label{ $h{LABEL} };
    return if defined $fstab_uuid{ $h{UUID} };
    return if defined $fstab_dev{ "/dev/" . $h{KNAME} };

    return \%h;
}

parse_fstab;

my @out;

# Get all info about removable and USB devices
open( my $fh, "-|", '/bin/lsblk', '-o',
    'NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM,KNAME,MODEL,TYPE,UUID', '-P' );

my $tb =
  Text::Table->new( 'NAME', 'MOUNTPOINT', 'LABEL', 'FSTYPE', "SIZE\n&left",
    'MODEL' );

while (<$fh>) {
    my $h = parse_line($_);
    next unless defined $h;
    next unless defined $devices{ "/dev/" . $h->{KNAME} };
    $tb->add(
        $h->{NAME},   $h->{MOUNTPOINT}, $h->{LABEL},
        $h->{FSTYPE}, $h->{SIZE},       $h->{MODEL}
    );

    my $dev = "/dev/" . $h->{KNAME};
    push @out, $dev;
}

print $tb;

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-30  0:52                       ` Денис Смирнов
@ 2014-07-30  3:26                         ` Speccyfighter
  2014-07-30 18:11                           ` Денис Смирнов
  2014-07-30  4:46                         ` Speccyfighter
  1 sibling, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-07-30  3:26 UTC (permalink / raw)
  To: ALT Linux Community general discussions

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     


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-30  0:52                       ` Денис Смирнов
  2014-07-30  3:26                         ` Speccyfighter
@ 2014-07-30  4:46                         ` Speccyfighter
  2014-07-30  5:31                           ` Speccyfighter
  2014-07-30 14:41                           ` Денис Смирнов
  1 sibling, 2 replies; 66+ messages in thread
From: Speccyfighter @ 2014-07-30  4:46 UTC (permalink / raw)
  To: ALT Linux Community general discussions



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


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


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-30  4:46                         ` Speccyfighter
@ 2014-07-30  5:31                           ` Speccyfighter
  2014-07-30 14:41                           ` Денис Смирнов
  1 sibling, 0 replies; 66+ messages in thread
From: Speccyfighter @ 2014-07-30  5:31 UTC (permalink / raw)
  To: ALT Linux Community general discussions



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
>


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 16:16               ` Денис Смирнов
  2014-07-29 18:13                 ` Speccyfighter
  2014-07-29 19:04                 ` Speccyfighter
@ 2014-07-30  9:23                 ` Michael Shigorin
  2014-07-30 14:39                   ` Денис Смирнов
  2014-07-30  9:38                 ` Sergey
  3 siblings, 1 reply; 66+ messages in thread
From: Michael Shigorin @ 2014-07-30  9:23 UTC (permalink / raw)
  To: community

On Tue, Jul 29, 2014 at 08:16:19PM +0400, Денис Смирнов wrote:
> Зачем blkid, когда есть lsblk?
> $ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM

Спасибо, будет в rescue.  Ещё в какие регулярки
(и затем стартеркиты) добавить?

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-29 16:16               ` Денис Смирнов
                                   ` (2 preceding siblings ...)
  2014-07-30  9:23                 ` Michael Shigorin
@ 2014-07-30  9:38                 ` Sergey
  2014-07-30 11:16                   ` Sergey
  3 siblings, 1 reply; 66+ messages in thread
From: Sergey @ 2014-07-30  9:38 UTC (permalink / raw)
  To: community

On Tuesday 29 July 2014, Денис Смирнов wrote:

> $ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM
> 
> > - плюс ко всему этому, надо будет вкрутить alias'ы, чтобы отбросить
> > "мусор" и упростить ввод до уровня hmount: показать всё, кроме съёмных.
> > Возможно алиасом или скриптом для аналога 'hmount -l'
> 
> Я попробовал написать такой скрипт, и у меня возникла проблема -- я не
> могу определить что есть съемные устройства. Ибо флешка, как оказалось, не
> съемное устройство.
 
Так lsblk же показывает:

lsblk -o NAME,UUID,RM

sdb                                           1
`-sdb1  3061-3962                             1

Кстати, удобная утилитка, первый раз увидел. :-)

-- 
С уважением, Сергей
a_s_y@sama.ru


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-30  9:38                 ` Sergey
@ 2014-07-30 11:16                   ` Sergey
  0 siblings, 0 replies; 66+ messages in thread
From: Sergey @ 2014-07-30 11:16 UTC (permalink / raw)
  To: ALT Linux Community general discussions

On Wednesday 30 July 2014, Sergey wrote:

> Так lsblk же показывает:
 
Надо было дочитать ветку. Прочитал про ядро. :-)

-- 
С уважением, Сергей
a_s_y@sama.ru


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-30  9:23                 ` Michael Shigorin
@ 2014-07-30 14:39                   ` Денис Смирнов
  0 siblings, 0 replies; 66+ messages in thread
From: Денис Смирнов @ 2014-07-30 14:39 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 319 bytes --]

On Wed, Jul 30, 2014 at 12:23:39PM +0300, Michael Shigorin wrote:

>> Зачем blkid, когда есть lsblk?
>> $ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM
> Спасибо, будет в rescue.  Ещё в какие регулярки
> (и затем стартеркиты) добавить?

Везде, где есть pmount?

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-30  4:46                         ` Speccyfighter
  2014-07-30  5:31                           ` Speccyfighter
@ 2014-07-30 14:41                           ` Денис Смирнов
  2014-07-30 16:39                             ` Speccyfighter
  1 sibling, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-07-30 14:41 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 609 bytes --]

On Wed, Jul 30, 2014 at 08:46:20AM +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
> realpath: пропущен операнд
> По команде «realpath --help» можно получить дополнительную информацию.

К xargs добавить во 2-й и 4-й строчке параметр -r.

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-30 14:41                           ` Денис Смирнов
@ 2014-07-30 16:39                             ` Speccyfighter
  0 siblings, 0 replies; 66+ messages in thread
From: Speccyfighter @ 2014-07-30 16:39 UTC (permalink / raw)
  To: ALT Linux Community general discussions

30.07.2014, 18:41, "Денис Смирнов" <mithraen@freesource.info>:
> On Wed, Jul 30, 2014 at 08:46:20AM +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
>>  realpath: пропущен операнд
>>  По команде «realpath --help» можно получить дополнительную информацию.
>
> К xargs добавить во 2-й и 4-й строчке параметр -r.
>

Да, с --no-run-if-empty работает как и должно.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-30  3:26                         ` Speccyfighter
@ 2014-07-30 18:11                           ` Денис Смирнов
  2014-07-31  2:00                             ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-07-30 18:11 UTC (permalink / raw)
  To: community


[-- Attachment #1.1: Type: text/plain, Size: 804 bytes --]

On Wed, Jul 30, 2014 at 07:26:53AM +0400, Speccyfighter wrote:

> В принципе модель не столь важно, если есть идентификация по SIZE.
> Да и LABEL на месте.

В принципе да.

> Думается CD не столь важно. Можно обойтись shell'овым скриптом.

Перловый скриптик должен с cdrom работать корректно, работает? У меня
просто CD под рукой нет, чтобы проверить.

Если уж начал тратить время на решение задачи, то хочется решить её
окончательно, так чтобы больше не возвращаться :)

P.S. В аттаче очередная версия. Отличия:

- понимает /etc/pmount.allow (перечисленное там показывается, если нашли
  FS
- игнорирует все девайсы, перечисленные в fstab
- включает девасы, перечисленные в fstab с опцией 'user' (раз уж pmount
  это поддерживает)

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #1.2: lmount --]
[-- Type: text/plain, Size: 4272 bytes --]

#!/usr/bin/perl
#============================================================================#
# List all block devices that not exists in fstab                            #
#============================================================================#
# (C) Denis Smirnov <mithraen@freesource.info>                               #
#============================================================================#
use strict;
use warnings qw(FATAL all);
use Cwd 'abs_path';
use Text::Table;

my %devices;

# List all USB devices
foreach ( glob("/dev/disk/by-id/usb-*") ) {
    $devices{ abs_path($_) } = 1;
}

# List all removable devices
{
    my @devs = split( "\n", `/bin/lsblk -d -r -o RO,KNAME` );
    foreach (@devs) {
        next unless /^1\s+(.+)$/;
        $devices{$1} = 1;
    }
}

# List all devices in /etc/pmount.allow
if ( open my $fh, "<", "/etc/pmount.allow" ) {
    while (<$fh>) {
        s/#.*//;
        s/\s+$//;
        next if $_ eq '';
        $_ = abs_path($_) if -l $_;
        $devices{$_} = 1;
    }
    close $fh;
}

# Parse /etc/fstab
my %disks;
my %fstab_dev;
my %fstab_uuid;
my %fstab_label;

sub parse_fstab($) {
    open( my $fh, "<", $_[0] ) || return;
    my @out;
    while (<$fh>) {
        my %h;
        s/#.*//;
        s/\s+$//;
        next if $_ eq '';

        my ( $dev, $uuid, $label ) = ( '', '', '' );
        if (s/^UUID=([^\s"]+)\s+//) {
            $uuid = $1;
            $h{uuid} = $1;
        }
        elsif (s/^UUID="([^"]+)"\s+//) {
            $uuid = $1;
            $h{uuid} = $1;
        }
        elsif (s/^LABEL=([^\s"]+)\s+//) {
            $label = $1;
            $h{label} = $1;
        }
        elsif (s/^LABEL="((?:[^"]|"")+)"\s+//) {
            $label = $1;
            $label =~ s/""/"/g;
            $h{label} = $1;
        }
        elsif (s/^([^\s"]+)\s+//) {
            $dev = $1;
            $h{dev} = $1;
        }
        else {
            next;
        }
        my @fields = split( /\s+/, $_ );
        $h{mountpoint} = shift(@fields);
        $h{fs}         = shift(@fields);
        my @opts = split( ',', shift(@fields) );
        foreach my $opt (@opts) {
            $h{opts}->{$opt} = 1;
        }

        push @out, \%h;
    }
    close $fh;
    return @out;
}

sub parse_line($) {
    my $fields = $_[0];
    my %h;
    while ( $fields =~ s/^\s*([^"]+)="([^\"]*)"\s*// ) {
        $h{$1} = $2;
    }
    my $dev = $h{KNAME};
    if ( $h{TYPE} eq 'disk' ) {
        $disks{$dev} = \%h;
    }
    if ( $h{TYPE} eq 'part' ) {
        my $basedev = $dev;
        $basedev =~ s/\d+$//;
        foreach my $key ( keys %h ) {
            if ( $h{$key} eq '' ) {
                $h{$key} = $disks{$basedev}->{$key};
            }
        }
    }

   return if $h{FSTYPE} eq '';
    return if $h{FSTYPE} eq 'swap';
    return if $h{FSTYPE} eq 'linux_raid_member';
    return if $h{FSTYPE} eq 'LVM2_member';

    # skip LVM partitions
    #    return if $h{TYPE} eq 'lvm';

    # skip FS in fstab
    return if defined $fstab_label{ $h{LABEL} };
    return if defined $fstab_uuid{ $h{UUID} };
    return if defined $fstab_dev{ "/dev/" . $h{KNAME} };

    return \%h;
}

foreach ( parse_fstab "/etc/fstab" ) {
    if ( defined $_->{opts}->{user} ) {
        if ( defined $_->{dev} ) {
            my $dev = $_->{dev};
            $dev = abs_path($dev) if -l $dev;
            $devices{$dev} = 1;
        }
        next;
    }

    if ( defined $_->{dev} ) {
        my $dev = $_->{dev};
        $dev = abs_path($dev) if -l $dev;
        $fstab_dev{$dev} = 1;
    }
    $fstab_label{ $_->{label} } = 1 if defined $_->{label};
    $fstab_uuid{ $_->{uuid} }   = 1 if defined $_->{uuid};
}

my @out;

# Get all info about removable and USB devices
open( my $fh, "-|", '/bin/lsblk', '-o',
    'NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM,KNAME,MODEL,TYPE,UUID', '-P' );

my $tb =
  Text::Table->new( 'NAME', 'MOUNTPOINT', 'LABEL', 'FSTYPE', "SIZE\n&left",
    'MODEL' );

while (<$fh>) {
    my $h = parse_line($_);
    next unless defined $h;
    next unless defined $devices{ "/dev/" . $h->{KNAME} };
    $tb->add(
        $h->{NAME},   $h->{MOUNTPOINT}, $h->{LABEL},
        $h->{FSTYPE}, $h->{SIZE},       $h->{MODEL}
    );

    my $dev = "/dev/" . $h->{KNAME};
    push @out, $dev;
}

print $tb;

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-30 18:11                           ` Денис Смирнов
@ 2014-07-31  2:00                             ` Speccyfighter
  2014-07-31 14:06                               ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-07-31  2:00 UTC (permalink / raw)
  To: ALT Linux Community general discussions

30.07.2014, 22:12, "Денис Смирнов" <mithraen@freesource.info>:
> On Wed, Jul 30, 2014 at 07:26:53AM +0400, Speccyfighter wrote:
>>  В принципе модель не столь важно, если есть идентификация по SIZE.
>>  Да и LABEL на месте.
>
> В принципе да.
>>  Думается CD не столь важно. Можно обойтись shell'овым скриптом.
>
> Перловый скриптик должен с cdrom работать корректно, работает? У меня
> просто CD под рукой нет, чтобы проверить.
>

Чтобы запустился:

$ cat /usr/local/bin/lmount3 |head -n 1
#!/usr/bin/perl

$ lmount3
bash: /usr/local/bin/lmount3: /usr/bin/perl^M: плохой интерпретатор: Нет такого файла или каталога

пришлось поправить:

$ cat /usr/local/bin/lmount3 |head -n 1
#!/usr/bin/perl -w

После чего:

$ pmount -w /dev/sdc2 TOSHIBA

и оптический привод отображается:

$ lmount3
NAME MOUNTPOINT     LABEL                            FSTYPE  SIZE   MODEL
sdc                 ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G   TransMemory
sdc1                ALT Linux altlinux-p7-icewm/i586 iso9660 333M   TransMemory
sdc2 /media/TOSHIBA alt-live-storage                 ext4    3,3G   TransMemory
sr0                 KNOPPIX                          iso9660 693,7M DVD RW AD-7240S

при условии:

$ cat /etc/pmount.allow
# /etc/pmount.allow
# pmount will allow users to additionally mount all devices that are
# listed here.

#/dev/sd[c-z]?
/dev/sr0

что матрица находится в приводе.

Краткий help бы к скрипту, чтобы никто не гадал,
что оно и зачем. И способ употребления.


> Если уж начал тратить время на решение задачи, то хочется решить её
> окончательно, так чтобы больше не возвращаться :)
>
> P.S. В аттаче очередная версия. Отличия:
>
> - понимает /etc/pmount.allow (перечисленное там показывается, если нашли
>   FS
> - игнорирует все девайсы, перечисленные в fstab
> - включает девасы, перечисленные в fstab с опцией 'user' (раз уж pmount
>   это поддерживает)
>
> --
> С уважением, Денис
>
> http://mithraen.ru/
> ,
>
> _______________________________________________
> community mailing list
> community@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community

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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-31  2:00                             ` Speccyfighter
@ 2014-07-31 14:06                               ` Денис Смирнов
  2014-07-31 14:39                                 ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-07-31 14:06 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1077 bytes --]

On Thu, Jul 31, 2014 at 06:00:30AM +0400, Speccyfighter wrote:

>> Перловый скриптик должен с cdrom работать корректно, работает? У меня
>> просто CD под рукой нет, чтобы проверить.
> Чтобы запустился:
> $ cat /usr/local/bin/lmount3 |head -n 1
> #!/usr/bin/perl
> $ lmount3
> bash: /usr/local/bin/lmount3: /usr/bin/perl^M: плохой интерпретатор: Нет такого файла или каталога
> пришлось поправить:
> $ cat /usr/local/bin/lmount3 |head -n 1
> #!/usr/bin/perl -w
> После чего:

Похоже почтовик добавил DOS'овский перенос строки :-(

> $ pmount -w /dev/sdc2 TOSHIBA
> и оптический привод отображается:
> $ cat /etc/pmount.allow
> # /etc/pmount.allow
> # pmount will allow users to additionally mount all devices that are
> # listed here.
> #/dev/sd[c-z]?
> /dev/sr0
> что матрица находится в приводе.

А если матрица в приводе, то без упоминания в pmount.allow не
показывается?

> Краткий help бы к скрипту, чтобы никто не гадал,
> что оно и зачем. И способ употребления.

Отладим -- напишу man :)

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-31 14:06                               ` Денис Смирнов
@ 2014-07-31 14:39                                 ` Speccyfighter
  2014-07-31 16:47                                   ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-07-31 14:39 UTC (permalink / raw)
  To: ALT Linux Community general discussions

31.07.2014, 18:06, "Денис Смирнов" <mithraen@freesource.info>:
>>  и оптический привод отображается:
>>  $ cat /etc/pmount.allow
>>  # /etc/pmount.allow
>>  # pmount will allow users to additionally mount all devices that are
>>  # listed here.
>>  #/dev/sd[c-z]?
>>  /dev/sr0
>>  что матрица находится в приводе.
>
> А если матрица в приводе, то без упоминания в pmount.allow не
> показывается?

Нет, не хочет отображать.
Чтобы perl'овый скрипт отображал оптический привод с матрицей,
указание устройства оптического привода в файле
/etc/pmount.allow
например
/dev/sr0
обязательно.

Проверил с наличием, без наличия, с наличием.
Требует указания устройства для отображения.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-31 14:39                                 ` Speccyfighter
@ 2014-07-31 16:47                                   ` Денис Смирнов
  2014-07-31 17:35                                     ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-07-31 16:47 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 533 bytes --]

On Thu, Jul 31, 2014 at 06:39:40PM +0400, Speccyfighter wrote:

> Нет, не хочет отображать.

Где-то у меня бага.

> Чтобы perl'овый скрипт отображал оптический привод с матрицей,
> указание устройства оптического привода в файле
> /etc/pmount.allow
> например
> /dev/sr0
> обязательно.

> Проверил с наличием, без наличия, с наличием.
> Требует указания устройства для отображения.

Что показывает эта команда, когда вставлен CD?

$ /bin/lsblk -d -r -o RO,KNAME


-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-31 16:47                                   ` Денис Смирнов
@ 2014-07-31 17:35                                     ` Speccyfighter
  2014-07-31 19:05                                       ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-07-31 17:35 UTC (permalink / raw)
  To: ALT Linux Community general discussions



31.07.2014, 20:48, "Денис Смирнов" <mithraen@freesource.info>:
> On Thu, Jul 31, 2014 at 06:39:40PM +0400, Speccyfighter wrote:
>>  Нет, не хочет отображать.
>
> Где-то у меня бага.
>>  Чтобы perl'овый скрипт отображал оптический привод с матрицей,
>>  указание устройства оптического привода в файле
>>  /etc/pmount.allow
>>  например
>>  /dev/sr0
>>  обязательно.
>>  Проверил с наличием, без наличия, с наличием.
>>  Требует указания устройства для отображения.
>
> Что показывает эта команда, когда вставлен CD?
>
> $ /bin/lsblk -d -r -o RO,KNAME
>

Выдала:

$ /bin/lsblk -d -r -o RO,KNAME
RO KNAME
0 sda
0 sdb
0 sdc
0 sr0

Вывод от содержимого /etc/pmount.allow не зависит.

$ /bin/lsblk -d -r -o RO,KNAME
RO KNAME
0 sda -|
0 sdb -|- hdd's
0 sdc --- usb-flash
0 sr0 --- optical drive


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-31 17:35                                     ` Speccyfighter
@ 2014-07-31 19:05                                       ` Денис Смирнов
  2014-08-01  0:47                                         ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-07-31 19:05 UTC (permalink / raw)
  To: community


[-- Attachment #1.1: Type: text/plain, Size: 323 bytes --]

On Thu, Jul 31, 2014 at 09:35:59PM +0400, Speccyfighter wrote:

>> $ /bin/lsblk -d -r -o RO,KNAME
> Выдала:
> $ /bin/lsblk -d -r -o RO,KNAME
> RO KNAME
> 0 sda
> 0 sdb
> 0 sdc
> 0 sr0

О, у меня была очепятка в скрипте. Надо было RM а не RO. Fixed, в аттаче.


-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #1.2: lmount --]
[-- Type: text/plain, Size: 4272 bytes --]

#!/usr/bin/perl
#============================================================================#
# List all block devices that not exists in fstab                            #
#============================================================================#
# (C) Denis Smirnov <mithraen@freesource.info>                               #
#============================================================================#
use strict;
use warnings qw(FATAL all);
use Cwd 'abs_path';
use Text::Table;

my %devices;

# List all USB devices
foreach ( glob("/dev/disk/by-id/usb-*") ) {
    $devices{ abs_path($_) } = 1;
}

# List all removable devices
{
    my @devs = split( "\n", `/bin/lsblk -d -r -o RM,KNAME` );
    foreach (@devs) {
        next unless /^1\s+(.+)$/;
        $devices{$1} = 1;
    }
}

# List all devices in /etc/pmount.allow
if ( open my $fh, "<", "/etc/pmount.allow" ) {
    while (<$fh>) {
        s/#.*//;
        s/\s+$//;
        next if $_ eq '';
        $_ = abs_path($_) if -l $_;
        $devices{$_} = 1;
    }
    close $fh;
}

# Parse /etc/fstab
my %disks;
my %fstab_dev;
my %fstab_uuid;
my %fstab_label;

sub parse_fstab($) {
    open( my $fh, "<", $_[0] ) || return;
    my @out;
    while (<$fh>) {
        my %h;
        s/#.*//;
        s/\s+$//;
        next if $_ eq '';

        my ( $dev, $uuid, $label ) = ( '', '', '' );
        if (s/^UUID=([^\s"]+)\s+//) {
            $uuid = $1;
            $h{uuid} = $1;
        }
        elsif (s/^UUID="([^"]+)"\s+//) {
            $uuid = $1;
            $h{uuid} = $1;
        }
        elsif (s/^LABEL=([^\s"]+)\s+//) {
            $label = $1;
            $h{label} = $1;
        }
        elsif (s/^LABEL="((?:[^"]|"")+)"\s+//) {
            $label = $1;
            $label =~ s/""/"/g;
            $h{label} = $1;
        }
        elsif (s/^([^\s"]+)\s+//) {
            $dev = $1;
            $h{dev} = $1;
        }
        else {
            next;
        }
        my @fields = split( /\s+/, $_ );
        $h{mountpoint} = shift(@fields);
        $h{fs}         = shift(@fields);
        my @opts = split( ',', shift(@fields) );
        foreach my $opt (@opts) {
            $h{opts}->{$opt} = 1;
        }

        push @out, \%h;
    }
    close $fh;
    return @out;
}

sub parse_line($) {
    my $fields = $_[0];
    my %h;
    while ( $fields =~ s/^\s*([^"]+)="([^\"]*)"\s*// ) {
        $h{$1} = $2;
    }
    my $dev = $h{KNAME};
    if ( $h{TYPE} eq 'disk' ) {
        $disks{$dev} = \%h;
    }
    if ( $h{TYPE} eq 'part' ) {
        my $basedev = $dev;
        $basedev =~ s/\d+$//;
        foreach my $key ( keys %h ) {
            if ( $h{$key} eq '' ) {
                $h{$key} = $disks{$basedev}->{$key};
            }
        }
    }

   return if $h{FSTYPE} eq '';
    return if $h{FSTYPE} eq 'swap';
    return if $h{FSTYPE} eq 'linux_raid_member';
    return if $h{FSTYPE} eq 'LVM2_member';

    # skip LVM partitions
    #    return if $h{TYPE} eq 'lvm';

    # skip FS in fstab
    return if defined $fstab_label{ $h{LABEL} };
    return if defined $fstab_uuid{ $h{UUID} };
    return if defined $fstab_dev{ "/dev/" . $h{KNAME} };

    return \%h;
}

foreach ( parse_fstab "/etc/fstab" ) {
    if ( defined $_->{opts}->{user} ) {
        if ( defined $_->{dev} ) {
            my $dev = $_->{dev};
            $dev = abs_path($dev) if -l $dev;
            $devices{$dev} = 1;
        }
        next;
    }

    if ( defined $_->{dev} ) {
        my $dev = $_->{dev};
        $dev = abs_path($dev) if -l $dev;
        $fstab_dev{$dev} = 1;
    }
    $fstab_label{ $_->{label} } = 1 if defined $_->{label};
    $fstab_uuid{ $_->{uuid} }   = 1 if defined $_->{uuid};
}

my @out;

# Get all info about removable and USB devices
open( my $fh, "-|", '/bin/lsblk', '-o',
    'NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM,KNAME,MODEL,TYPE,UUID', '-P' );

my $tb =
  Text::Table->new( 'NAME', 'MOUNTPOINT', 'LABEL', 'FSTYPE', "SIZE\n&left",
    'MODEL' );

while (<$fh>) {
    my $h = parse_line($_);
    next unless defined $h;
    next unless defined $devices{ "/dev/" . $h->{KNAME} };
    $tb->add(
        $h->{NAME},   $h->{MOUNTPOINT}, $h->{LABEL},
        $h->{FSTYPE}, $h->{SIZE},       $h->{MODEL}
    );

    my $dev = "/dev/" . $h->{KNAME};
    push @out, $dev;
}

print $tb;

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-07-31 19:05                                       ` Денис Смирнов
@ 2014-08-01  0:47                                         ` Speccyfighter
  2014-08-01  2:43                                           ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-01  0:47 UTC (permalink / raw)
  To: ALT Linux Community general discussions



31.07.2014, 23:05, "Денис Смирнов" <mithraen@freesource.info>:
> On Thu, Jul 31, 2014 at 09:35:59PM +0400, Speccyfighter wrote:
>>>  $ /bin/lsblk -d -r -o RO,KNAME
>>  Выдала:
>>  $ /bin/lsblk -d -r -o RO,KNAME
>>  RO KNAME
>>  0 sda
>>  0 sdb
>>  0 sdc
>>  0 sr0
>
> О, у меня была очепятка в скрипте. Надо было RM а не RO. Fixed, в аттаче.
>

$ cat /etc/pmount.allow | grep sr
#/dev/sr0

$ lmount4
NAME MOUNTPOINT              LABEL                            FSTYPE  SIZE MODEL
sdc                          ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G TransMemory
sdc1                         ALT Linux altlinux-p7-icewm/i586 iso9660 333M TransMemory
sdc2 /media/alt-live-storage alt-live-storage                 ext4    3,3G TransMemory

# mcedit /etc/pmount.allow

# cat /etc/pmount.allow | grep sr
/dev/sr0

$ lmount4
NAME MOUNTPOINT              LABEL                            FSTYPE  SIZE   MODEL
sdc                          ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G   TransMemory
sdc1                         ALT Linux altlinux-p7-icewm/i586 iso9660 333M   TransMemory
sdc2 /media/alt-live-storage alt-live-storage                 ext4    3,3G   TransMemory
sr0                          KNOPPIX                          iso9660 693,7M DVD RW AD-7240S

# mcedit /etc/pmount.allow

# cat /etc/pmount.allow | grep sr
#/dev/sr0

$ lmount4
NAME MOUNTPOINT              LABEL                            FSTYPE  SIZE MODEL
sdc                          ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G TransMemory
sdc1                         ALT Linux altlinux-p7-icewm/i586 iso9660 333M TransMemory
sdc2 /media/alt-live-storage alt-live-storage                 ext4    3,3G TransMemory

$ cat /etc/fstab | grep sr
#/dev/sr0        /media/cdrom    udf,iso9660     ro,noauto,user,utf8     0 0



$ cat /etc/pmount.allow | grep sr
#/dev/sr0

$ cat /etc/fstab | grep sr
/dev/sr0        /media/cdrom    udf,iso9660     ro,noauto,user,utf8     0 0

$ lmount4
NAME MOUNTPOINT              LABEL                            FSTYPE  SIZE   MODEL
sdc                          ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G   TransMemory
sdc1                         ALT Linux altlinux-p7-icewm/i586 iso9660 333M   TransMemory
sdc2 /media/alt-live-storage alt-live-storage                 ext4    3,3G   TransMemory
sr0                          KNOPPIX                          iso9660 693,7M DVD RW AD-7240S

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

Но здесь это необязательно, и при отсутствии матрицы:

$ lsblk -o NAME,MOUNTPOINT,RM,LABEL,FSTYPE,SIZE,MODEL /dev/sr0
NAME MOUNTPOINT RM LABEL FSTYPE  SIZE MODEL
sr0              1              1024M DVD-RW GWA-4082N

$ lsblk | grep sr
sr0     11:0    1  1024M  0 rom  


...кстати да, почтовик поменял во вложении концы строк
с LF на LF+CR (0A 0D). hex-вьювер показал.
Пришлось конвертером dos2unix по файлу.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-01  0:47                                         ` Speccyfighter
@ 2014-08-01  2:43                                           ` Денис Смирнов
  2014-08-01 17:13                                             ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-01  2:43 UTC (permalink / raw)
  To: community


[-- Attachment #1.1: Type: text/plain, Size: 772 bytes --]

On Fri, Aug 01, 2014 at 04:47:29AM +0400, Speccyfighter wrote:

> Выходит так, что оптический привод для отображения
> должен быть хоть где-нибудь указан,
> или в /etc/pmount.allow или в /etc/fstab
> Но здесь это необязательно, и при отсутствии матрицы:

Спасибо! Нашел вторую ошибку. Однако я сумел сделать две детских ошибки в
кусочке кода из 4-х строк :)

В строке 24 замените, пожалуйста:

        $devices{$1} = 1;
на		
        $devices{'/dev/'.$1} = 1;

Исправленное в аттаче.

> ...кстати да, почтовик поменял во вложении концы строк
> с LF на LF+CR (0A 0D). hex-вьювер показал.
> Пришлось конвертером dos2unix по файлу.

Кстати это можно сделать и так:

$ sed -i 's/\r//' <filename>

:)

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #1.2: lmount --]
[-- Type: text/plain, Size: 4280 bytes --]

#!/usr/bin/perl
#============================================================================#
# List all block devices that not exists in fstab                            #
#============================================================================#
# (C) Denis Smirnov <mithraen@freesource.info>                               #
#============================================================================#
use strict;
use warnings qw(FATAL all);
use Cwd 'abs_path';
use Text::Table;

my %devices;

# List all USB devices
foreach ( glob("/dev/disk/by-id/usb-*") ) {
    $devices{ abs_path($_) } = 1;
}

# List all removable devices
{
    my @devs = split( "\n", `/bin/lsblk -d -r -o RM,KNAME` );
    foreach (@devs) {
        next unless /^1\s+(.+)$/;
        $devices{'/dev/'.$1} = 1;
    }
}

# List all devices in /etc/pmount.allow
if ( open my $fh, "<", "/etc/pmount.allow" ) {
    while (<$fh>) {
        s/#.*//;
        s/\s+$//;
        next if $_ eq '';
        $_ = abs_path($_) if -l $_;
        $devices{$_} = 1;
    }
    close $fh;
}

# Parse /etc/fstab
my %disks;
my %fstab_dev;
my %fstab_uuid;
my %fstab_label;

sub parse_fstab($) {
    open( my $fh, "<", $_[0] ) || return;
    my @out;
    while (<$fh>) {
        my %h;
        s/#.*//;
        s/\s+$//;
        next if $_ eq '';

        my ( $dev, $uuid, $label ) = ( '', '', '' );
        if (s/^UUID=([^\s"]+)\s+//) {
            $uuid = $1;
            $h{uuid} = $1;
        }
        elsif (s/^UUID="([^"]+)"\s+//) {
            $uuid = $1;
            $h{uuid} = $1;
        }
        elsif (s/^LABEL=([^\s"]+)\s+//) {
            $label = $1;
            $h{label} = $1;
        }
        elsif (s/^LABEL="((?:[^"]|"")+)"\s+//) {
            $label = $1;
            $label =~ s/""/"/g;
            $h{label} = $1;
        }
        elsif (s/^([^\s"]+)\s+//) {
            $dev = $1;
            $h{dev} = $1;
        }
        else {
            next;
        }
        my @fields = split( /\s+/, $_ );
        $h{mountpoint} = shift(@fields);
        $h{fs}         = shift(@fields);
        my @opts = split( ',', shift(@fields) );
        foreach my $opt (@opts) {
            $h{opts}->{$opt} = 1;
        }

        push @out, \%h;
    }
    close $fh;
    return @out;
}

sub parse_line($) {
    my $fields = $_[0];
    my %h;
    while ( $fields =~ s/^\s*([^"]+)="([^\"]*)"\s*// ) {
        $h{$1} = $2;
    }
    my $dev = $h{KNAME};
    if ( $h{TYPE} eq 'disk' ) {
        $disks{$dev} = \%h;
    }
    if ( $h{TYPE} eq 'part' ) {
        my $basedev = $dev;
        $basedev =~ s/\d+$//;
        foreach my $key ( keys %h ) {
            if ( $h{$key} eq '' ) {
                $h{$key} = $disks{$basedev}->{$key};
            }
        }
    }

   return if $h{FSTYPE} eq '';
    return if $h{FSTYPE} eq 'swap';
    return if $h{FSTYPE} eq 'linux_raid_member';
    return if $h{FSTYPE} eq 'LVM2_member';

    # skip LVM partitions
    #    return if $h{TYPE} eq 'lvm';

    # skip FS in fstab
    return if defined $fstab_label{ $h{LABEL} };
    return if defined $fstab_uuid{ $h{UUID} };
    return if defined $fstab_dev{ "/dev/" . $h{KNAME} };

    return \%h;
}

foreach ( parse_fstab "/etc/fstab" ) {
    if ( defined $_->{opts}->{user} ) {
        if ( defined $_->{dev} ) {
            my $dev = $_->{dev};
            $dev = abs_path($dev) if -l $dev;
            $devices{$dev} = 1;
        }
        next;
    }

    if ( defined $_->{dev} ) {
        my $dev = $_->{dev};
        $dev = abs_path($dev) if -l $dev;
        $fstab_dev{$dev} = 1;
    }
    $fstab_label{ $_->{label} } = 1 if defined $_->{label};
    $fstab_uuid{ $_->{uuid} }   = 1 if defined $_->{uuid};
}

my @out;

# Get all info about removable and USB devices
open( my $fh, "-|", '/bin/lsblk', '-o',
    'NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,RM,KNAME,MODEL,TYPE,UUID', '-P' );

my $tb =
  Text::Table->new( 'NAME', 'MOUNTPOINT', 'LABEL', 'FSTYPE', "SIZE\n&left",
    'MODEL' );

while (<$fh>) {
    my $h = parse_line($_);
    next unless defined $h;
    next unless defined $devices{ "/dev/" . $h->{KNAME} };
    $tb->add(
        $h->{NAME},   $h->{MOUNTPOINT}, $h->{LABEL},
        $h->{FSTYPE}, $h->{SIZE},       $h->{MODEL}
    );

    my $dev = "/dev/" . $h->{KNAME};
    push @out, $dev;
}

print $tb;

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-01  2:43                                           ` Денис Смирнов
@ 2014-08-01 17:13                                             ` Speccyfighter
  2014-08-02 14:09                                               ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-01 17:13 UTC (permalink / raw)
  To: ALT Linux Community general discussions



01.08.2014, 06:44, "Денис Смирнов" <mithraen@freesource.info>:
> On Fri, Aug 01, 2014 at 04:47:29AM +0400, Speccyfighter wrote:
>>  Выходит так, что оптический привод для отображения
>>  должен быть хоть где-нибудь указан,
>>  или в /etc/pmount.allow или в /etc/fstab
>>  Но здесь это необязательно, и при отсутствии матрицы:
>
> Спасибо! Нашел вторую ошибку. Однако я сумел сделать две детских ошибки в
> кусочке кода из 4-х строк :)
>
> В строке 24 замените, пожалуйста:
>
>         $devices{$1} = 1;
> на
>         $devices{'/dev/'.$1} = 1;
>
> Исправленное в аттаче.

Теперь совсем другое дело.

$ cat /etc/pmount.allow | grep sr
#/dev/sr0

$  cat /etc/fstab |grep sr
#/dev/sr0       /media/cdrom    udf,iso9660     ro,noauto,user,utf8     0 0

Привод без матрицы:

$  lmount5
NAME MOUNTPOINT              LABEL                            FSTYPE  SIZE MODEL
sdc                          ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G TransMemory
sdc1                         ALT Linux altlinux-p7-icewm/i586 iso9660 333M TransMemory
sdc2 /media/alt-live-storage alt-live-storage                 ext4    3,3G TransMemory

Привод с матрицей:

$  lmount5
NAME MOUNTPOINT              LABEL                            FSTYPE  SIZE   MODEL
sdc                          ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G   TransMemory
sdc1                         ALT Linux altlinux-p7-icewm/i586 iso9660 333M   TransMemory
sdc2 /media/alt-live-storage alt-live-storage                 ext4    3,3G   TransMemory
sr0                          KNOPPIX                          iso9660 693,7M DVD RW AD-7240S

$  pmount -r /dev/sr0 KNOPPIX

$  lmount5
NAME MOUNTPOINT              LABEL                            FSTYPE  SIZE   MODEL
sdc                          ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G   TransMemory
sdc1                         ALT Linux altlinux-p7-icewm/i586 iso9660 333M   TransMemory
sdc2 /media/alt-live-storage alt-live-storage                 ext4    3,3G   TransMemory
sr0  /media/KNOPPIX          KNOPPIX                          iso9660 693,7M DVD RW AD-7240S

$  pumount /dev/sr0

$  lmount5
NAME MOUNTPOINT              LABEL                            FSTYPE  SIZE   MODEL
sdc                          ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G   TransMemory
sdc1                         ALT Linux altlinux-p7-icewm/i586 iso9660 333M   TransMemory
sdc2 /media/alt-live-storage alt-live-storage                 ext4    3,3G   TransMemory
sr0                          KNOPPIX                          iso9660 693,7M DVD RW AD-7240S


>>  ...кстати да, почтовик поменял во вложении концы строк
>>  с LF на LF+CR (0A 0D). hex-вьювер показал.
>>  Пришлось конвертером dos2unix по файлу.
>
> Кстати это можно сделать и так:
>
> $ sed -i 's/\r//' <filename>
>
> :)
>

:)

============================================

О самом pmount:

$ pmount -w /dev/sdb2
$ 
$ lmount3 
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     
$ 
$ mount|grep sdb2
/dev/sdb2 on /media/sdb2 type ext4 (rw,nodev,nosuid,noexec,errors=remount-ro,user)
$ 
$ mcedit /media/sdb2/home/altlinux/Documents/lmount5

$ 
$ dos2unix /media/sdb2/home/altlinux/Documents/lmount5
dos2unix: converting file /media/sdb2/home/altlinux/Documents/lmount5 to UNIX format ...
dos2unix: problems renaming '/media/sdb2/home/altlinux/Documents/d2utmps7ixLa' to '/media/sdb2/home/altlinux/Documents/lmount5'
          output file remains in '/media/sdb2/home/altlinux/Documents/d2utmps7ixLa'
dos2unix: problems converting file /media/sdb2/home/altlinux/Documents/lmount5
$ 
$ 
$ dos2unix /media/sdb2/home/altlinux/Documents/lmount5
dos2unix: converting file /media/sdb2/home/altlinux/Documents/lmount5 to UNIX format ...
Failed to open output temp file: Read-only file system
dos2unix: problems converting file /media/sdb2/home/altlinux/Documents/lmount5
$ 
$ 
$ chmod a+rx /media/sdb2/home/altlinux/Documents/lmount5
chmod: изменение прав доступа для «/media/sdb2/home/altlinux/Documents/lmount5»: Файловая система доступна только для чтения
$
$ pumount /dev/sdb2
$ 
$ lmount3 
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 -w /dev/sdb2
$ 
$ 
$ chmod a+rx /media/sdb2/home/altlinux/Documents/lmount5
$ 
$ sed -i 's/\r//' /media/sdb2/home/altlinux/Documents/lmount5
sed: невозможно удалить /media/sdb2/home/altlinux/Documents/sedlWsa6q: Файловая система доступна только для чтения
$ 
$ dos2unix /media/sdb2/home/altlinux/Documents/lmount5
dos2unix: converting file /media/sdb2/home/altlinux/Documents/lmount5 to UNIX format ...
Failed to open output temp file: Read-only file system
dos2unix: problems converting file /media/sdb2/home/altlinux/Documents/lmount5

При повторном вызове, не может сохранить изменения
$ mcedit /media/sdb2/home/altlinux/Documents/lmount5.txt 

$ mcedit /media/sdb2/home/altlinux/Documents/lmount5.txt 
Файл бла уже редактируется. Захватить замок. Игнорировать замок.
Отказ сохранения.


Со связкой hmount+hal всё нормально

$ chmod a+rx /media/sdb2/home/altlinux/Documents/lmount5
$ 
$ sed -i 's/\r//' /media/sdb2/home/altlinux/Documents/lmount5
$ 
$ dos2unix /media/sdb2/home/altlinux/Documents/lmount5
dos2unix: converting file /media/sdb2/home/altlinux/Documents/lmount5 to UNIX format ...

С многократным сохранением в mcedit тоже.


Из будущего p8 связку hmount+hal ни в коем случае нельзя
убирать.
Для кого-то hal+hmount умерли, но у кого-то это безбажный
работающий инструмент на разные случаи жизни.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-01 17:13                                             ` Speccyfighter
@ 2014-08-02 14:09                                               ` Денис Смирнов
  2014-08-02 18:51                                                 ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-02 14:09 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 2487 bytes --]

On Fri, Aug 01, 2014 at 09:13:36PM +0400, Speccyfighter wrote:

>> Исправленное в аттаче.
> Теперь совсем другое дело.

Чудесно! Спасибо.

> $ mount|grep sdb2
> /dev/sdb2 on /media/sdb2 type ext4 (rw,nodev,nosuid,noexec,errors=remount-ro,user)
> $ mcedit /media/sdb2/home/altlinux/Documents/lmount5
> $ dos2unix /media/sdb2/home/altlinux/Documents/lmount5
> dos2unix: converting file /media/sdb2/home/altlinux/Documents/lmount5 to UNIX format ...
> dos2unix: problems renaming '/media/sdb2/home/altlinux/Documents/d2utmps7ixLa' to '/media/sdb2/home/altlinux/Documents/lmount5'
>           output file remains in '/media/sdb2/home/altlinux/Documents/d2utmps7ixLa'
> dos2unix: problems converting file /media/sdb2/home/altlinux/Documents/lmount5

А в dmesg при этом что? 
То, что mount показывает что смонтировано как read-write говорит о том,
что проблема уже не в pmount.

> $ pmount -w /dev/sdb2
> $ chmod a+rx /media/sdb2/home/altlinux/Documents/lmount5
> $ sed -i 's/\r//' /media/sdb2/home/altlinux/Documents/lmount5
> sed: невозможно удалить /media/sdb2/home/altlinux/Documents/sedlWsa6q: Файловая система доступна только для чтения
> $ 
> $ dos2unix /media/sdb2/home/altlinux/Documents/lmount5
> dos2unix: converting file /media/sdb2/home/altlinux/Documents/lmount5 to UNIX format ...
> Failed to open output temp file: Read-only file system
> dos2unix: problems converting file /media/sdb2/home/altlinux/Documents/lmount5
> При повторном вызове, не может сохранить изменения
> $ mcedit /media/sdb2/home/altlinux/Documents/lmount5.txt 
> $ mcedit /media/sdb2/home/altlinux/Documents/lmount5.txt 
> Файл бла уже редактируется. Захватить замок. Игнорировать замок.
> Отказ сохранения.

Для начала проверьте не разными сложными утилитами, а чем-нибудь попроще:
cp lmount5 something
rm -f something

И гляньте вывод dmesg после воспроизведения баги.

У меня воспроизвести не удается.

> Из будущего p8 связку hmount+hal ни в коем случае нельзя
> убирать.
> Для кого-то hal+hmount умерли, но у кого-то это безбажный
> работающий инструмент на разные случаи жизни.

Он уже сейчас работает только для фанатов консоли. Ибо все остальное
мигрирует на udisks. А наличие двух инструментов автомонтирования в
системе - тоже потенциальная грабля.

Так что в не зависимости от нашего желания рано или поздно он сдохнет
совсем. И лучше до этого момента обеспечить себе удонбый инструментарий.

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-02 14:09                                               ` Денис Смирнов
@ 2014-08-02 18:51                                                 ` Speccyfighter
  2014-08-03  3:58                                                   ` Денис Смирнов
  2014-08-04 18:35                                                   ` Michael Shigorin
  0 siblings, 2 replies; 66+ messages in thread
From: Speccyfighter @ 2014-08-02 18:51 UTC (permalink / raw)
  To: ALT Linux Community general discussions

02.08.2014, 18:09, "Денис Смирнов" <mithraen@freesource.info>:
> On Fri, Aug 01, 2014 at 09:13:36PM +0400, Speccyfighter wrote:
>>>  Исправленное в аттаче.
>>  Теперь совсем другое дело.
>
> Чудесно! Спасибо.

Взаимно! :)


>>  $ mount|grep sdb2
>>  /dev/sdb2 on /media/sdb2 type ext4 (rw,nodev,nosuid,noexec,errors=remount-ro,user)
>>  ...
>>  $ dos2unix /media/sdb2/home/altlinux/Documents/lmount5
>>  dos2unix: converting file /media/sdb2/home/altlinux/Documents/lmount5 to UNIX format ...
>>  dos2unix: problems renaming '/media/sdb2/home/altlinux/Documents/d2utmps7ixLa' to '/media/sdb2/home/altlinux/Documents/lmount5'
>>            output file remains in '/media/sdb2/home/altlinux/Documents/d2utmps7ixLa'
>>  dos2unix: problems converting file /media/sdb2/home/altlinux/Documents/lmount5
>
> А в dmesg при этом что?
> То, что mount показывает что смонтировано как read-write говорит о том,
> что проблема уже не в pmount.
>>  $ pmount -w /dev/sdb2
>>  $ chmod a+rx /media/sdb2/home/altlinux/Documents/lmount5
>>  $ sed -i 's/\r//' /media/sdb2/home/altlinux/Documents/lmount5
>>  sed: невозможно удалить /media/sdb2/home/altlinux/Documents/sedlWsa6q: Файловая система доступна только для чтения
>>  $
>
> Для начала проверьте не разными сложными утилитами, а чем-нибудь попроще:
> cp lmount5 something
> rm -f something
>

Угу.


> И гляньте вывод dmesg после воспроизведения баги.
>

Вот за это большое...
Никогда бы не подумал, что даже при rw в выводе mount,
файловая может быть read only - век живи, век учись:

[165993.933583] sd 18:0:0:0: [sdb] Attached SCSI removable disk
[166023.576042] FAT-fs (sdb2): bogus number of reserved sectors
[166023.576053] FAT-fs (sdb2): Can't find a valid FAT filesystem
[166023.631804] FAT-fs (sdb2): bogus number of reserved sectors
[166023.632032] FAT-fs (sdb2): Can't find a valid FAT filesystem
[166023.639496] UDF-fs: warning (device sdb2): udf_load_vrs: No VRS found
[166023.639502] UDF-fs: warning (device sdb2): udf_fill_super: No partition found (2)
[166023.647632] UDF-fs: warning (device sdb2): udf_load_vrs: No VRS found
[166023.647638] UDF-fs: warning (device sdb2): udf_fill_super: No partition found (2)
[166023.718225] ISOFS: Unable to identify CD-ROM format.
[166023.785089] ISOFS: Unable to identify CD-ROM format.
[166023.790210] hfsplus: unable to find HFS+ superblock
[166023.796102] hfsplus: unable to find HFS+ superblock
[166023.802069] hfs: can't find a HFS filesystem on dev sdb2
[166023.805571] hfs: can't find a HFS filesystem on dev sdb2
[166023.808449] EXT3-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
[166023.811572] EXT3-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
[166023.815204] EXT2-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
[166023.818572] EXT2-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
[166023.835450] EXT4-fs (sdb2): warning: mounting unchecked fs, running e2fsck is recommended
[166023.837544] EXT4-fs (sdb2): mounted filesystem without journal. Opts: errors=remount-ro
[166324.192040] EXT4-fs (sdb2): error count: 139
[166324.192057] EXT4-fs (sdb2): initial error at 1392753484: ext4_lookup:1437: inode 123
[166324.192065] EXT4-fs (sdb2): last error at 1406907505: ext4_mb_generate_buddy:756
[166401.533841] EXT4-fs error (device sdb2): ext4_mb_generate_buddy:756: group 1, 22362 clusters in bitmap, 22364 in gd; block bitmap corrupt.
[166401.533854] EXT4-fs (sdb2): Remounting filesystem read-only
[166401.534856] EXT4-fs (sdb2): ext4_writepages: jbd2_start: 1022 pages, ino 897; err -30


> У меня воспроизвести не удается.

:)
После
# fsck.ext2 -n /dev/sdb2
# fsck.ext2 /dev/sdb2
тоже воспроизвести не удается.
Моя вина.
Когда произошло, ума не приложу. Явно заметно не было.
Что мол да, у тебя проблема.


>>  Из будущего p8 связку hmount+hal ни в коем случае нельзя
>>  убирать.
>>  Для кого-то hal+hmount умерли, но у кого-то это безбажный
>>  работающий инструмент на разные случаи жизни.
>
> Он уже сейчас работает только для фанатов консоли. Ибо все остальное
> мигрирует на udisks. А наличие двух инструментов автомонтирования в
> системе - тоже потенциальная грабля.
>
> Так что в не зависимости от нашего желания рано или поздно он сдохнет
> совсем. И лучше до этого момента обеспечить себе удонбый инструментарий.
>

Согласен.
Но будущее TDE беспокоит... Он от hal сильно зависит,
а сборка стартеркита с TDE одна из немногих с sysvinit.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-02 18:51                                                 ` Speccyfighter
@ 2014-08-03  3:58                                                   ` Денис Смирнов
  2014-08-03 14:22                                                     ` Speccyfighter
  2014-08-04 18:35                                                   ` Michael Shigorin
  1 sibling, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-03  3:58 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1580 bytes --]

On Sat, Aug 02, 2014 at 10:51:02PM +0400, Speccyfighter wrote:

> Вот за это большое...
> Никогда бы не подумал, что даже при rw в выводе mount,
> файловая может быть read only - век живи, век учись:

Увы, перемонтирование в ro при ошибке не отражается в mtab :(

> [166023.808449] EXT3-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
> [166023.811572] EXT3-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
> [166023.815204] EXT2-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
> [166023.818572] EXT2-fs (sdb2): error: couldn't mount because of unsupported optional features (240)

А вот это похоже багофича pmount -- вместо детекта FS он, видимо, пытается
монтировать указывая конкретный тип fs, перебором. Попытался сначала ext3,
потом ext2, а уже потом ext4.

Хотя в доке написано, что начиная с 0.9.17 pmount этой хренью не страдает.

rpm -qi pmount что говорит?

> Когда произошло, ума не приложу. Явно заметно не было.
> Что мол да, у тебя проблема.

Увы, заметно как раз по невозможности записать на диск с последующим
заглядыванием в dmesg :)

> Согласен.
> Но будущее TDE беспокоит... Он от hal сильно зависит,

Предполагаю, что пока TDE от него зависит hal в том или ином виде будет
жить.

> а сборка стартеркита с TDE одна из немногих с sysvinit.

А вот с этого момента поподробнее. Какие сейчас претензии к systemd на
десктопной машине? Какие у него недостатки по сравнению с sysvinit?

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-03  3:58                                                   ` Денис Смирнов
@ 2014-08-03 14:22                                                     ` Speccyfighter
  2014-08-03 19:46                                                       ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-03 14:22 UTC (permalink / raw)
  To: ALT Linux Community general discussions

03.08.2014, 07:58, "Денис Смирнов" <mithraen@freesource.info>:
> On Sat, Aug 02, 2014 at 10:51:02PM +0400, Speccyfighter wrote:
>>  Вот за это большое...
>>  Никогда бы не подумал, что даже при rw в выводе mount,
>>  файловая может быть read only - век живи, век учись:
>
> Увы, перемонтирование в ro при ошибке не отражается в mtab :(
>>  [166023.808449] EXT3-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
>>  [166023.811572] EXT3-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
>>  [166023.815204] EXT2-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
>>  [166023.818572] EXT2-fs (sdb2): error: couldn't mount because of unsupported optional features (240)
>
> А вот это похоже багофича pmount -- вместо детекта FS он, видимо, пытается
> монтировать указывая конкретный тип fs, перебором. Попытался сначала ext3,
> потом ext2, а уже потом ext4.
>
> Хотя в доке написано, что начиная с 0.9.17 pmount этой хренью не страдает.
>
> rpm -qi pmount что говорит?

Меньше, чем apt-cache show:

$ rpm -qi pmount
Name        : pmount                       Relocations: (not relocatable)
Version     : 0.9.23                            Vendor: ALT Linux Team
Release     : alt2                          Build Date: Вт 15 фев 2011 13:56:12
Install date: Пт 18 окт 2013 09:26:50      Build Host: ender-sisyphus.hasher.altlinux.org
Group       : Мониторинг          Source RPM: pmount-0.9.23-alt2.src.rpm
Size        : 374227                           License: GPL
Packager    : Afanasov Dmitry <ender@
URL         : http://pmount.alioth.debian.org/
Summary     : Automounter tool for HAL/dbus
Description :
pmount позволяет непривигелированным пользователям подключать(монтировать)
сменные носители USB, FireWire и PCMCIA без записи в /etc/fstab. Это создает
мощную систему автомонтирования, как проект GNOME Utopia, и ограничивает объем
кода, который должен выполняться с правами  root до минимума. Версия 0.9
включает также интеграцию с cryptsetup для прозрачного подключения криптованых
устройств.

$ apt-cache show pmount
Package: pmount
Section: Monitoring
Installed Size: 374227
Maintainer: Afanasov Dmitry <ender@
Version: 0.9.23-alt2
Pre-Depends: control, /bin/sh, /bin/sh, rpmlib(SetVersions), /usr/sbin/control-dump, /usr/sbin/control, /usr/sbin/control-restore, rpmlib(PayloadIsLzma)
Depends: mount, /bin/sh, /etc/control.d/facilities(control_fmode), /etc/control.d/facilities(new_fmode), /etc/control.d/facilities(new_help), /etc/control.d/functions, /lib/ld-linux.so.2, libblkid.so.1 (>= set:ki9GlSkwbJ1), libblkid.so.1(BLKID_1.0), libc.so.6(GLIBC_2.0), libc.so.6(GLIBC_2.1), libc.so.6(GLIBC_2.2.3), libc.so.6(GLIBC_2.3.4), libc.so.6(GLIBC_2.4), libc.so.6(GLIBC_2.7), libnatspec.so.0 (>= set:ihZ8e), rtld(GNU_HASH)
Provides: pmount (= 0.9.23-alt2)
Architecture: i586
Size: 80193
MD5Sum: 87d031a0edb249a8dc60547f47208b9b
Filename: pmount-0.9.23-alt2.i586.rpm
Description: Automounter tool for HAL/dbus
 pmount позволяет непривигелированным пользователям подключать(монтировать)
 сменные носители USB, FireWire и PCMCIA без записи в /etc/fstab. Это создает
 мощную систему автомонтирования, как проект GNOME Utopia, и ограничивает объем
 кода, который должен выполняться с правами  root до минимума. Версия 0.9
 включает также интеграцию с cryptsetup для прозрачного подключения криптованых
 устройств.
Changelog:
 * Вт фев 15 2011 Afanasov Dmitry <ender@> 0.9.23-alt2
 - build without pmount-hal
 * Чт янв 27 2011 Afanasov Dmitry <ender@> 0.9.23-alt1
 - 0.9.20 -> 0.9.23
 * Чт сен 17 2009 Afanasov Dmitry <ender@> 0.9.20-alt1
 - 0.9.19 -> 0.9.20
 - remove applied alt-umount patch
 - update alt-ext4 patch
 * Вт авг 04 2009 Afanasov Dmitry <ender@> 0.9.19-alt3
 - use xgrp as default control's value (Closes: #20931)
 - install p*mount executables with 700 filemode.
 * Вт авг 04 2009 Afanasov Dmitry <ender@> 0.9.19-alt2
 - apply alt-ext4 patch (Closes: #20930)
 * Ср мар 04 2009 Afanasov Dmitry <ender@> 0.9.19-alt1
 - 0.9.18 -> 0.9.19
 * Пн окт 27 2008 Afanasov Dmitry <ender@> 0.9.18-alt1.1
 - 0.9.17 -> 0.9.18


>>  а сборка стартеркита с TDE одна из немногих с sysvinit.
>
> А вот с этого момента поподробнее. Какие сейчас претензии к systemd на
> десктопной машине? Какие у него недостатки по сравнению с sysvinit?
>

Никаких. :)
У меня на компьютерах нет systemd (насколько это возможно):
нет systemd, нет и недостатков.
Для меня sysv более прозрачен, более предсказуем, более понятен.
Надо было сваять сервис - сделал.
А с systemd из последнего?
Хотя бы тут:
http://forum.altlinux.org/index.php/topic,29850.msg234081.html#msg234081
Грубо говоря, мне нужно беспроблемный sysv, в альтах вот уж давно,
сменить на systemd, самому себе создать проблему и героически
её преодолевать? :)
Нет, так не пойдёт.
Для меня десктоп, это инструмент
http://forum.altlinux.org/index.php/topic,30444.msg228066.html#msg228066
а не объект для экспериментов.
И такое с systemd можно собирать в коллекцию:
http://forum.altlinux.org/index.php/topic,30929.0.html
С пульсаудио, это вообще была отдельная тема,
победить которую удалось только бесповоротным возвратом
на alsa после длительного смотрения на pulse:
http://forum.altlinux.org/index.php/topic,27016.0.html
Зачем мне вхлам разламывать систему новомодными штучками?
Да в крайнем случае, тем более, если pmount окончательно
до ума доведётся, и стартеркит icewm сойдёт вполне.
Там sysv.
Но вопрос с systemd с повестки дня у себя
снят и обжалованию не подлежит. :)


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-03 14:22                                                     ` Speccyfighter
@ 2014-08-03 19:46                                                       ` Денис Смирнов
  2014-08-03 22:33                                                         ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-03 19:46 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1735 bytes --]

On Sun, Aug 03, 2014 at 06:22:38PM +0400, Speccyfighter wrote:

>> rpm -qi pmount что говорит?
> Меньше, чем apt-cache show:

Так, а вот тут уже сдаюсь. Лезть в код ни к pmount ни к udisks как-то не
очень хочется.

>> А вот с этого момента поподробнее. Какие сейчас претензии к systemd на
>> десктопной машине? Какие у него недостатки по сравнению с sysvinit?
> Никаких. :)
> У меня на компьютерах нет systemd (насколько это возможно):
> нет systemd, нет и недостатков.
> Для меня sysv более прозрачен, более предсказуем, более понятен.
> Надо было сваять сервис - сделал.
> А с systemd из последнего?
> Хотя бы тут:
> http://forum.altlinux.org/index.php/topic,29850.msg234081.html#msg234081

Проблема с совместимостью с SYSV скриптами. Вылезает из-за того, что SYSV
это тоже система зависимостей, но гораздо более жесткая
(последовательность). Смешение двух систем зависимостей приводит к
взрывам.

Я долго матерился, но потом взял в руки напильник и выяснил, что все
гораздо лучше чем казалось.

> С пульсаудио, это вообще была отдельная тема,
> победить которую удалось только бесповоротным возвратом
> на alsa после длительного смотрения на pulse:

pulseaudio изначально brain-damaged.

> http://forum.altlinux.org/index.php/topic,27016.0.html
> Зачем мне вхлам разламывать систему новомодными штучками?
> Да в крайнем случае, тем более, если pmount окончательно
> до ума доведётся, и стартеркит icewm сойдёт вполне.
> Там sysv.

А что там еще нужно доводить до ума? Что не устраивает прямо сейчас?

> Но вопрос с systemd с повестки дня у себя
> снят и обжалованию не подлежит. :)

Боюсь через пару-тройку лет мнение придется менять :(

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-03 19:46                                                       ` Денис Смирнов
@ 2014-08-03 22:33                                                         ` Speccyfighter
  2014-08-04 13:29                                                           ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-03 22:33 UTC (permalink / raw)
  To: ALT Linux Community general discussions

03.08.2014, 23:46, "Денис Смирнов" <mithraen@freesource.info>:
>  On Sun, Aug 03, 2014 at 06:22:38PM +0400, Speccyfighter wrote:
>>   Зачем мне вхлам разламывать систему новомодными штучками?
>>   Да в крайнем случае, тем более, если pmount окончательно
>>   до ума доведётся, и стартеркит icewm сойдёт вполне.
>>   Там sysv.
>  А что там еще нужно доводить до ума? Что не устраивает прямо сейчас?

Подозрительно отношусь к долбёжке методом перебора на авось.
Я не программист, но здесь народ подсказывает
http://unixforum.org/index.php?showtopic=134194&st=0&p=1236506&#entry1236506
что неплохо и можно посмотреть, что оно есть, перед тем как.
Тоже читал про автодетект fs, но как показал лог, врут.
К тому же pmount уже 3 года, как в состоянии анабиоза:
https://alioth.debian.org/frs/?group_id=31157
http://anonscm.debian.org/gitweb/?p=pmount/pmount-debian.git;a=blob;f=debian/changelog;h=3e175034aa77aa6c9081c9ad187846ef76496f61;hb=5f1e262c6995d7b063dd30e4ed53082b8011ce6d
И улучшений, судя по всему, ждать не стоит.


>>   Но вопрос с systemd с повестки дня у себя
>>   снят и обжалованию не подлежит. :)
>  Боюсь через пару-тройку лет мнение придется менять :(

Надежда умирает последней.
Но если что, мир UNIX велик.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-03 22:33                                                         ` Speccyfighter
@ 2014-08-04 13:29                                                           ` Денис Смирнов
  2014-08-05 15:15                                                             ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-04 13:29 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1092 bytes --]

On Mon, Aug 04, 2014 at 02:33:56AM +0400, Speccyfighter wrote:

> Подозрительно отношусь к долбёжке методом перебора на авось.
> Я не программист, но здесь народ подсказывает
> http://unixforum.org/index.php?showtopic=134194&st=0&p=1236506&#entry1236506

Самое интересное, что pmount таки линкуется с blkid.

> что неплохо и можно посмотреть, что оно есть, перед тем как.
> Тоже читал про автодетект fs, но как показал лог, врут.
> К тому же pmount уже 3 года, как в состоянии анабиоза:
> https://alioth.debian.org/frs/?group_id=31157
> http://anonscm.debian.org/gitweb/?p=pmount/pmount-debian.git;a=blob;f=debian/changelog;h=3e175034aa77aa6c9081c9ad187846ef76496f61;hb=5f1e262c6995d7b063dd30e4ed53082b8011ce6d
> И улучшений, судя по всему, ждать не стоит.

Потому как мейнстримом стал udisks2. У которого куда менее удобный
CLI-интерфейс (хотя никто и не мешает сделать alias'ы):

alias pmount='udisksctl mount -b'
alias pumount='udisksctl unmount -b'

ну и сделать себе симлинк:
ln -s /var/run/media/`id -un` ~/media

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-02 18:51                                                 ` Speccyfighter
  2014-08-03  3:58                                                   ` Денис Смирнов
@ 2014-08-04 18:35                                                   ` Michael Shigorin
  1 sibling, 0 replies; 66+ messages in thread
From: Michael Shigorin @ 2014-08-04 18:35 UTC (permalink / raw)
  To: ALT Linux Community general discussions

On Sat, Aug 02, 2014 at 10:51:02PM +0400, Speccyfighter wrote:
> Но будущее TDE беспокоит... Он от hal сильно зависит,
> а сборка стартеркита с TDE одна из немногих с sysvinit.

Наиболее функциональная, а так и e17/icewm/wmaker работают.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-04 13:29                                                           ` Денис Смирнов
@ 2014-08-05 15:15                                                             ` Speccyfighter
  2014-08-05 18:43                                                               ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-05 15:15 UTC (permalink / raw)
  To: ALT Linux Community general discussions

04.08.2014, 17:29, "Денис Смирнов" <mithraen@freesource.info>:
>  On Mon, Aug 04, 2014 at 02:33:56AM +0400, Speccyfighter wrote:
>>   что неплохо и можно посмотреть, что оно есть, перед тем как.
>>   Тоже читал про автодетект fs, но как показал лог, врут.
>>   К тому же pmount уже 3 года, как в состоянии анабиоза:
>>   https://alioth.debian.org/frs/?group_id=31157
>>   http://anonscm.debian.org/gitweb/?p=pmount/pmount-debian.git;a=blob;f=debian/changelog;h=3e175034aa77aa6c9081c9ad187846ef76496f61;hb=5f1e262c6995d7b063dd30e4ed53082b8011ce6d
>>   И улучшений, судя по всему, ждать не стоит.
>  Потому как мейнстримом стал udisks2. У которого куда менее удобный
>  CLI-интерфейс (хотя никто и не мешает сделать alias'ы):
>
>  alias pmount='udisksctl mount -b'
>  alias pumount='udisksctl unmount -b'

Ну вот, ещё один повод поблагодарить.
Взял на прицел и это.
Монтирует всё что есть блочного без fstab.
К этому и lmount в помощь будет.


>  ну и сделать себе симлинк:
>  ln -s /var/run/media/`id -un` ~/media

Пока можно
control udisks2 shared


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-05 15:15                                                             ` Speccyfighter
@ 2014-08-05 18:43                                                               ` Денис Смирнов
  2014-08-06 12:55                                                                 ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-05 18:43 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 958 bytes --]

On Tue, Aug 05, 2014 at 07:15:00PM +0400, Speccyfighter wrote:

>>  alias pmount='udisksctl mount -b'
>>  alias pumount='udisksctl unmount -b'
> Ну вот, ещё один повод поблагодарить.
> Взял на прицел и это.
> Монтирует всё что есть блочного без fstab.
> К этому и lmount в помощь будет.

Я правильно понимаю, что lmount можно уже опакечивать? Имя утилитки
сменить не стоит?

Вообще может сразу сделать шелл-скрипт типа amount, который бы понимал
ключики -u и -l, вызывая соответствующие утилиты, чтобы без alias'ов
всяких обходиться. И чтобы это было нормальное дистрибутивное решение.

>>  ну и сделать себе симлинк:
>>  ln -s /var/run/media/`id -un` ~/media
> Пока можно
> control udisks2 shared

Это уже зависит от вкусов пользователя. Вариант с ~/media мне нравится
тем, что вся пользовательская хрень, которую я смонтировал -- лежит таки
именно в ~media. Предсказуемо, доступно.

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-05 18:43                                                               ` Денис Смирнов
@ 2014-08-06 12:55                                                                 ` Speccyfighter
  2014-08-06 21:52                                                                   ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-06 12:55 UTC (permalink / raw)
  To: ALT Linux Community general discussions



05.08.2014, 22:43, "Денис Смирнов" <mithraen@freesource.info>:
> On Tue, Aug 05, 2014 at 07:15:00PM +0400, Speccyfighter wrote:
>>>   alias pmount='udisksctl mount -b'
>>>   alias pumount='udisksctl unmount -b'
>>  Ну вот, ещё один повод поблагодарить.
>>  Взял на прицел и это.
>>  Монтирует всё что есть блочного без fstab.
>>  К этому и lmount в помощь будет.
>
> Я правильно понимаю, что lmount можно уже опакечивать?

Похоже что нет.
Найдена ещё одна проблема.
USB-HDD Transcend (sdc) - не usb и даже не removable:

$ lsblk -o NAME,MOUNTPOINT,RM,LABEL,FSTYPE,SIZE,MODEL
NAME    MOUNTPOINT RM LABEL                            FSTYPE      SIZE MODEL
sda                 0                                            931,5G WDC WD1002FAEX-0
├─sda1  /           0                                  ext4        100G
├─sda2              0                                                1K
├─sda3  /mnt/sda3   0                                  ext3        100G
├─sda4  [SWAP]      0                                  swap         20G
├─sda5  /mnt/sda5   0                                  ext4         50G
├─sda6  /mnt/sda6   0                                  ext4         50G
└─sda7  /mnt/sda7   0                                  ext3      611,5G
sdb                 0                                            232,9G ST3250820AS
├─sdb1  /mnt/sdb1   0                                  reiserfs   14,7G
├─sdb2              0                                                1K
├─sdb3  /mnt/sdb3   0                                  reiserfs   24,4G
├─sdb4              0                                  swap      988,4M
├─sdb5  /mnt/sdb5   0                                  vfat       48,9G
├─sdb6  /mnt/sdb6   0                                  reiserfs   56,1G
├─sdb7  /mnt/sdb7   0                                  reiserfs   19,5G
├─sdb8  /mnt/sdb8   0                                  reiserfs   19,5G
├─sdb9  /mnt/sdb9   0                                  reiserfs   24,4G
└─sdb10             0                                  ext4       24,4G
sdc                 0                                            465,8G Transcend
├─sdc1              0                                  ext4         20G
├─sdc2              0 Transcend2                       ext3      222,4G
├─sdc3              0 Transcend3                       ext3      222,4G
└─sdc4              0                                  swap     1006,5M
sdd                 1 ALT Linux altlinux-p7-icewm/i586 iso9660     3,6G TransMemory
├─sdd1              1 ALT Linux altlinux-p7-icewm/i586 iso9660     333M
└─sdd2              1 alt-live-storage                 ext4        3,3G
sr0                 1 KNOPPIX                          iso9660   693,7M DVD RW AD-7240S


$ ll /dev/disk/by-id/|grep sd[c-d]
lrwxrwxrwx 1 root root  10 авг  6 15:09 usb-TOSHIBA_TransMemory_756962663EF9CCC0BE129539-0:0-part2 -> ../../sdd2
lrwxrwxrwx 1 root root  10 авг  6 15:09 usb-TOSHIBA_TransMemory_756962663EF9CCC0BE129539-0:0-part1 -> ../../sdd1
lrwxrwxrwx 1 root root   9 авг  6 15:09 usb-TOSHIBA_TransMemory_756962663EF9CCC0BE129539-0:0 -> ../../sdd
lrwxrwxrwx 1 root root  10 авг  6 15:05 ata-TOSHIBA_MK5065GSX_10MIC05OT-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  10 авг  6 15:05 ata-TOSHIBA_MK5065GSX_10MIC05OT-part2 -> ../../sdc2
lrwxrwxrwx 1 root root  10 авг  6 15:05 ata-TOSHIBA_MK5065GSX_10MIC05OT-part3 -> ../../sdc3
lrwxrwxrwx 1 root root  10 авг  6 15:05 ata-TOSHIBA_MK5065GSX_10MIC05OT-part4 -> ../../sdc4
lrwxrwxrwx 1 root root  10 авг  6 15:05 wwn-0x5000039243b85ee9-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  10 авг  6 15:05 wwn-0x5000039243b85ee9-part2 -> ../../sdc2
lrwxrwxrwx 1 root root  10 авг  6 15:05 wwn-0x5000039243b85ee9-part3 -> ../../sdc3
lrwxrwxrwx 1 root root  10 авг  6 15:05 wwn-0x5000039243b85ee9-part4 -> ../../sdc4
lrwxrwxrwx 1 root root   9 авг  6 15:05 ata-TOSHIBA_MK5065GSX_10MIC05OT -> ../../sdc
lrwxrwxrwx 1 root root   9 авг  6 15:05 wwn-0x5000039243b85ee9 -> ../../sdc


В отличие от:

$ hmount -l
</dev/sdd2>=8_50 label: "alt-live-storage" product: "alt-live-storage" FS: "ext4"
</dev/sdd1>=8_49 label: "ALT Linux altlinux-p7-icewm%i586" product: "ALT Linux altlinux-p7-icewm%i586" FS: "iso9660"
</dev/sdc1>=8_33 label: "" product: "Volume (ext4)" FS: "ext4"
</dev/sdc3>=8_35 label: "Transcend3" product: "Transcend3" FS: "ext3"
</dev/sdc2>=8_34 label: "Transcend2" product: "Transcend2" FS: "ext3"
Found 5 devices

Если эту проблему не решить, 'hmount -l' остаётся вне конкуренции.


> Имя утилитки сменить не стоит?
>
> Вообще может сразу сделать шелл-скрипт типа amount, который бы понимал
> ключики -u и -l, вызывая соответствующие утилиты, чтобы без alias'ов
> всяких обходиться. И чтобы это было нормальное дистрибутивное решение.
>>>   ну и сделать себе симлинк:
>>>   ln -s /var/run/media/`id -un` ~/media
>>  Пока можно
>>  control udisks2 shared
>
> Это уже зависит от вкусов пользователя. Вариант с ~/media мне нравится
> тем, что вся пользовательская хрень, которую я смонтировал -- лежит таки
> именно в ~media. Предсказуемо, доступно.
>

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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-06 12:55                                                                 ` Speccyfighter
@ 2014-08-06 21:52                                                                   ` Денис Смирнов
  2014-08-07  0:24                                                                     ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-06 21:52 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 576 bytes --]

On Wed, Aug 06, 2014 at 04:55:46PM +0400, Speccyfighter wrote:

>>>>   alias pmount='udisksctl mount -b'
>>>>   alias pumount='udisksctl unmount -b'
>>>  Ну вот, ещё один повод поблагодарить.
>>>  Взял на прицел и это.
>>>  Монтирует всё что есть блочного без fstab.
>>>  К этому и lmount в помощь будет.
>> Я правильно понимаю, что lmount можно уже опакечивать?
> Похоже что нет.
> Найдена ещё одна проблема.
> USB-HDD Transcend (sdc) - не usb и даже не removable:

что говорит:

# udevadm info /dev/sdc

?

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-06 21:52                                                                   ` Денис Смирнов
@ 2014-08-07  0:24                                                                     ` Speccyfighter
    0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-07  0:24 UTC (permalink / raw)
  To: ALT Linux Community general discussions



07.08.2014, 01:52, "Денис Смирнов" <mithraen@freesource.info>:
> On Wed, Aug 06, 2014 at 04:55:46PM +0400, Speccyfighter wrote:
>>>  Я правильно понимаю, что lmount можно уже опакечивать?
>>  Похоже что нет.
>>  Найдена ещё одна проблема.
>>  USB-HDD Transcend (sdc) - не usb и даже не removable:
>
> что говорит:
>
> # udevadm info /dev/sdc
>
> ?
>

Проверялось на буке с одним стационарным sda.
sdb - usb-hdd:

# udevadm info /dev/sdb
P: /devices/pci0000:00/0000:00:1e.0/0000:02:06.0/0000:03:00.2/usb6/6-2/6-2:1.0/host3/target3:0:0/3:0:0:0/block/sdb
N: sdb
S: disk/by-id/ata-TOSHIBA_MK5065GSX_10MIC05OT
S: disk/by-id/wwn-0x5000039243b85ee9
S: disk/by-path/pci-0000:03:00.2-usb-0:2:1.0-scsi-0:0:0:0
E: DEVLINKS=/dev/disk/by-id/ata-TOSHIBA_MK5065GSX_10MIC05OT /dev/disk/by-id/wwn-0x5000039243b85ee9 /dev/disk/by-path/pci-0000:03:00.2-usb-0:2:1.0-scsi-0:0:0:0
E: DEVNAME=/dev/sdb
E: DEVPATH=/devices/pci0000:00/0000:00:1e.0/0000:02:06.0/0000:03:00.2/usb6/6-2/6-2:1.0/host3/target3:0:0/3:0:0:0/block/sdb
E: DEVTYPE=disk
E: ID_ATA=1
E: ID_ATA_DOWNLOAD_MICROCODE=1
E: ID_ATA_FEATURE_SET_APM=1
E: ID_ATA_FEATURE_SET_APM_CURRENT_VALUE=128
E: ID_ATA_FEATURE_SET_APM_ENABLED=1
E: ID_ATA_FEATURE_SET_HPA=1
E: ID_ATA_FEATURE_SET_HPA_ENABLED=1
E: ID_ATA_FEATURE_SET_PM=1
E: ID_ATA_FEATURE_SET_PM_ENABLED=1
E: ID_ATA_FEATURE_SET_SECURITY=1
E: ID_ATA_FEATURE_SET_SECURITY_ENABLED=0
E: ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN=154
E: ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=154
E: ID_ATA_FEATURE_SET_SMART=1
E: ID_ATA_FEATURE_SET_SMART_ENABLED=1
E: ID_ATA_ROTATION_RATE_RPM=5400
E: ID_ATA_SATA=1
E: ID_ATA_SATA_SIGNAL_RATE_GEN1=1
E: ID_ATA_WRITE_CACHE=1
E: ID_ATA_WRITE_CACHE_ENABLED=1
E: ID_BUS=ata
E: ID_MODEL=TOSHIBA_MK5065GSX
E: ID_MODEL_ENC=TOSHIBA\x20MK5065GSX\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
E: ID_PART_TABLE_TYPE=dos
E: ID_PATH=pci-0000:03:00.2-usb-0:2:1.0-scsi-0:0:0:0
E: ID_PATH_TAG=pci-0000_03_00_2-usb-0_2_1_0-scsi-0_0_0_0
E: ID_REVISION=GJ003A
E: ID_SERIAL=TOSHIBA_MK5065GSX_10MIC05OT
E: ID_SERIAL_SHORT=10MIC05OT
E: ID_TYPE=disk
E: ID_WWN=0x5000039243b85ee9
E: ID_WWN_WITH_EXTENSION=0x5000039243b85ee9
E: MAJOR=8
E: MINOR=16
E: SUBSYSTEM=block
E: TAGS=:systemd:
E: USEC_INITIALIZED=534218329


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  @ 2014-08-07 15:56                                                                         ` Speccyfighter
  2014-08-07 16:14                                                                           ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-07 15:56 UTC (permalink / raw)
  To: ALT Linux Community general discussions



07.08.2014, 15:07, "Денис Смирнов" <mithraen@freesource.info>:
> On Thu, Aug 07, 2014 at 04:24:46AM +0400, Speccyfighter wrote:
>>  Проверялось на буке с одним стационарным sda.
>>  sdb - usb-hdd:
>
> Проверьте, пожалуйста, новый lmount из аттача.
>

Денис, всё готово и нормально, можно опакечивать:

$ lmount6
NAME MOUNTPOINT  LABEL                            FSTYPE  SIZE   MODEL
sdc              ALT Linux altlinux-p7-icewm/i586 iso9660 3,6G   TransMemory
sdc1             ALT Linux altlinux-p7-icewm/i586 iso9660 333M   TransMemory
sdc2             alt-live-storage                 ext4    3,3G   TransMemory
sdd1                                              ext4    20G    Transcend
sdd2 /media/sdd2 Transcend2                       ext3    222,4G Transcend
sdd3             Transcend3                       ext3    222,4G Transcend
sr0              KNOPPIX                          iso9660 693,7M DVD RW AD-7240S

Проверил на десктопе и ноутбуке.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-07 15:56                                                                         ` Speccyfighter
@ 2014-08-07 16:14                                                                           ` Speccyfighter
  2014-08-07 16:55                                                                             ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-07 16:14 UTC (permalink / raw)
  To: ALT Linux Community general discussions



07.08.2014, 19:56, "Speccyfighter" <zxwarior@yandex.ru>:
> 07.08.2014, 15:07, "Денис Смирнов" <mithraen@freesource.info>:
>>  On Thu, Aug 07, 2014 at 04:24:46AM +0400, Speccyfighter wrote:
>>>   Проверялось на буке с одним стационарным sda.
>>>   sdb - usb-hdd:
>>  Проверьте, пожалуйста, новый lmount из аттача.
>
> Денис, всё готово и нормально, можно опакечивать:
>

Кстати, утилита универсальная, и под pmountm и под udisksctl,
поэтому хотелось бы чтобы название утилиты говорило само
за себя. Что-то вроде?
lsrmvblk - ls removable blk
Тем более, что ls у всех на слуху, да это оно и делает:
просмотр съёмных блочных устройств.
Или как-то так.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-07 16:14                                                                           ` Speccyfighter
@ 2014-08-07 16:55                                                                             ` Денис Смирнов
  2014-08-07 17:07                                                                               ` Speccyfighter
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-07 16:55 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 467 bytes --]

On Thu, Aug 07, 2014 at 08:14:57PM +0400, Speccyfighter wrote:

> Кстати, утилита универсальная, и под pmountm и под udisksctl,
> поэтому хотелось бы чтобы название утилиты говорило само
> за себя. Что-то вроде?
> lsrmvblk - ls removable blk
> Тем более, что ls у всех на слуху, да это оно и делает:
> просмотр съёмных блочных устройств.
> Или как-то так.

lsrmvblk никто не запомнит :)

lsmount пойдет?

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-07 16:55                                                                             ` Денис Смирнов
@ 2014-08-07 17:07                                                                               ` Speccyfighter
  2014-08-08  3:28                                                                                 ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Speccyfighter @ 2014-08-07 17:07 UTC (permalink / raw)
  To: ALT Linux Community general discussions



07.08.2014, 20:55, "Денис Смирнов" <mithraen@freesource.info>:
> On Thu, Aug 07, 2014 at 08:14:57PM +0400, Speccyfighter wrote:
>>  Кстати, утилита универсальная, и под pmountm и под udisksctl,
>>  поэтому хотелось бы чтобы название утилиты говорило само
>>  за себя. Что-то вроде?
>>  lsrmvblk - ls removable blk
>>  Тем более, что ls у всех на слуху, да это оно и делает:
>>  просмотр съёмных блочных устройств.
>>  Или как-то так.
>
> lsrmvblk никто не запомнит :)
>
> lsmount пойдет?
>
> --

:)
На этом и порешим.
Звучно, просто и запоминаюшееся.


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


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-07 17:07                                                                               ` Speccyfighter
@ 2014-08-08  3:28                                                                                 ` Денис Смирнов
  2014-08-09 19:50                                                                                   ` Michael Shigorin
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-08  3:28 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 217 bytes --]

On Thu, Aug 07, 2014 at 09:07:58PM +0400, Speccyfighter wrote:

>> lsmount пойдет?
> :)
> На этом и порешим.
> Звучно, просто и запоминаюшееся.

Ушло в Сизиф.

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-08  3:28                                                                                 ` Денис Смирнов
@ 2014-08-09 19:50                                                                                   ` Michael Shigorin
  2014-08-15  9:52                                                                                     ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Michael Shigorin @ 2014-08-09 19:50 UTC (permalink / raw)
  To: community

On Fri, Aug 08, 2014 at 07:28:09AM +0400, Денис Смирнов wrote:
> >> lsmount пойдет?
> > :)
> > На этом и порешим.
> > Звучно, просто и запоминаюшееся.
> Ушло в Сизиф.

Добавил в regular-rescue, если стоит ещё куда (icewm?) --
просьба сообщить.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-09 19:50                                                                                   ` Michael Shigorin
@ 2014-08-15  9:52                                                                                     ` Денис Смирнов
  2014-08-15 10:22                                                                                       ` Michael Shigorin
  0 siblings, 1 reply; 66+ messages in thread
From: Денис Смирнов @ 2014-08-15  9:52 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

On Sat, Aug 09, 2014 at 11:50:08PM +0400, Michael Shigorin wrote:

>>>> lsmount пойдет?
>>> :)
>>> На этом и порешим.
>>> Звучно, просто и запоминаюшееся.
>> Ушло в Сизиф.
> Добавил в regular-rescue, если стоит ещё куда (icewm?) --
> просьба сообщить.

Кстати, у меня на эту тему еще один usability вопрос:

У нас сейчас есть 3 инструмента для монтирования от юзера -- hmount,
pmount, udisks2.

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

Как обозовать такой юзверьский 'mount'/'umount'?

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-15  9:52                                                                                     ` Денис Смирнов
@ 2014-08-15 10:22                                                                                       ` Michael Shigorin
  2014-08-15 11:26                                                                                         ` Денис Смирнов
  0 siblings, 1 reply; 66+ messages in thread
From: Michael Shigorin @ 2014-08-15 10:22 UTC (permalink / raw)
  To: community

On Fri, Aug 15, 2014 at 01:52:54PM +0400, Денис Смирнов wrote:
> Как обозовать такой юзверьский 'mount'/'umount'?

mnt? :) ("bin/mnt" в contents_index не встречается)

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


^ permalink raw reply	[flat|nested] 66+ messages in thread

* Re: [Comm] автомонтирование без DE
  2014-08-15 10:22                                                                                       ` Michael Shigorin
@ 2014-08-15 11:26                                                                                         ` Денис Смирнов
  0 siblings, 0 replies; 66+ messages in thread
From: Денис Смирнов @ 2014-08-15 11:26 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 247 bytes --]

On Fri, Aug 15, 2014 at 02:22:42PM +0400, Michael Shigorin wrote:

>> Как обозовать такой юзверьский 'mount'/'umount'?
> mnt? :) ("bin/mnt" в contents_index не встречается)

Ok, будет mnt :)

-- 
С уважением, Денис

http://mithraen.ru/

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2014-08-15 11:26 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-23 16:50 [Comm] автомонтирование без DE Денис Смирнов
2014-07-23 20:54 ` Michael Shigorin
2014-07-24  8:35   ` Денис Смирнов
2014-07-24  8:57     ` Michael Shigorin
2014-07-24 12:55       ` Владимир Гусев
2014-07-28 23:36       ` Денис Смирнов
2014-07-29  3:55         ` Eugene Prokopiev
2014-07-29 15:10           ` Денис Смирнов
2014-07-24 18:00 ` Speccyfighter
2014-07-24 19:41   ` Фаизов Алишер
2014-07-24 19:49     ` Speccyfighter
2014-07-24 21:21       ` Mikhail Efremov
2014-07-24 23:09         ` Speccyfighter
2014-07-28 23:41           ` Денис Смирнов
2014-07-29 10:48             ` Speccyfighter
2014-07-29 10:52               ` Speccyfighter
2014-07-29 16:16               ` Денис Смирнов
2014-07-29 18:13                 ` Speccyfighter
2014-07-29 19:20                   ` Денис Смирнов
2014-07-29 19:52                     ` Speccyfighter
2014-07-29 19:59                       ` Speccyfighter
2014-07-30  0:52                       ` Денис Смирнов
2014-07-30  3:26                         ` Speccyfighter
2014-07-30 18:11                           ` Денис Смирнов
2014-07-31  2:00                             ` Speccyfighter
2014-07-31 14:06                               ` Денис Смирнов
2014-07-31 14:39                                 ` Speccyfighter
2014-07-31 16:47                                   ` Денис Смирнов
2014-07-31 17:35                                     ` Speccyfighter
2014-07-31 19:05                                       ` Денис Смирнов
2014-08-01  0:47                                         ` Speccyfighter
2014-08-01  2:43                                           ` Денис Смирнов
2014-08-01 17:13                                             ` Speccyfighter
2014-08-02 14:09                                               ` Денис Смирнов
2014-08-02 18:51                                                 ` Speccyfighter
2014-08-03  3:58                                                   ` Денис Смирнов
2014-08-03 14:22                                                     ` Speccyfighter
2014-08-03 19:46                                                       ` Денис Смирнов
2014-08-03 22:33                                                         ` Speccyfighter
2014-08-04 13:29                                                           ` Денис Смирнов
2014-08-05 15:15                                                             ` Speccyfighter
2014-08-05 18:43                                                               ` Денис Смирнов
2014-08-06 12:55                                                                 ` Speccyfighter
2014-08-06 21:52                                                                   ` Денис Смирнов
2014-08-07  0:24                                                                     ` Speccyfighter
2014-08-07 15:56                                                                         ` Speccyfighter
2014-08-07 16:14                                                                           ` Speccyfighter
2014-08-07 16:55                                                                             ` Денис Смирнов
2014-08-07 17:07                                                                               ` Speccyfighter
2014-08-08  3:28                                                                                 ` Денис Смирнов
2014-08-09 19:50                                                                                   ` Michael Shigorin
2014-08-15  9:52                                                                                     ` Денис Смирнов
2014-08-15 10:22                                                                                       ` Michael Shigorin
2014-08-15 11:26                                                                                         ` Денис Смирнов
2014-08-04 18:35                                                   ` Michael Shigorin
2014-07-30  4:46                         ` Speccyfighter
2014-07-30  5:31                           ` Speccyfighter
2014-07-30 14:41                           ` Денис Смирнов
2014-07-30 16:39                             ` Speccyfighter
2014-07-29 19:27                   ` Speccyfighter
2014-07-29 19:04                 ` Speccyfighter
2014-07-30  0:10                   ` Денис Смирнов
2014-07-30  9:23                 ` Michael Shigorin
2014-07-30 14:39                   ` Денис Смирнов
2014-07-30  9:38                 ` Sergey
2014-07-30 11:16                   ` Sergey

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git