Автозапуск rTorrent [РЕШЕНО]
Здравствуйте товарищи гентушники.
Мучает меня такой вопрос. Есть тачка, она у меня роутер, фаерволл, и используется для закачки.
Раньше стоял осел (mldonkey), использовал я его как torrent клиент, но вскоре открыл для себя сабжевое чудо и перешел на него.
Запускаю я rtorrent в screen, и в дальнейшем по ssh управляю. Но вот возникла одна проблема, тачка заводится сама при подаче сетевого напряжения, и ослик естественно загружался сам, т.к. имеет свой ран-скрипт. А rtorrent так не умеет :(
Первая мысль была заводить screen+rtorrent из local.start, но к сожалению и к моему стыду, я не знаю как изменить UID на простого пользователя, а от рута такие вещи пускать - стремно.
Позже я нашел другой вариант, который мне больше всего понравился, это использовать скрипт для запуска от Q3 CPMA dedicated server, естественно переделать его под rtorrent. Привожу код этого скрипта:
#!/sbin/runscript # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/games-fps/quake3-bin/files/q3ded.rc,v 1.1 2005/10/25 00:38:03 vapier Exp $ depend() { need net } start() { ebegin "Starting Quake3 CPMA dedicated server" cd ~ screen -A -m -d -S q3cpma-ded /usr/games/bin/q3cpma-ded ${cpma_OPTS} eend $? } stop() { ebegin "Stopping Quake3 CPMA dedicated server" local pid=`screen -list | grep q3cpma-ded | awk -F . '{print $1}' | sed -e s/.//` if [ -z "${pid}" ] ; then eend 1 "Lost screen session" fi kill ${pid} } status() { screen -list | grep q3cpma-ded }
Все что надо, как я полагаю в этом скрипте есть, но вот опять проблема, все запускается от рута, а мне надо от простого юзера-подоконника.
Народ, кто может подсказать как изменить UID для screen или ткнуть в документ где описано как писать гентовые инит-скрипты c возможностью задания произвольного UID?
--Заранее спасибо--
- Для комментирования войдите или зарегистрируйтесь
Используй su
Используй su <имя пользователя> <что запускаем>
пробавал я так,
пробавал я так, получется костыль, все время это su висит, имхо не выход, вот если бы сразу пускать от заданного юзера...
su -c
su -c
Используй
Используй start-stop-daemon
GreenMice Solutions - внедрение Linux, переход на Линукс
В общем
В общем повозился я и есть пложительный результат, скрипты я пишу плохо, так что нет пока проверки состояния при останове и тп.
Но для тех, кому это нужно решил запостить. Жду конструктивную критику, а не вопросы и предпочтения - "зачем оно надо?", "юзай другой клиент" и тд.
Делается все с помощью двух фалйов в /etc/ini.d/ и /etc/conf.d, создаем в каждой из этих директорий файл, например rtorrent, при этом файл должен иметь одинаковое имя в обеих дирах (!!!)
Для /etc/init.d/rtorrent - права 755, владелец и группа - root.
Для /etc/conf.d/rtorrent - права 644, владелец и группа так же - root.
Файл переменных, задаем тут пути к программам, пользователя и диру, где валяется файл настроек (.rtorrent.rc):
И сам инит-скрипт:
В дальнейшем планирую повесить проверку на запущенный процесс при стопе, а так же при старте, если оно уже запущено ручками и настроить логирование.
Работает вся эта бодяга следующим образом: тачка заводится, запускается screen от заданного пользователя с rtorrent внутри, т.к. указана домашняя дира этого юзера - проблем не возникает, rtorrent читает свой файл конфигурации и поехал.
Восстановить сессию screen можно только от того юзера, от которого мы запускаем. Я управляю по ssh, залогиневшись на тачку под этим юзером и делаю screen -r. Если в открытой сессии нажать ctrl+q (выход из rtorrent'a), процесс screen тоже завершится, что в принципе удобно.
Так же надо не забыть добавить в автозапуск наш скрипт:
rc-update add rtorrent default
Модераторы, можете тему закрывать.
вставь [РЕШЕНО]
вставь [РЕШЕНО] в тему первого поста...
малатца
Это скорее предпочтения, нежели критика, и тем не менее
1. имена скриновской сессии и новому демону я бы дал всё-таки более говорящие. Через месяц сам не разберёшься во всех этих rtorrent'ах.
2. мне кажется, будет полезным (с учётом первого)
3. уже в качестве критики (пусть мелочной): после всего неплохо бы закрыть запущенный rtorrent и выполнить
В качестве завершающей точки.
А тему, я думаю, закрывать рано. Если только ты не решил выкладывать апдейты в более другое место.
до rtorrent недоходит CTRL+S
и у вас работает CTRL+S||CTRL+q в rtorrent?
http://www.gentoo.ru/node/120
http://www.gentoo.ru/node/12047
А повесьте feature
А повесьте feature request в багзилу с этими init.d и conf.d файлами приложенными. Их, конечно, по умолчанию врядли будут устанавливать в /etc/init.d conf.d соответсвенно, но в /usr/share/doc/rtorrent-ver/ думаю можно положить и elog соответсвующий написать... Я, конечно, не maintainer, но кто знает. Может быть maintainer согласиться...
Хоть автор и
Хоть автор и просил не предлагать альтернативных клиентов, всё таки рискну обратить его внимание на вот этого зверька: http://bitflu.workaround.ch , если верить всему что заявлено то он без костылей и извращений умеет всё что надо и даже больше.
Не выходит
Не выходит каменный цветок. ;)
Ни первым способом.
gentoo-server ~ # nano -w /etc/conf.d/rtorrent
gentoo-server ~ # nano -w /etc/init.d/rtorrent
gentoo-server ~ # rc-update add rtorrent default
* rtorrent not executable; skipping
Ни программой другой.
gentoo-server ~ # emerge -s bitflu
Searching...
[ Results for search key : bitflu ]
[ Applications found : 0 ]
Моя мечта:
#emerge комьютер с генту
Хм...
Так ведь так не интересно, а иначе зачем бы мы все выбрали Генту?! Ведь есть на то Кубунту, Убунту, и еще много-много дистров, де все из коробки воркает! ;)
А Генту... Тут думать над... =)
Не, про Ubuntu я
Не, про Ubuntu я тебе в личку написал.
меня Gentoo устраивает тем, что раз настроенная - продолжает работать и работать.
PIDFILE="/var/run/screen.pid" - соответственно не создан. Я так понимаю создается при успешном запуске.
Все остальное вроде на месте. :(
Моя мечта:
#emerge комьютер с генту
gentoo-server ~ # nano -w
gentoo-server ~ # nano -w /etc/init.d/rtorrent - после этого надо сделать chmod 755 /etc/init.d/rtorrent - без этого естественно он не выполняем о чем вам собственно и сказали.
Да. Именно в
Да. Именно в этом и было все дело. Спасибо что обратили внимание.
Теперь все работает. Надо копать в сторону удобного доступа к управлению. Пока через FTP сделал доступ к папке и указал rtorrent следил за появление torrent файлов в ней.
Моя мечта:
#emerge комьютер с генту
вы мечатете об
вы мечатете об удобном управлении, поглядите в сторону wtorrent
Спасибо, всё
Спасибо, всё отлично работает на домашнем хранилище.
А у меня снова
А у меня снова ничего не работает.
причем напрямую команда
/usr/bin/screen -dmS rtorrent /usr/bin/rtorrent сначала запустилась, потом соответственно перестала работать.
Запускать началось. У директории у одной указанной в настройка rc.rtorrent небыло права доступа. Но следующая проблема. в упор не хочет видеть файлы в директории для автозапуска torrent файлов.
Наверное прийдет ждать когда deluge выйдет новый. :(
Моя мечта:
#emerge комьютер с генту
Вики про
Вики про демонизацию rtorrent'a, настройка веб-морды к нему (wtorrent), скрипты, конфиги... На ru.gentoo-wiki.com :D
____________
Экономь электроэнергию! Выключи NumLock!
/etc/init.d/rtorrent start
/etc/init.d/rtorrent start
* Starting rtorrent ...
/sbin/start-stop-daemon: need at least one of --exec, --pidfile, --user or --name
Try `/sbin/start-stop-daemon --help' for more information.
/etc/init.d/rtorrent: line 15: --env: command not found
/etc/init.d/rtorrent: line 17: --env: command not found
/etc/init.d/rtorrent: line 19: --exec: command not found
Все делал как написано!
/etc/init.d/rtorrent start
Удали пустые строки между line 15,17,19
Опять двадцать
Опять двадцать пять.
http://www.gentoo.ru/node/11673
# emerge
/etc/conf.d/rtorrent
/etc/init.d/rtorrent
Запуск демона:
Вызов из-под юзверя:
Выход(по умолчанию) - Ctrl+\
Дополнительно:
____________________________________________
Welcome to irc://irc.freenode.net/gentoo-ru
Registered Linux User #363657
Gentoo Base System 2.0.0 || Fvwm 2.5.26
Почему то не
Почему то не запускается!
# /etc/init.d/rtorrent start
-bash: /etc/init.d/rtorrent: /sbin/runscript.: bad interpreter: No such file or directory
Моя мечта:
#emerge комьютер с генту
А нафига в
А нафига в твоём скрипте стоит точка после /sbin/runscript? ;)
Наверняка её нет в имени файла (т.е. файла с таким именем нет в твоей системе :D).
____________
Экономь электроэнергию! Выключи NumLock!
.
А это Erlang :-)
хм
а где тогда фигурные скобки?
На офсайте уже все есть.
На офсайте уже все есть. Смотри последний пункт в разделе CommonTasks:
http://libtorrent.rakshasa.no/wiki/RTorrentCommonTasks#StartingrTorrentonSystemStartup