Bug 21190 - Добавить пример для работы демона под отдельным пользователем
Summary: Добавить пример для работы демона под отдельным пользователем
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: transmission-daemon (show other bugs)
Version: unstable
Hardware: all Linux
: P1 enhancement
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 23751
  Show dependency tree
 
Reported: 2009-08-22 22:59 MSD by serpiph
Modified: 2010-09-16 13:01 MSD (History)
6 users (show)

See Also:


Attachments
Пример запуска из init-скрипта (1.31 KB, text/plain)
2009-08-22 22:59 MSD, serpiph
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description serpiph 2009-08-22 22:59:21 MSD
Created attachment 3767 [details]
Пример запуска из init-скрипта

Предлагаю файл, который я использую для работы торрент-сервера под отдельным пользователем torrent. Я создал псевдо-пользователя (без shell), себе добавил права  для перехода через sudo к этому пользователю (на всякий случай). Предлагаю этот файл добавить хотя бы в документацию для transmission-daemon или сделать дополнительный пакет для такого запуска (например, transmission-daemon-alone).
Comment 1 serpiph 2009-09-06 17:01:29 MSD
Можно добавить в doc к transmission-remote в среде bash:

alias active_torrents='transmission-remote -l | grep -v Stopped'

Очень удобная вещь.
Comment 2 А. Китайкин 2010-01-10 21:16:03 MSK
Ага. Багзилла, как всегда, последнее место, куда заглядываешь...
Comment 3 Anton Farygin 2010-07-12 12:34:25 MSD
Спасибо, я подумаю как это лучше всего реализовать.
Comment 4 Repository Robot 2010-07-12 20:28:47 MSD
transmission-1.93-alt2 -> sisyphus:

* Mon Jul 12 2010 Anton Farygin <rider@altlinux> 1.93-alt2
- added initscript for transmission-daemon by Timur Batyrshin (Closes: 23751, 21190)
Comment 5 serpiph 2010-07-13 07:52:34 MSD
Посмотрел. Есть вопрос: программа transmission-daemon позволяет ею управлять через web-интерфейс. Кроме того, она время от времени сбрасывает настройки в файл. Данная конфигурация не позволяет этого делать. При перезапуске демона все настройки уходят в никуда (из-за копирования и прав на файл настроек). Также копирование файла идёт строго в одно место, в то время как каталог с настройками  можно переназначить через sysconfig/transmission-daemon. Зачем такие сложности?
Comment 6 serpiph 2010-07-13 22:21:54 MSD
Прошу прощения, я имел в виду конфигурационный файл для демона.
Comment 7 Timur Batyrshin 2010-07-19 02:13:48 MSD
А такой вариант как? В /var/lib/transmission-daemon вместо конфига просто кладем симлинк, и выставляем права на конфиг в /etc, чтобы сервис мог его править.

Соответственно, если нужно каталог разместить в другом месте, правим путь в sysconfig/transmission-daemon и создаем в месте назначения аналогичный симлинк (или переносим/копируем из установочного каталога).

http://git.altlinux.org/people/erthad/packages/?p=transmission.git;a=commit;h=babd2c4db4b297ca5e6bebb68eb57deb2e58cac8
Comment 8 serpiph 2010-07-19 10:01:29 MSD
Мои предложения:
1) или симлинк (как у Вас), или при остановке программы обратно копировать конфигурационный файл (насчёт симлинка вопрос, я не знаю, удаляет ли демон предыдущий файл конфигурации или просто перезаписывает его).
2) добавить создание каталога /var/lib/transmission-daemon/Downloads (сам демон его не создаст) (?)
3) вместо жёсткой привязки добавить в sysconfig/transmission-daemon параметр CONFIG_STATE_DIR, который бы указывал на место расположения конфигурационных и служебных файлов (у меня, например, всё лежит в /home/torrent и переносить всё муторно). Сейчас в init-скрипте идёт жёсткая привязка на /var/lib/transmission-daemon
Comment 9 Sergey V Turchin 2010-07-19 14:32:36 MSD
(В ответ на комментарий №7)
> А такой вариант как? В /var/lib/transmission-daemon вместо конфига просто
> кладем симлинк
Зачем? Есть параметры --config-dir и --download-dir
Comment 10 serpiph 2010-07-19 14:40:24 MSD
(В ответ на комментарий №9)
> (В ответ на комментарий №7)
> > А такой вариант как? В /var/lib/transmission-daemon вместо конфига просто
> > кладем симлинк
> Зачем? Есть параметры --config-dir и --download-dir

