Bug 42746 - i2pd - не работает systemd service
Summary: i2pd - не работает systemd service
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: i2pd (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-13 03:57 MSK by mikhail.alexandrov.99
Modified: 2023-05-18 11:14 MSK (History)
3 users (show)

See Also:


Attachments
Сборочный рпм с обновлёнными спеком, конфигом и юнитом. (527.63 KB, application/x-rpm)
2022-05-20 06:45 MSK, Вадим Илларионов
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description mikhail.alexandrov.99 2022-05-13 03:57:13 MSK
Не работает start через systemctl

$ systemctl start i2pd.service
Job for i2pd.service failed because the control process exited with error code.
See "systemctl status i2pd.service" and "journalctl -xeu i2pd.service" for details.

Если запускать просто в терминале
$ i2pd
То работает вроде корректно

Попытался сам разобраться в чем проблема.
Юнит при запуске указывает файл-конфигурации /var/lib/i2pd/i2p.conf
В этом файле некорректные поля v6, httpproxyaddress, httpproxyport, socksproxyaddress, socksproxyport, которые вероятно просто устарели.
Если какое-то из них будет в файле, то он будет ругаться, что не знает что это.
Если их закомментировать, то юнит будет корректно запускаться, и проблема вроде как исчезнет.
Думаю, что может с новой версией изменились названия этих настроек, и что стоит просто обновить этот файл
Comment 1 Andrey Cherepanov 2022-05-13 10:39:32 MSK
Воспроизводится на Sisyphus (i2pd-2.41.0-alt1)
Comment 2 Вадим Илларионов 2022-05-20 06:13:31 MSK
> Думаю, что может с новой версией изменились названия этих настроек, и что
> стоит просто обновить этот файл

Этого мало. Помимо полей без точки:
1) Поменялся сам формат конфига — превратился из голого .conf в натуральный .ini с разбивкой на секции по службам.
2) Более не требуется перечень подписок отдельным файлом — теперь они перечисляются в секции службы [addressbook] основного конфига.
3) Отпала надобность доп.опций в /sysconfig/i2pd — включавшиеся через него службы проще добавить секциями в конфиг. Ещё проще — прилагать конфиг с полным закомментаренным перечнем доступных служб, включить нужные из которых достаточно простым раскомментированием.
4) У автора демона имя конфига совпадает с именем собственно демона, без отгрызания буквы «d».
5) В справке и манах новых сборок ещё осталось описание умолчального размещения конфигов и пид-файла при запуске демона в качестве сервиса в /var/lib/i2pd/, однако по факту в юните идёт отсылка к системным расположениям — /etc/i2pd/*.conf, /run/i2pd/i2pd.pid, /var/log/i2pd/i2pd.log.
6) В новом юните демона учтена необходимость его плавного останова при стопе/перезапуске для корректного закрытия соединений, дабы узел не попал в бан за нарушение участка i2p-сети.
7) Во избежание таких разрывов и перестроений, демон теперь не требуется перезапускать для перечитывания конфигурации — новая версия умеет перезагружаться.

В связи со всем вышеперечисленным предлагаю к рассмотрению свой вариант .srpm, каковой приложу чуть позже — для себя я его собрал с расширением конфигов .ini вместо .conf для удобочитаемости в миднайт-редакторе, и ещё парой мелочей, которые предварительно вычищу, перепроверю и пересоберу.
Comment 3 Вадим Илларионов 2022-05-20 06:45:13 MSK
Created attachment 10772 [details]
Сборочный рпм с обновлёнными спеком, конфигом и юнитом.

Прикладываю обещанный српм.
Comment 4 mikhail.alexandrov.99 2022-05-21 04:03:46 MSK
Вадим, как нуб выражаю вам большую признательность за столь детальное изучение вопроса, спасибо за проделанную работу, ждем, что ответят
Comment 5 grey-olli 2023-04-05 15:46:28 MSK
В багзилле появился новый запрос на i2p, но почему-то хотят на яве (как я понял). Лично меня устроит и i2pd сделанный на плюсах. Правда вылезает интересная коллизия пожеланий к пакету. Подробности в комменте к https://bugzilla.altlinux.org/36772 .
Comment 6 Vitaly Lipatov 2023-05-18 11:14:51 MSK
(Ответ для Вадим Илларионов на комментарий #3)
> Создано вложение 10772 [details] [подробности]
> Сборочный рпм с обновлёнными спеком, конфигом и юнитом.
> 
> Прикладываю обещанный српм.
Вадим, а может быть вы уже можете предоставить решение в виде git-репозитория?