Transmission перезаписывает конфиг

То бишь Transmission Remote GUI отображает сразу и в одном окне всё то же, что Transmission-qt открывает отдельно для каждого торрента.
С другой стороны, это заставит его сразу и без запроса загружать подробные параметры сразу всех отображаемых торрентов, что вызовет проблемы, если в торрентах много файлов, а соединение фронтенда с бэкэндом действительно удалённое и не слишком быстрое.
Haron_Prime, спасибо - попробую оба клиента для сравнения.

Natrio,
конфиг всегда правлю при выключеном демоне, не помогает.
Сейчас запускаю так:
/usr/lib/systemd/system/transmission.service
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target

[Service]
User=mov
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error -g /home/mov
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target
в /home/mov/ лежит свой конфиг. Делаю:
systemctl enable transmission
перегружаюсь, демон стартует уже с перезаписанным конфигом. Снова правлю конфиг, делаю
systemctl reload transmission
Изменения подхватываются, но после рестарта конфиг все равно сбрасывается.
Клиент или веб интерфес использовать не могу, потому что конфиг постоянно перезаписывается и не дает доступ по сети. На самой машине экрана нет.
mbeloborodov, по-моему, вы шаманите. Распихиваете конфиги на всякий случай по всем каталогам, правите юниты где попало, и т.д., в результате сами не знаете, что откуда читается и как запускается.

1) Я сказал, что юнит должен быть в файле /etc/systemd/system/transmission.service , зачем вы правили /usr/lib/systemd/system/transmission.service ?
Остановите демона.
Перенесите юнит в /etc/systemd/system/ , переустановите пакет transmission-cli , и юнит в /usr/lib/systemd вернётся к своему дефолтному состоянию, как вернулся бы после первого же обновления.
Сделайте
systemctl disable transmission
systemctl enable transmission

2) Уберите ВСЕ распиханные вами куда попало конфиги, оставьте только в одном каталоге, к примеру, /home/mov/transmission/ , чтобы файл конфига был /home/mov/transmission/settings.json
Соответственно, строку запуска в юните сделайте такой:
ExecStart=/usr/bin/transmission-daemon -f --log-error -g /home/mov/transmission
После правки юнита сделайте
systemctl daemon-reload
чтобы systemd перечитал его.

В процессе работы демона в каталоге /home/mov/transmission/ должны появиться, кроме конфига, файлы stats.json, dht.dat (если вы включали в настройках DHT), каталоги torrents/ и resume/ . Если ничего этого не появляется, значит вы запустили демона неправильно, он считает рабочим каталогом какой-то другой, и пытается читать конфиг из другого места.
Natrio, я извиняюсь, что влезаю, но если надо дополнить юнит-файл, то его не обязательно копировать, можно через *.d/ директорию с конфигом.
Natrio, удалил пакет, почистил все что от него осталось. Установил заново, перенес юнит в /etc/systemd/system, исправил пользователя для запуска, конфиг указывать не стал.
systemctl start transmission
systemctl stop transmission
создается директория /home/mov/.config/transmission-daemon/, правлю дефолтный settings.json(единственный конфиг transmission в системе), запускаю демон - все работает.
Перезагружаю машину, запускаю, останавливаю демон - файл настроек не изменяется.
systemctl enable transmission
Перезагружаю машину, демон стартовал, но файл настроек уже перезаписан на дефолтный.
lampslave
если надо дополнить юнит-файл
Я в курсе. Параметры добавятся к юниту, при совпадении будут заменены те, что не допускают множественного вхождения, а допускающие (в том числе ExecStart) войдут в итоговый юнит в обоих вариантах.
Таким образом, если нужно заменить параметры вроде ExecStart, или удалить некоторые параметры, юнит приходится заменять целиком.

mbeloborodov
единственный конфиг transmission в системе
Под рутом
find / -name settings.json
?

Давайте попробуем сделать так:
Остановите демона.
Убедитесь, что не запущено других экземпляров:
pgrep -af transmission
Измените конфиг так, как вы его изменяли раньше.
От пользователя запустите демона такой командой в консоли:
transmission-daemon -f --log-debug &> /tmp/tm.log
Когда демон перезапишет конфиг, остановите его (Ctrl+C в консоли, где он был запущен), и выложите файл /tmp/tm.log
Под рутом:
find / -name settings.json
/home/mov/.config/transmission-daemon/settings.json

