it-swarm-tr.com

"Rc.local" ı başlangıçta nasıl çalıştırabilirim?

Sistemim başladığında çalıştırmak istediğim bir senaryo var. "Rc.local" 'a yazdım ama işe yaramadı. Başlangıçta çalışmasını nasıl sağlayabilirim?

74
pedroo

Senaryoyu manuel olarak çalıştırabilir misin? Eğer değilse, bu senaryoda bir sorun var; Aksi takdirde rc.local'a bakınız. (Bu betiğin root olarak çalışması gerekiyorsa, el ile çalıştırmak için Sudo kullanmanız gerekir.)

/Etc/rc.local dosyasının çalıştırılabilir olduğundan ve çağırdığı komut dosyasının da çalıştırılabilir olduğundan emin olun.

$ ls -l /etc/rc.local
-rwxr-xr-x 1 root root 419 2010-08-27 11:26 /etc/rc.local

Rc.local'ın bir Shebang hattına sahip olduğundan emin olun (varsayılan):

$ head -n1 /etc/rc.local
#!/bin/sh -e
55
Roger Pate

Benim durumumda talimatların hiçbiri mükemmel bir çözüm değildi. Sen de benim kadar şanssızsan, detaylı olanı dene.

  1. Tüm çalıştırma kodunuzu foo.sh gibi isteğe bağlı bir adla ayrı bir metin dosyasına yerleştirin ve isteğe bağlı bir yere kaydedin.
  2. Eklemek

    #!/bin/sh
    

    kodunuzun ilk satırı olarak.

  3. Foo.sh dosyanızı çalıştırmayı deneyin

    Sudo foo.sh
    

    kontrol etmek için hiçbir hata yoktur.

  4. Sh komutundan sonra /etc/rc.local komut dosyanızı tam yolunu ve oluşturduğunuz komut dosyasının adını sağlayın

    sh '/path/to/your/script/foo.sh'
    
  5. Yukarıdaki satırı son kod satırından önce koymayı unutmayın.

    exit 0
    

    /etc/rc.local betiğinin sonunda.

  6. Olmak için /etc/rc.local dosyasının ilk satırını kontrol edin.

    #!/bin/sh -e
    
  7. /Etc/rc.local dosyasını şu anda tarafından çalıştırılmayabilir durumda olabilir

    Sudo chown root /etc/rc.local
    Sudo chmod 755 /etc/rc.local
    
  8. Çalıştırarak her şeyin yolunda olup olmadığını kontrol edin

    Sudo /etc/init.d/rc.local start
    
  9. Sınama sisteminizi yeniden başlatın.
53
shvahabi

Daha yeni Ubuntu sürümlerinde systemd kullanılır ve /etc/rc.local her zaman varsayılan olarak yüklenmez.

Uyumluluk servisinin yüklü olup olmadığını kontrol edin.

systemctl status rc-local.service

screenshot

Etkinse etkin (çıkıldı) ayarınız iyi görünüyor ve /etc/rc.local dosyanızda başka bir hata olabilir (bu bir komut olabilir örneğin başarısız.

27
rubo77

2 öneri.

  1. Hedef komut dosyasının da çalıştırılabilir olarak işaretlendiğinden emin olun.
  2. Hedef komut dosyası Sudo komutunu mu kullanıyor? Eğer öyleyse, ona Sudo şifresini vermek isteyebilirsiniz.

Benim hatam. Sadece bir tane kontrol et o zaman. Düzeltme enzotib için teşekkürler :)

3
Ankit