Параметры сервиса

Для сервиса с одним параметром есть @. А есть ли нормальный способ или общепринятый трюк для передачи нескольких параметров? Конкретно, из правила udev хочется передать адрес устройства и его имя. Переменные окружения, которые видны в правиле UDEV, вроде, сервисом не наследуются.
Переменные окружения наследуются дочерними процессами, но systemctl не запускает их сам, а лишь передаёт команду systemd.

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

Кажется, я припоминаю, почему второй параметр отпал – все параметры устройства можно было определить по одному имени, а действие – передать через systemctl start/stop/reload
Насчёт udev не знаю, а вообще вот: http://superuser.com/a/728962
Natrio
Кажется, я припоминаю, почему второй параметр отпал – все параметры устройства можно было определить по одному имени, а действие – передать через systemctl start/stop/reload
Вопрос возник в связи с автомонтированием MTP-устройств.
Для mass storage действительно всё (например, метку файловой системы) можно выковырять, стартуя с имени устройства. А вот для MTP я такого пути не нашёл. А в момент подключения доступна переменная ID_MODEL - её я хочу использовать, как имя каталога для монтирования.
$ udevadm info /dev/bus/usb/005/004 | grep ID_MODEL
E: ID_MODEL=Android_Adapter
E: ID_MODEL_ENC=Android\x20Adapter
E: ID_MODEL_FROM_DATABASE=Ideos (debug mode)
E: ID_MODEL_ID=1038
Вот так выковыриваются из UDEV любые доступные параметры.
Правда, у моего телефона они получились какие-то не очень информативные.
Natrio
udevadm info
Спасибо за подсказку. Я часто использую udevadm, чтобы мониторить события, а про просто е использование забыл.
Впрочем, похоже, зря старался - работа по mtp получается такая тормозная, что по-любому быстрее будет через кардридер. А в винде хождение по каталогам такое же тормозное, но копирование файлов идёт с приличной скоростью, а не 700kБайт в секунду.
lampslave
Насчёт udev не знаю, а вообще вот: http://superuser.com/a/728962
Собственно, я и сделал через вспомогательный файл.
IMHO надёжнее парсить свой файл самому, чем добавлять зависимость от ещё одного системного парсера, в котором что-то отвалится после очередного грандиозного улучшения.
akorop
IMHO надёжнее парсить свой файл самому, чем добавлять зависимость от ещё одного системного парсера, в котором что-то отвалится после очередного грандиозного улучшения.
а что в последнее время у него отвалилось?
вопрос не ради холивара, а только для того что бы мне быть в курсе.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
У меня нет претензий конкретно к этой фишке (передача переменных через файл), тем более, что я ею не пользовался. Это просто общий принцип: если программа или скрипт получается примерно одинаковой сложности при использовании чего-то внешнего, и без использования - не использовать. Типа чу-чхэ.
Например, тривиальная статическая настройка сети у меня делается несколькими командами ip, я это настроил давным-давно и забыл, и мне пофиг, как там сменяются-обновляются netcfg, netctl и прочие NetworkManager-ы.
akorop
Например, тривиальная статическая настройка сети у меня делается несколькими командами ip, я это настроил давным-давно и забыл, и мне пофиг, как там сменяются-обновляются netcfg, netctl и прочие NetworkManager-ы.
в данном случае тебе не нужны не netcfg, netctl и прочие NetworkManager-ы, ни что либо
статика настраивается
https://wiki.archlinux.org/index.php/Systemd-networkd#Installation
вот мой конфиг
/etc/systemd/network/ethernet-static-enp3s0.network

[Match]
Name=enp3s0

[Network]
Description=systemd set enp3s0
Address=192.168.69.12/24
Gateway=192.168.69.1
DNS=8.8.8.8
FallbackDNS=8.8.8.8 8.8.4.4 192.168.253.3
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.