Демон остановлен, в конфиге меняю только значение rpc-password, запускаю:
transmission-daemon -f --log-debug &> /tmp/tm.log
Конфиг перзаписывается. Лог:
cat /tmp/tm.log
[2015-02-04 17:25:26.307 MSK] Transmission 2.84 (14307) started (session.c:736)
[2015-02-04 17:25:26.307 MSK] Couldn't read "/home/mov/.config/transmission-daemon/stats.json": No such file or directory (utils.c:233)
[2015-02-04 17:25:26.307 MSK] Couldn't read "/home/mov/.config/transmission-daemon/stats.benc": No such file or directory (utils.c:233)
[2015-02-04 17:25:26.307 MSK] Cache Maximum cache size set to 4.00 MiB (256 blocks) (cache.c:261)
[2015-02-04 17:25:26.307 MSK] RPC Server Adding address to whitelist: 127.0.0.1 (rpc-server.c:824)
[2015-02-04 17:25:26.307 MSK] RPC Server Adding address to whitelist: 192.168.88.* (rpc-server.c:824)
[2015-02-04 17:25:26.307 MSK] RPC Server Serving RPC and Web requests on port 127.0.0.1:9091/transmission/ (rpc-server.c:1033)
[2015-02-04 17:25:26.307 MSK] RPC Server Whitelist enabled (rpc-server.c:1037)
[2015-02-04 17:25:26.307 MSK] Bound socket 13 to port 51413 on 0.0.0.0 (net.c:379)
[2015-02-04 17:25:26.307 MSK] Bound socket 14 to port 51413 on :: (net.c:379)
[2015-02-04 17:25:26.307 MSK] UDP Failed to set receive buffer: requested 4194304, got 327680 (tr-udp.c:78)
[2015-02-04 17:25:26.307 MSK] UDP Please add the line "net.core.rmem_max = 4194304" to /etc/sysctl.conf (tr-udp.c:83)
[2015-02-04 17:25:26.307 MSK] UDP Failed to set send buffer: requested 1048576, got 327680 (tr-udp.c:89)
[2015-02-04 17:25:26.307 MSK] UDP Please add the line "net.core.wmem_max = 1048576" to /etc/sysctl.conf (tr-udp.c:94)
[2015-02-04 17:25:26.307 MSK] DHT Initializing DHT (tr-dht.c:277)
[2015-02-04 17:25:26.307 MSK] DHT Reusing old id (tr-dht.c:306)
[2015-02-04 17:25:26.307 MSK] DHT DHT initialized (tr-dht.c:331)
[2015-02-04 17:25:26.307 MSK] DHT Bootstrapping from 113 IPv4 nodes (tr-dht.c:154)
[2015-02-04 17:25:26.307 MSK] Using settings from "/home/mov/.config/transmission-daemon" (daemon.c:557)
[2015-02-04 17:25:26.307 MSK] Saved "/home/mov/.config/transmission-daemon/settings.json" (variant.c:1214)
[2015-02-04 17:25:26.307 MSK] Port Forwarding (NAT-PMP) initnatpmp succeeded (0) (natpmp.c:70)
[2015-02-04 17:25:26.307 MSK] Port Forwarding (NAT-PMP) sendpublicaddressrequest succeeded (2) (natpmp.c:70)
[2015-02-04 17:25:32.307 MSK] Port Forwarding (UPnP) UPNP_GetValidIGD failed (errno 0 - Success) (upnp.c:235)
[2015-02-04 17:25:32.308 MSK] Port Forwarding (UPnP) If your router supports UPnP, please make sure UPnP is enabled! (upnp.c:238)
[2015-02-04 17:25:32.308 MSK] Port Forwarding State changed from "Not forwarded" to "Starting" (port-forwarding.c:92)
[2015-02-04 17:25:34.308 MSK] Port Forwarding (NAT-PMP) readnatpmpresponseorretry failed. Natpmp returned -7 (the gateway does not support nat-pmp); errno is 111 (Connection refused) (natpmp.c:75)
[2015-02-04 17:25:34.308 MSK] Port Forwarding State changed from "Starting" to "???" (port-forwarding.c:92)
[2015-02-04 17:25:38.634 MSK] Saved "/home/mov/.config/transmission-daemon/settings.json" (variant.c:1214)
[2015-02-04 17:25:38.634 MSK] DHT Uninitializing DHT (tr-dht.c:347)
[2015-02-04 17:25:38.634 MSK] DHT Not saving nodes, DHT not ready (tr-dht.c:358)
[2015-02-04 17:25:38.634 MSK] DHT Done uninitializing DHT (tr-dht.c:395)
[2015-02-04 17:25:38.634 MSK] Port Forwarding Stopped (port-forwarding.c:180)
[2015-02-04 17:25:38.634 MSK] Closing libevent thread (trevent.c:253)
Closing transmission session... done.

Соответственно, если не изменять конфиг, он все равно при запуске перезаписывается.
mbeloborodov
в конфиге меняю только значение rpc-password, запускаю
Так бы сразу и сказали :)
Вам надо перед запуском поправить минимум три строки:
"rpc-authentication-required": true,
"rpc-password": "пароль",
"rpc-username": "логин",
После запуска пароль заменяется его хешем, остальное остаётся как вы прописали.
Natrio, изначально менял все, аутентификацию убирал полностью.
Сейчас с конфигом разобрался - думаю не правильно правил.
Осталась такая беда - после рестарта машины демон не слушает порт 9091:
netstat -tuapen | grep 'trans'
tcp        0      0 0.0.0.0:51413           0.0.0.0:*               LISTEN      1000       11167      216/transmission-da
tcp6       0      0 :::51413                :::*                    LISTEN      1000       11169      216/transmission-da
udp        0      0 0.0.0.0:51413           0.0.0.0:*                           1000       11170      216/transmission-da
udp        0      0 0.0.0.0:57316           0.0.0.0:*                           1000       11231      216/transmission-da
после systemctl reload transmission
netstat -tuapen | grep 'trans'
tcp        0      0 0.0.0.0:51413           0.0.0.0:*               LISTEN      1000       11616      216/transmission-da
tcp        0      0 0.0.0.0:9091            0.0.0.0:*               LISTEN      1000       11615      216/transmission-da
tcp6       0      0 :::51413                :::*                    LISTEN      1000       11617      216/transmission-da
udp        0      0 0.0.0.0:51413           0.0.0.0:*                           1000       11170      216/transmission-da
udp        0      0 0.0.0.0:57316           0.0.0.0:*                           1000       11231      216/transmission-da
Почему так происходит?
 
Зарегистрироваться или войдите чтобы оставить сообщение.