Автор Гілка: Зареєструвати сервіс в системі  (Прочитано 4592 раз)

Відсутній sigito

  • Кореспондент
  • ***
  • дописів: 105
  • Карма: +0/-0
Доброго вечора. Підкажіть, будь ласка, чи є єдиний засіб для реєстрації нових deamon(сервісів) в лінукс. Тобто не залежно від системи.
Наперед дякую)
Debian/wheezy x86_64, lxde

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: Зареєструвати сервіс в системі
« Відповідей #1 : 2011-08-10 22:39:58 »
Тобто не залежно від системи.
Якої системи?

Відсутній sigito

  • Кореспондент
  • ***
  • дописів: 105
  • Карма: +0/-0
Re: Зареєструвати сервіс в системі
« Відповідей #2 : 2011-08-10 22:46:05 »
Тобто не залежно від системи.
Якої системи?
Операційної системи.
Debian/wheezy x86_64, lxde

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Зареєструвати сервіс в системі
« Відповідей #3 : 2011-08-10 22:56:16 »
Тобто не залежно від системи.
Якої системи?
sigito запитує дистронезалежний рецепт як зареєструвати довільний бінарник як демон — щоб система його автоматично запускала при старті.
По ходу, треба дивитися в /etc/init.d
« Змінено: 2011-08-10 22:57:47 від Piktor »
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: Зареєструвати сервіс в системі
« Відповідей #4 : 2011-08-10 23:06:33 »
Тоді такого не існує, бо різні дистрибутиви використовують різний. У цьому вся суть пакування: гадаєте, чому пакунки різних дистрибутивів відрізняються між собою. Бо вони мають різні специфікації. Якщо хочете, то нехай прописують ручками пакувальники (супровідники), лиш в readme треба написати про це. Чи я чогось досі не розумію?
« Змінено: 2011-08-10 23:06:52 від Re. »

Відсутній sigito

  • Кореспондент
  • ***
  • дописів: 105
  • Карма: +0/-0
Re: Зареєструвати сервіс в системі
« Відповідей #5 : 2011-08-10 23:20:44 »
Так, ви фактично правильно зрозуміли.
А як можна перевірити, для прикладу із bash, яка назва та версія ОС?
Debian/wheezy x86_64, lxde

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: Зареєструвати сервіс в системі
« Відповідей #6 : 2011-08-10 23:58:38 »
якщо система працює під systemd (як наприклад f15 або opensuse Tumbleweed, але невдовзі і більшість інших там будуть) то доволі просто:
створити файл служби /etc/systemd/system/abrtd.service, щось на штиб:
[Unit]
Description=ABRT Automated Bug Reporting Tool
After=syslog.target

[Service]
Type=dbus
BusName=com.redhat.abrt
ExecStart=/usr/sbin/abrtd -d -s

[Install]
WantedBy=multi-user.target

потім
systemctl daemon-reload # щоб демон зчитав новий файл
systemctl enable abrtd.service # дозволити автоматичний запуск при завантаженні
systemctl start abrtd.service # запустити службу

докладніше тут
Fedora 35 (x86-64)

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: Зареєструвати сервіс в системі
« Відповідей #7 : 2011-08-11 10:32:27 »
А як можна перевірити, для прикладу із bash, яка назва та версія ОС?
cat /proc/version

Відсутній sigito

  • Кореспондент
  • ***
  • дописів: 105
  • Карма: +0/-0
Re: Зареєструвати сервіс в системі
« Відповідей #8 : 2011-08-11 21:52:01 »
А як можна перевірити, для прикладу із bash, яка назва та версія ОС?
cat /proc/version
Ви впевнені, що в даному файлі знаходиться саме дані про назву дистрибутиву та його версію?
Як на мене так там лиш дані про ядро.
Debian/wheezy x86_64, lxde

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: Зареєструвати сервіс в системі
« Відповідей #9 : 2011-08-11 22:00:22 »
якщо lsb_release встановлено, то найкраще:
lsb_release -a

якщо не встановлено, то краще його встановити :)

якщо дистрибутив гунявий не має lsb_release, тоді
cat /etc/*-release
Fedora 35 (x86-64)

Відсутній sigito

  • Кореспондент
  • ***
  • дописів: 105
  • Карма: +0/-0
Re: Зареєструвати сервіс в системі
« Відповідей #10 : 2011-08-11 23:15:37 »
якщо lsb_release встановлено, то найкраще:
cat /etc/*-release
нажаль і даний варіант не підійде: якщо в федорі є fedora-release, то для прикладу в debian ­— debain_version, до того ж контент заповнюється по різному. Проте це вже підгрунтя для роботи, дякую.

Щодо lsb_release, то не можна гарантувати, що він встановлений.
Debian/wheezy x86_64, lxde

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: Зареєструвати сервіс в системі
« Відповідей #11 : 2011-08-11 23:36:05 »
якщо не можете використовувати systemd то найкраще для демону, що можна порадити — це LSB-сумісні скрипти init
Fedora 35 (x86-64)

Відсутній sigito

  • Кореспондент
  • ***
  • дописів: 105
  • Карма: +0/-0
Re: Зареєструвати сервіс в системі
« Відповідей #12 : 2011-08-12 00:34:42 »
якщо не можете використовувати systemd то найкраще для демону, що можна порадити — це LSB-сумісні скрипти init
це єдиний стандарт, який підтримується у всіх дистрибутивах?
тоді для реєстрації буде потрібно додаткові дії крім розташування скриптів ?
Debian/wheezy x86_64, lxde