Bir hizmeti başlangıçta çalışacak şekilde nasıl yapılandırabilirim?


244

El ile servicekomutunu kullanarak başlatırsam, iyi çalışan bir arka planım var :

ricardo@ricardo-laptop:~$ sudo service minidlna start                   
 * Starting minidlna minidlna                                                              [ OK ] 

ancak bilgisayar yeniden başlatıldığında otomatik olarak başlatılacak şekilde yapılandırılmamıştır.

Bilgisayara hiç kimse giriş yapmamış olsa bile otomatik olarak başlaması için nasıl yapılandırabilirim?


@ user154721 autostart'ın çalışması için update-rc.d dosyasına hangi argümanları verdiniz? Çeşitli seçenekler denedim ama hiç şansım olmadı.
— BennyTheBen

Otomatik başlatma programları yapılandırılmış autostartmanifestolarına veya *.serviceyanı olduğu gibi, çeşitli konumlarda dosya init.dveya crontab. Bakınız: unix.stackexchange.com/a/525845/43233
— Noam Manos

Yanıtlar:


281
sudo update-rc.d minidlna defaults

Bu servisi otomatik başlatma sistemine eklemelidir. Ama eğer alırsan:

System start/stop links for /etc/init.d/minidlna already exist.

Komutu yapmak

sudo update-rc.d minidlna enable

Not : Daha fazla ayrıntı için komutu yazarak update-rc.d için man sayfasına bakın.man update-rc.d


7
teşekkürler, ama bu emri çalıştırırken bu çıktıyı alırsam ne olur ?:System start/stop links for /etc/init.d/minidlna already exist.
— Ricardo Reyes

1
minidlna herhangi bir günlük dosyasına yazmadıysa, hiçbir yerde bulamazsınız. Başlatıldığında ağ bağlantısı olmadığı için başarısız olabilir mi? Neyin yanlış olduğunu bulmak için hata ayıklamayı ve / veya günlük kaydını açmanın mümkün olup olmadığını görmeye çalışın.
— LassePoulsen

8
@RicardoReyes sudo update-rc.d -f minidlna removemevcut bağlantıları kaldırmak için kullanır .
— Dogweather

5
Hata-rc.d hata alıyorum: /etc/init.d/usermanage: dosya mevcut değil
— Rizwan Patel

2
Ben de aynı hatayı aldım update-rc.d: /etc/init.d/mongod: file does not exist. Sonra sudo systemctl enable mongod.servicebenim için çalıştı.
— explorer

36

Bazen önyükleme işleminde bir komut dosyası çalıştırmanız gerekir; örneğin önyükleme işleminde bir iptables config çalıştırın. Böylece her yeniden başlatmadan komut dosyasını elle çalıştırmanız gerekmez.

Komut dosyanızı önyükleme işleminde Ubuntu'da /etc/init.d/rc.localdosyaya ekleyerek çalıştırabilirsiniz . Aşağıdaki adımlara bakın.

  1. /etc/rc.localDosyayı bu komutla aç :

    vim /etc/rc.local
    
  2. Önyükleme işleminde çalıştırmak istediğiniz komut dosyasını orada ekleyin; örneğin:

    sh /home/ivan/iptables.sh 
    echo 'Iptable Configured!'
    
  3. Bu dosyada bulunan yorumları gözden geçirin ve sonunda bir çıkış 0 olduğundan emin olun.

  4. Dosyaları sakla. Komut dosyanız önyükleme işleminde çalışır.


2
Ubuntu 12.04'te /etc/init.d/rc.local tarafından yapılan yorumlar "Kısa Açıklama: Varsa /etc/rc.local komutunu çalıştırın", bu yüzden /etc/rc.local komut dosyalarını eklemek daha iyi bir fikir olabilir mi?
— Sanghyun Lee,

Bu yöntem servise "kapatma" komutunu verir mi yoksa işletim sistemi kapatıldıktan sonra işlemi sonlandırır mı?
— Vadim Chekan

Vadim, rc.local sadece açılışta çalıştırılıyor, kapatma konusunda hiçbir şey elde edilemiyor. Sürecin büyük olasılıkla işletim sistemi tarafından kapatıldığı zaman öldürülecekti.
— Weboide

1
FYI: rc.localinit'e ekleme ile vs arasındaki fark , rc.local'in init başlatma sırasının sonunda değil, bir parçası olarak
— yürütülmesidir

35
  • Başlangıçta bir arka plan programı başlatmak için:

    update-rc.d service_name defaults
    
  • Ayırmak, uzaklaştırmak, ortadan kaldırmak:

    update-rc.d -f service_name remove
    

defaults => varsayılan çalışma seviyeleri 2,3,4 ve 5

Örnek:

update-rc.d tomcat7 defaults

1
Bu komutu yaptığımda "/etc/init.d/tomcat7 için sistem başlatma / durdurma bağlantıları zaten var" alıyorum. Ancak, yeniden başlattığımda, tomcat'ı başlatmıyor, daima "service tomcat7 start" yapmak zorundayım.
— John Little

benim durumumda sudo update-rc.d myservice varsayılanı her zaman çıktı vermeden tamamlanır ve servis açılışta başlamaz veya sudo servis myservice başlatılırken de sessizce tamamlanır. sudo /etc/init.d/myservice start işe yarıyor ancak
— axk

13

Ubuntu 15.10'dan beri (sırasıyla Debian 8 "jessie"), hizmetinizi minidlnabaşlangıçta çalışacak şekilde yapılandırmak için aşağıdaki komutu kullanmanız gerekir :

sudo systemctl enable minidlna.service

Ve önyükleme sırasında başlamasını tekrar devre dışı bırakmak için:

sudo systemctl disable minidlna.service

Bu, bulabileceğiniz tüm servis adı referanslarıyla çalışır ls /lib/systemd/system/*.service.

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.