“Servis” ve “/etc/init.d/” arasındaki fark nedir?

110

Bir süredir Ubuntu aromasını hem açık hem kapalı olarak sunucu kurulumlarını yönetiyorum - servisten yeniden başlatmak için% co_de değerine ayarlı oldum. Şimdi bu mesajı alıyorum:

[email protected]:~# /etc/init.d/mysql status
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql status

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the status(8) utility, e.g. status mysql
mysql start/running, process 14048

Bu Ubuntu'nun son LTS'sinde ortaya çıkmış gibi görünüyor - neden? % Co_de% 'si ve /etc/init.d/ ile /etc/init.d/ arasında ne fark var?

    
sordu Marco Ceppi 12.08.2010 21:12

2 cevap

97

/etc/init.d komut dosyası, işleri yapmanın eski yoludur. Sistem V standardından geliyorlar. Ancak, bu betikler sadece belirli bir sırayla tetiklenir, böylece gerçek bağımlılıklar kurulamaz.

Bu nedenle, /etc/init.d betiklerinin komut dizisi komut dosyaları ile değiştirilmesi amacına yönelik bir artış ( /etc/init cinsinden) geliştirilmiştir.

service , /etc/init.d scripts den upstart komut dosyalarına sorunsuz geçişi sağlar. Gelecekte, daha fazla betiğin yeniden başlatmaya aktarılması durumunda, hizmet her iki olasılığı da bulduğu için çalışmaya devam edecektir.

verilen cevap txwikinger 12.08.2010 21:33
26

Ayrıca servis komutunun man sayfasını kontrol edin: man service

service , öngörülebilir bir ortamda bir betik çalıştırır (çalışma dizini / ve yalnızca 2 ortam değişkeni ayarlanır: LANG ve TERM). Ayrıca --full-restart yapma yeteneği de ekler. Özetlemek gerekirse:

  1. service / etc / init veya /etc/init.d (uptart veya System V) komut dosyalarını çalıştırabilir
  2. service , komut dosyalarını öngörülebilir bir ortamda çalıştırır.

"Öngörülebilir ortam" yönü, komut dosyanızın bir nedenle bir ortam değişkenine bağlı olması durumunda sorunlara neden olabilir. Bunu aşmanın bir yolu var, ama ne olduğunu bilmiyorum ve bu sorunun kapsamı dışında:)

    
verilen cevap Joe Marty 08.06.2011 17:52

Etiketlerdeki diğer soruları oku