Дело в том, что transmission-daemon помимо конфигурационного файла в этот каталог ещё кладёт и файлы статистики (в частности). Не хотелось бы, что в /etc/transmission-daemon появились эти файлы.
Comment 11 Timur Batyrshin 2010-07-19 22:25:08 MSD
(В ответ на комментарий №10)
> > > А такой вариант как? В /var/lib/transmission-daemon вместо конфига просто
> > > кладем симлинк
> > Зачем? Есть параметры --config-dir и --download-dir
> 
> Дело в том, что transmission-daemon помимо конфигурационного файла в этот
> каталог ещё кладёт и файлы статистики (в частности). Не хотелось бы, что в
> /etc/transmission-daemon появились эти файлы.

А также .torrent файлы и много чего еще. Поэтому я и решил вынести config-dir в %localstatedir

(В ответ на комментарий №8)
> 1) или симлинк (как у Вас), или при остановке программы обратно копировать
> конфигурационный файл (насчёт симлинка вопрос, я не знаю, удаляет ли демон
> предыдущий файл конфигурации или просто перезаписывает его).

Демона я у себя настраивал вручную, и конфиг после первоначальной настройки не менял ни разу. Как проверить записывает ли он его не знаю. Но по логике вещей он должен его перезаписывать, а не удалять и создавать новый.

> 2) добавить создание каталога /var/lib/transmission-daemon/Downloads (сам демон
> его не создаст) (?)
Создаст, если права есть.

> 3) вместо жёсткой привязки добавить в sysconfig/transmission-daemon параметр
> CONFIG_STATE_DIR, который бы указывал на место расположения конфигурационных и
> служебных файлов (у меня, например, всё лежит в /home/torrent и переносить всё
> муторно). Сейчас в init-скрипте идёт жёсткая привязка на
> /var/lib/transmission-daemon

Это уже исправлено в случае использования симлинка.
Ну а для случая с уже лежащими в другом месте конфигами и закачками, как уже сказали, есть ключи запуска --config-dir и --download-dir (в sysconfig/transmission-daemon).

Одним словом, я как добавивший инитскрипт считаю, что свое дело сделал — он теперь работает удобно и, судя по всему, правильно. Дальнейшее решение и дело за мантейнерами.
Comment 12 Repository Robot 2010-09-16 13:01:11 MSD
transmission-2.04-alt0.M40.1 -> 4.0:

* Thu Sep 16 2010 Anton Farygin <rider@altlinux> 2.04-alt0.M40.1
- backport to 4.0

* Mon Jul 12 2010 Anton Farygin <rider@altlinux> 1.93-alt2
- added initscript for transmission-daemon by Timur Batyrshin (Closes: 23751, 21190)

* Tue Jun 01 2010 Anton Farygin <rider@altlinux> 1.93-alt1
- new version

* Wed Feb 24 2010 Anton Farygin <rider@altlinux> 1.91-alt1
- new version

* Wed Feb 24 2010 Anton Farygin <rider@altlinux> 1.76-alt3
- add patches from upstream 1.7x branch with fix for CVE-2010-0012 (closes: #23019)
Comment 13 Repository Robot 2010-09-16 13:01:12 MSD
transmission-2.04-alt0.M51.1 -> 5.1:

* Thu Sep 16 2010 Anton Farygin <rider@altlinux> 2.04-alt0.M51.1
- backport to 5.1

* Mon Jul 12 2010 Anton Farygin <rider@altlinux> 1.93-alt2
- added initscript for transmission-daemon by Timur Batyrshin (Closes: 23751, 21190)

* Tue Jun 01 2010 Anton Farygin <rider@altlinux> 1.93-alt1
- new version

* Wed Feb 24 2010 Anton Farygin <rider@altlinux> 1.91-alt1
- new version

* Wed Feb 24 2010 Anton Farygin <rider@altlinux> 1.76-alt3
- add patches from upstream 1.7x branch with fix for CVE-2010-0012 (closes: #23019)