Управление на services с update-rc.d в Debian/Ubuntu

За конфигуриране на основни компоненти в системата.

Модератори: Freya, Kulu Ngile

Управление на services с update-rc.d в Debian/Ubuntu

Мнениеот Kulu Ngile » Пет 27, Юли, 2007 13:38

Изключително лесен и невероятно полезен инструмент. Той се грижи за автоматичното прибавяне и премахване на необходимите линкове от /etc/init.d.

За пример ще вземем apache2.
Код за потвърждение: Избери целия код
debian:~# ls -l /etc/rc?.d/*apache2
lrwxrwxrwx 1 root root 17 2007-07-27 13:43 /etc/rc0.d/K20apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-27 13:43 /etc/rc1.d/K20apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-27 13:43 /etc/rc2.d/S20apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-27 13:43 /etc/rc3.d/S20apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-27 13:43 /etc/rc4.d/S20apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-27 13:43 /etc/rc5.d/S20apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 2007-07-27 13:43 /etc/rc6.d/K20apache2 -> ../init.d/apache2
debian:~#


Както се вижда, за runlevels 0, 1 и 6 има буквата K в самото начало на линка, а за runlevels 2, 3, 4 и 5, има S. Тези две букви означават Kill и Start. За Debian и Ubuntu, runlevels 2, 3, 4 и 5 са multi-users runlevels. Runlevel 0 е за изключване, runlevel 1 е single user mode, а runlevel 6 е рестарт

1. Добавяне на service

- задаване на подразбиращи се приоритети

Командата изглежда така:
Код за потвърждение: Избери целия код
update-rc.d името_на_service defaults


Ето и пример с apache2
Код за потвърждение: Избери целия код
debian:~# update-rc.d apache2 defaults
 Adding system startup for /etc/init.d/apache2 ...
   /etc/rc0.d/K20apache2 -> ../init.d/apache2
   /etc/rc1.d/K20apache2 -> ../init.d/apache2
   /etc/rc6.d/K20apache2 -> ../init.d/apache2
   /etc/rc2.d/S20apache2 -> ../init.d/apache2
   /etc/rc3.d/S20apache2 -> ../init.d/apache2
   /etc/rc4.d/S20apache2 -> ../init.d/apache2
   /etc/rc5.d/S20apache2 -> ../init.d/apache2
debian:~#


- задаване на предпочитани приоритети

Както се вижда default стойността е 20, която е доста различна от 91, т.е. S20 линка се стартира преди S91 и K91 е спрян преди K20.
За да зададем приоритет 91и на Kill и на Start, трябва да изпълним следната команда

Код за потвърждение: Избери целия код
debian:~# update-rc.d apache2 defaults 91
 Adding system startup for /etc/init.d/apache2 ...
   /etc/rc0.d/K91apache2 -> ../init.d/apache2
   /etc/rc1.d/K91apache2 -> ../init.d/apache2
   /etc/rc6.d/K91apache2 -> ../init.d/apache2
   /etc/rc2.d/S91apache2 -> ../init.d/apache2
   /etc/rc3.d/S91apache2 -> ../init.d/apache2
   /etc/rc4.d/S91apache2 -> ../init.d/apache2
   /etc/rc5.d/S91apache2 -> ../init.d/apache2
debian:~#


- задаване на различни приоритети на Kill и Start

Ако искаме да зададеме Start 21 и на Kill 81, то трябва да изпълним
Код за потвърждение: Избери целия код
debian:~# update-rc.d apache2 defaults 21 81
 Adding system startup for /etc/init.d/apache2 ...
   /etc/rc0.d/K81apache2 -> ../init.d/apache2
   /etc/rc1.d/K81apache2 -> ../init.d/apache2
   /etc/rc6.d/K81apache2 -> ../init.d/apache2
   /etc/rc2.d/S21apache2 -> ../init.d/apache2
   /etc/rc3.d/S21apache2 -> ../init.d/apache2
   /etc/rc4.d/S21apache2 -> ../init.d/apache2
   /etc/rc5.d/S21apache2 -> ../init.d/apache2
debian:~#


- задаване на различни стойности за K и S в различте runlevels

Ако искаме да зададем на S в runlevels 2, 3 и 4 стойност 21, а в runlevel 5, стойност 55, както и за К в runlevels 0, 1 и 6, стойност 77, трябва да изпълним
Код за потвърждение: Избери целия код
debian:~# update-rc.d apache2 start 21 2 3 4 . start 55 5 . stop 77 0 1 6 .
 Adding system startup for /etc/init.d/apache2 ...
   /etc/rc0.d/K77apache2 -> ../init.d/apache2
   /etc/rc1.d/K77apache2 -> ../init.d/apache2
   /etc/rc6.d/K77apache2 -> ../init.d/apache2
   /etc/rc2.d/S21apache2 -> ../init.d/apache2
   /etc/rc3.d/S21apache2 -> ../init.d/apache2
   /etc/rc4.d/S21apache2 -> ../init.d/apache2
   /etc/rc5.d/S55apache2 -> ../init.d/apache2
debian:~#


2. Премахване на service

Премахването на service става, като изпълним
Код за потвърждение: Избери целия код
update-rc.d -f името_на_service  remove


Ето и нашият пример с apache2
Код за потвърждение: Избери целия код
debian:~# update-rc.d -f apache2 remove
 Removing any system startup links for /etc/init.d/apache2 ...
   /etc/rc0.d/K20apache2
   /etc/rc1.d/K20apache2
   /etc/rc2.d/S20apache2
   /etc/rc3.d/S20apache2
   /etc/rc4.d/S20apache2
   /etc/rc5.d/S20apache2
   /etc/rc6.d


Също така могат да се използват и конзолните GUI приложения sysv-rc-conf и rcconf.


Източник: Основен
Ако съдбата е срещу теб, толкова по-зле за нея.

Изображение
APT HOWTO
Kulu Ngile
Унуфри
 
Мнения: 1233
Регистриран на: Съб 04, Мар, 2006 1:04
Местоположение: София

Назад към Системни настройки

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron