[РЕШЕНО] юнит snmpd.service для systemd

Как оказалось пакет net-snmp не содержит юнит файлика для systemd. Может кто то уже с этим столкнулся и нашел правильное содержимое для snmpd.service. Нашел такой вот вариант:
[root@pts/1 > /tmp]# cat /usr/lib/systemd/system/snmpd.service                                [13:12]
[Unit]
Description=Simple Network Management Protocol (SNMP) Daemon.
After=syslog.target network.target
[Service]
Type=notify
Environment=SNMPDLOG="-LS0-6d"
EnvironmentFile=-/etc/conf.d/snmpd
ExecStart=/usr/sbin/snmpd $SNMPDLOG $SNMPD_ARGS -f
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
Но после запуска остается висеть сам процесс systemctl пока не нажмешь Ctrl+C:
[root@pts/2 > /home/casper]# ps -ef | grep snmp                         [12:04]
root     11401 13526  0 13:11 pts/1    00:00:00 systemctl start snmpd
root     11403     1  0 13:11 ?        00:00:00 /usr/sbin/snmpd -LS0-6d -f
root     11615 20404  0 13:11 pts/2    00:00:00 grep --color=auto snmp
Пробовал убирать ключик -f, тогда snmpd стартует и сразу же умирает. Может кто знает как правильно его запустить под systemd?
У вас стоит Type=notify
man systemd.service
           Behaviour of notify is similar to simple, however it is expected
           that the daemon sends a notification message via sd_notify(3) or an
           equivalent call when it finished starting up. systemd will proceed
           starting follow-up units after this notification message has been
           sent. If this option is used NotifyAccess= (see below) should be
           set to open access to the notification socket provided by systemd.
           If NotifyAccess= is not set, it will be implicitly set to main.
Если systemctl start не завершается, значит он ждёт сообщения об успешном (или неуспешном) старте демона, но это сообщение не поступает. Очевидно, причина либо в том, что выбран неправильный Type, либо демон сам чего-то ждёт, и не может дождаться.
Спасибо за ответ. Слегка подправил юнит и терь стартует как надо!
Casper
Спасибо за ответ. Слегка подправил юнит и терь стартует как надо!
А как именно подправил?
Убрал “Type=notify” или на что-то другое заменил?
поменял notify на чтото более путное.
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
Вот рабочий вариант.
Я собрал snmpd из исходников net-snmp 5.7.3

Самый простой unit для systemd:
# vi /etc/systemd/system/snmpd.service
[Unit]
Description=Simple Network Management Protocol (SNMP) Daemon.
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/local/sbin/snmpd -c /root/snmpd.conf #путь к snmpd и его конф файлу
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
# systemctl enable snmpd.service
# systemctl start snmpd.service
# systemctl status snmpd.service
И тебе привет, некрофилушка.
На дату создания_темы/последнего_поста не смотрим?
dzhazzz
Я собрал snmpd из исходников net-snmp 5.7.3
а чем версия из репозитория не подошла?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.