Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: вместо /etc/conf.d/ в ubuntu ...  (Прочитано 3652 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Route

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
вместо /etc/conf.d/ в ubuntu ...
« : 18 Октября 2008, 15:52:42 »
Мне нужно создать файл запуска rtorrent от имени определённого юзера.

В gentoo это делается так:

1. создаем файл
nano /etc/init.d/rtorrentd

#!/sbin/runscript

depend() {
        use net.*
}

start() {
        ebegin "Starting rtorrent"
        start-stop-daemon --start --chuid $USER \
            --env TERM="xterm" \
            --env HOME="/home/$USER" \
            --exec /usr/bin/dtach -- -n $SOCKET /usr/bin/rtorrent
        eend $?
}

stop() {
        ebegin "Stopping rtorrent"
        start-stop-daemon --stop --signal 2 --name rtorrent
        eend $?
}

Можно также использовать screen, тогда start() должен выгляжеть так:
Файл: /etc/init.d/rtorrentd

start() {
        ebegin "Starting rtorrent"
        start-stop-daemon --start --chuid $USER \
            --env TERM="xterm" \
            --env HOME="/home/$USER" \
            --background \
            --exec /usr/bin/screen -- -D -m /usr/bin/rtorrent
        eend $?
}

2. Создаем юзера (например test) и файл
nano /etc/conf.d/rtorrentd

USER="test"     #имя нашего юзера
SOCKET="/tmp/rtorrent.dtach"

Но в ubunte нет папки /etc/conf.d/. Где мне в ubuntu создавать этот файл?

Оффлайн ziv

  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля

Оффлайн Route

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #2 : 18 Октября 2008, 16:07:50 »
https://forum.ubuntu.ru/index.php?topic=5755.0

Если честно не въехал. Если не сложно напишите что именно надо сделать.

Оффлайн ziv

  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #3 : 18 Октября 2008, 16:10:43 »
Собственно, тебе достаточно сделать
Цитировать
sudo update-rc.d my_script start 70 2 3 4 5 . stop 20 0 1 6 .
здесь я определил что мой скриптик должен запускаться попозже остальных(70), и останавливаться пораньше(20)
волшебные циферки 2 3 4 5 0 1 6 означают уровни загрузки что уже другая история на форуме что-то было
Если твой скрипт рабочий, то все должно быть в порядке.

Оффлайн Route

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #4 : 18 Октября 2008, 16:27:00 »
Ну так в том то и дело, что он не полный!
В файле

nano /etc/conf.d/rtorrentd

USER="test"     #имя нашего юзера
SOCKET="/tmp/rtorrent.dtach"

я так понял указывается от какого имени будет запускаться. т.е от юзера test
а мне где это прописать?

может вообще как-то через screen можно запустить? только опять же мне надо не от root запуск сделать а от юзера test.
т.е если я переходу
su test
и под ним запускаю
rtorrent
то связка wtorrent (веб интерфейс пашет) (запускать под root везде написано не стоит!).
И мне надо сделать, чтобы этот rtorrent при старте системы запускался сам в фоновом режиме под юзером (от имени юзера) test

Оффлайн tolstyj

  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #5 : 18 Октября 2008, 16:48:36 »
Ну так в том то и дело, что он не полный!
В файле

nano /etc/conf.d/rtorrentd

USER="test"     #имя нашего юзера
SOCKET="/tmp/rtorrent.dtach"

я так понял указывается от какого имени будет запускаться. т.е от юзера test
а мне где это прописать?

может вообще как-то через screen можно запустить? только опять же мне надо не от root запуск сделать а от юзера test.
т.е если я переходу
su test
и под ним запускаю
rtorrent
то связка wtorrent (веб интерфейс пашет) (запускать под root везде написано не стоит!).
И мне надо сделать, чтобы этот rtorrent при старте системы запускался сам в фоновом режиме под юзером (от имени юзера) test

Если тебе не нужен универсальный скрипт, то просто замени  $USER на  test
и $SOCKET на 
/tmp/rtorrent.dtach

Или впиши вот эти строки в начало твоего скрипта

USER="test"     #имя нашего юзера
SOCKET="/tmp/rtorrent.dtach"

Оффлайн Route

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #6 : 18 Октября 2008, 17:03:21 »
переименовал
$USER на  test
и $SOCKET на
/tmp/rtorrent.dtach

запускаю
root@: /etc/init.d/rtorrent start
bash: /etc/init.d/rtorrent: Permission denied

что не нравится ему?

Оффлайн Route

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #7 : 18 Октября 2008, 17:05:40 »
/tmp/rtorrent.dtach - а это вообще правильно? У меня просто и файла такого нет в папке /tmp/

Вот весь скрипт какой получился:

#!/sbin/runscript

depend() {
        use net.*
}

start() {
        ebegin "Starting rtorrent"
        start-stop-daemon --start --chuid share \
            --env TERM="xterm" \
            --env HOME="/home/share" \
            --exec /usr/bin/dtach -- -n /tmp/rtorrent.dtach /usr/bin/rtorrent
        eend $?
}

stop() {
        ebegin "Stopping rtorrent"
        start-stop-daemon --stop --signal 2 --name rtorrent
        eend $?
}

Посмотрите плиз может где0то ошибка в скрипте?!
« Последнее редактирование: 18 Октября 2008, 17:13:19 от Route »

Оффлайн tolstyj

  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #8 : 18 Октября 2008, 19:21:20 »
Я не спец по скриптам, потому как не программист, но вот это вызывает вопрос

#!/sbin/runscriptТы уверен,ч то у тебя есть такой файл или ссылка?
Мне кажется, что это просто написано для примера и ты должен заменить на то что у тебя используется, например, /bin/bash или /bin/sh.

А для проверки, сохрани свой скрипт в домашнюю папку, сделай его исполняемым  и запусти его из консоли вот так

~/script_name start
script_name - имя твоего скрипта.

И посмотри что получится, на что будет ругаться. И тогда разбирай дальше.

по поводу "/tmp/rtorrent.dtach" почитай маны dtach и start-stop-daemon

Оффлайн Route

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #9 : 19 Октября 2008, 12:30:17 »
Короче! хз что со скриптом этим может я что-то не так делаю, но он не пашет у меня.

немного все переделал и теперь:

Цитировать
screen -dmS rtorrent rtorrent

Эту строчку лучше сразу прописать в загрузочные скрипты, чтобы не запускать каждый раз при загрузке системы.

куда мне её можно вставить, чтобы при загрузке выполнялась?

Оффлайн ziv

  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #10 : 19 Октября 2008, 13:11:32 »
В /etc/rc.local

Оффлайн Route

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #11 : 19 Октября 2008, 17:58:44 »
Ребят! нашел рабочий скрипт! А как мне сделать линки на него в папках /etc/rc3.d и /rc5.d ?
И вот это мне надо делать: update-rc.d <basename> defaults и если да то что здесь <basename> ?

Оффлайн Route

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #12 : 19 Октября 2008, 18:03:59 »
От блин! И вот это что такое?

ls -l /etc/init.d/rtorrent
-rwxr-xr-x 1 root root 4395 2008-10-19 17:54 /etc/init.d/rtorrent

Оффлайн Route

  • Автор темы
  • Участник
  • *
  • Сообщений: 125
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #13 : 19 Октября 2008, 18:10:29 »
Отвечаю сам на сой вопрос. сделать линки это и есть:
update-rc.d название скрипта defaults

А вот что такое и зачем
ls -l /etc/init.d/rtorrent
-rwxr-xr-x 1 root root 4395 2008-10-19 17:54 /etc/init.d/rtorrent

я так и не понял

Оффлайн tolstyj

  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Re: вместо /etc/conf.d/ в ubuntu ...
« Ответ #14 : 19 Октября 2008, 18:11:51 »
Ребят! нашел рабочий скрипт! А как мне сделать линки на него в папках /etc/rc3.d и /rc5.d ?
И вот это мне надо делать: update-rc.d <basename> defaults и если да то что здесь <basename> ?

А зачем городить огород?
Пропиши его в /etc/rc.local  и всех делов.

 

Страница сгенерирована за 0.036 секунд. Запросов: 24.