Bir init.d betiği nasıl kurulur?


71

Zamanlama görevleri için kereviz çalıştırmak için bir init.d komut dosyası yüklemeye çalışıyorum. İşte izlediğim adımlar:

  • celeryd dosyasını kopyaladı ve /etc/init.d/ klasörüne yapıştırdı
  • / etc / default / klasöründe celeryd bir yapılandırma dosyası oluşturdu

şimdi başlatmaya çalıştığımda sudo /etc/init.d/celeryd starthata atıyorsudo: /etc/init.d/celeryd: command not found

İnit.d'nin nasıl kurulduğuna dair googledim, bu soru sordum .

a sorunu var diyor uname -ave ne zaman bunu anladım:

Linux capsonesystem8-desktop 3.2.0-43-generic-pae 
#68-Ubuntu SMP Wed May 15 03:55:10 UTC     
2013 i686 i686 i386 GNU/Linux

ve ayrıca şunu da deniyor: insservinit.d betiğini etkinleştirmek için utils komutunu kullanın :

insserv /etc/init.d/celeryd ama hata atar insserv: command not found

bu yüzden insserv'i yüklemeye çalıştımsudo apt-get install insserv . ama derhal yüklü diyor:

insserv is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 222 not upgraded.

Peki, init.d betiği nasıl kurulur? Herhangi bir yardım takdir edilecektir.

Update1:

denediğimde:

$ sh -x /etc/init.d/celeryd start

bazı ortaya koyuyor errors. Hizmetin başlamamasının nedeni bu olabilir.

Update2:

Çalıştığım zaman tüm hataları temizledim $ sh -x /etc/init.d/celeryd startama yine de hata sudo /etc/init.d/celeryd startfırlattıcommand not found


Şimdi bir cevap için vaktim yok, ancak bunun başlangıç ​​sürümünüzün bir parçası olarak çalışmasını istiyorsanız, o zaman bülteninize çeşitli çalışma düzey dizinlerinde bağlantılar eklemelisiniz, böylece Linux bunu başlatmak ve durdurmak için kullanılır. sen. (/etc/rcagne0-6 EUROP.d) Bu süreç aşamalı olarak daha yeni bir yöntemle değiştiriliyor (bence bunun başlangıç ​​noktası olduğunu düşünüyorum.), ancak buna hiç bakmadım. Gönderinizdeki bağlantı, bunlardan bazılarına yöneliktir.
Joe

Yanıtlar:


55

Sizin celerydkomut, bu yüzden muhtemelen yürütülebilir değildir sudo /etc/init.d/celeryddönüyor command not found. Bu nedenle, önce çalıştırılabilir hale getirmeniz gerekir.

Bunu yapmak için aşağıdaki komutları çalıştırın:

sudo chmod 755 /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

İlk satır izinleri değiştirir -rwxr-xr-xve ikinci satır dosyanın sahibinin ve grup sahibinin olmasını sağlar root.

Bu yapıldıktan sonra sudo /etc/init.d/celeryd start, servise başlamak için kullanmanız gerekeceğini varsayıyorum .


70

Komut dosyasını yerine kopyaladığınızda, çalıştırılabilir ve root tarafından sahiplenmeyi unutmayın:

sudo chmod +x /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

Bunu yükledikten sonra, açılışta otomatik olarak başlaması için ayarlayabilirsiniz:

sudo update-rc.d celeryd defaults
sudo update-rc.d celeryd enable

Bu, işaret etmenin en iyi cevabı sayılır update-rc.d.
MAChitgarha

3

Eğer alırsanız command not foundçalıştırdığınızda hata insserv, aşağıdaki komutu çalıştırarak bunu çözebilir:

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

O zaman bakın insserv -hveya man insservyardım için.

Ayrıca deneyebilirsiniz:

sudo update-rc.d celeryd defaults

Kaynak: https://askubuntu.com/a/334043/147044


1

Bu, önyükleme sırasında daemon'unuzu otomatik olarak başlatmak için kullanılan komut dizisidir:

sudo cd /etc/init.d
sudo chown root:root celeryd
sudo chmod 755 celeryd
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
sudo insserv celeryd
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.