it-swarm-tr.com

Ubuntu Sunucusu için Chkconfig alternatifi?

Redhat/RHEL platformlarında chkconfig kullanarak hizmet başlatma işlemlerini yönetmeye çok alıştım, ancak Debian/Ubuntu yolu gibi görünmese de - Ubuntu'daki sistem hizmetleri için çalışma seviyesi bilgilerini nasıl güncellerim?

Sonuçta eşdeğerleri arıyor:

chkconfig --add <service>
chkconfig --level 345 <service> on
chkconfig --del <service>
144
Marco Ceppi

chkconfig değerine eşdeğer update-rc.d

Aradığınız eşdeğerler

update-rc.d <service> defaults
update-rc.d <service> start 20 3 4 5
update-rc.d -f <service>  remove

Daha fazla bilgi için bu yararlı sayfa bölümüne bakın veya man update-rc.d adresine göz atın.

125
Richard Holloway

En iyi alternatif IMHO, sysv-rc-conf'dir. Yüklemek için sadece komutu çalıştırmanız gerekir:

Sudo apt-get install sysv-rc-conf

Kurulduktan sonra komutu çalıştırın:

Sudo sysv-rc-conf

Herhangi bir yürütme düzeyinde bir hizmeti başlatmak için seçenekleri işaretleyebilir veya işaretini kaldırabilir ve hatta hizmetleri bu konsoldan durdurabilir veya başlatabilirsiniz. Ubuntu'nuzu başlatmak için kalıcı bir şekilde uygulamaları etkinleştirmek veya devre dışı bırakmak için vazgeçilmez bir araçtır Hızlı bir değişiklik yapmanız gerekiyorsa, CLI arayüzünü kullanabilirsiniz:

Örneğin, yürütmenin 3. ve 5. düzeylerinde ssh'yi durdurmak için:

sysv-rc-conf-off level 35 ssh

2,3,4 ve 5 çalışma seviyelerinde başlayacak Atd:

sysv-rc-conf on atd

Daha fazla bilgi edinmek istiyorsanız:

man sysv-rc-conf
53
jokerulez

Şu anda, Upstart betikleriyle bir şeyler yapmak için kararlı bir sürümde eşdeğer yoktur. Jacob Peddicord, Google Summer of Code projesi için iş ilanı (arka uç daemon) ve iş yöneticisi (bununla konuşan GTK + GUI) yazdı. Berrak paketler PPA'sında . Ayrıca Maverick'teki Evrende de varlar. İş servisi için henüz bir komut satırı yok, sadece jobs-admin.

10
maco

Bunu dene:

apt-get install chkconfig

Bu, en azından Ubuntu 12.04 sürümü olarak çalışır.

10
Andrew Davison

Sıfırdan hedefe doğru yürüyelim - adım adım nasıl yapılır.

Adım 1: merhaba bir dünya yazalım

cat >> /var/tmp/python/server.py <<\EOF
#/usr/bin/python
import time
while True:
  print "hello> YES Bello"
  time.sleep(30)

EOF

2. Adım: merhaba dünya uygulamamız server.py'yi otomatikleştirelim

cat >> /var/tmp/myserver.sh <<\EOF
#!/bin/sh
script='/var/tmp/python/server.py'
export DISPLAY=:0.0 && /usr/bin/python $script &

EOF
chmod +x /var/tmp/myserver.sh

cat >> /etc/init.d/myserver <<\EOF

#! /bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/var/tmp/myserver.sh
PIDFILE=/var/run/myserver.pid

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
  start)
     log_daemon_msg "Starting feedparser"
     start_daemon -p $PIDFILE $DAEMON
     log_end_msg $?
   ;;
  stop)
     log_daemon_msg "Stopping feedparser"
     killproc -p $PIDFILE $DAEMON
     PID=`ps x |grep server.py | head -1 | awk '{print $1}'`
     kill -9 $PID       
     log_end_msg $?
   ;;
  force-reload|restart)
     $0 stop
     $0 start
   ;;
  status)
     status_of_proc -p $PIDFILE $DAEMON atd && exit 0 || exit $?
   ;;
 *)
   echo "Usage: /etc/init.d/atd {start|stop|restart|force-reload|status}"
   exit 1
  ;;
esac

exit 0


EOF
chmod +x /etc/init.d/myserver
chmod -R 777 /etc/init.d/myserver

. Adım:

$ update-rc.d myserver defaults
update-rc.d: warning: /etc/init.d/myserver missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/myserver ...
   /etc/rc0.d/K20myserver -> ../init.d/myserver
   /etc/rc1.d/K20myserver -> ../init.d/myserver
   /etc/rc6.d/K20myserver -> ../init.d/myserver
   /etc/rc2.d/S20myserver -> ../init.d/myserver
   /etc/rc3.d/S20myserver -> ../init.d/myserver
   /etc/rc4.d/S20myserver -> ../init.d/myserver
   /etc/rc5.d/S20myserver -> ../init.d/myserver
  • Böylece 3. adımda, açılışta sistem otomatik olarak server.py'yi daemon olarak çalıştıracak ve otomatikleştirmeyi kolaylaştıracaktır.

Umarım yardım etti.

5
YumYumYum