Upstart Genel Bakış
Upstart, Canonical tarafından geliştirildi, bu yüzden bir süre Ubuntu’da init implementasyonu olarak kullanıldı, ancak modern Ubuntu kurulumlarında artık systemd kullanılıyor. Upstart, Sys V’deki katı başlangıç process’leri, görevlerin bloklanması vb. sorunları iyileştirmek için oluşturuldu. Upstart’ın event ve job odaklı modeli, event’ler gerçekleştiğinde bunlara yanıt vermesine olanak tanır.
Upstart kullanıp kullanmadığınızı öğrenmek için, /usr/share/upstart dizinine sahipseniz bu oldukça iyi bir göstergedir.
Job’lar Upstart’ın gerçekleştirdiği eylemlerdir ve event’ler, job’ları tetiklemek için diğer process’lerden alınan mesajlardır. Job’ların ve bunların yapılandırmalarının bir listesini görmek için:
pete@icebox:~$ ls /etc/init
acpid.conf mountnfs.sh.conf
alsa-restore.conf mtab.sh.conf
alsa-state.conf networking.conf
alsa-store.conf network-interface.conf
anacron.conf network-interface-container.conf
Bu job yapılandırmalarının içinde, job’ların nasıl başlatılacağı ve ne zaman başlatılacağına dair bilgiler bulunur.
Örneğin, networking.conf dosyasında şöyle basit bir şey yazabilir:
start on runlevel [235]
stop on runlevel [0]
Bu, runlevel 2, 3 veya 5’te networking kurulumunun başlayacağı ve runlevel 0’da networking’in durdurulacağı anlamına gelir. Yapılandırma dosyasını yazmanın birçok yolu vardır ve mevcut farklı job yapılandırmalarına baktığınızda bunu keşfedeceksiniz.
Upstart’ın çalışma şekli şöyledir:
Önce, /etc/init içindeki job yapılandırmalarını yükler
Bir startup event’i gerçekleştiğinde, o event tarafından tetiklenen job’ları çalıştırır
Bu job’lar yeni event’ler oluşturur ve bu event’ler de daha fazla job’ı tetikler
Upstart, gerekli tüm job’ları tamamlayana kadar bunu yapmaya devam eder
Last updated