Ubuntu Upstart
, geleneksel init
sistem yerine kullanır . Başlangıç, başlangıçtan daha güçlü, ancak biraz daha karmaşık init
.
Başlangıcı, aksine, olay tabanlıdır. Bir "olay", "önyükleme" gibi bir şey olabilir ... veya "ağ şu anda kullanıma hazır" gibi çok daha belirgin olabilir. Hangi komut dosyalarının hangi olaylara bağlı olduğunu belirleyebilirsiniz. Bir etkinliği beklemeyen herhangi bir şey, herhangi bir CPU mevcut olduğunda çalışabilir.
Bu olaya dayalı sistemin başka bir avantajı var: Sistem çalıştıktan sonra bile teorik olarak kullanabilirsiniz. Upstart, başparmak sürücüleri (şu anda udev ve hal tarafından işlenir) gibi harici aygıtlara takma veya bunları takma veya belirli zamanlarda programları (şu anda cron tarafından yönetilen) çalıştırma gibi görevleri üstlenmek üzere düzenlenir.
Şimdi bilmeniz gerektiği gibi , başlangıçta çalışmayan ölü bir arka plan programı canlı olabilir ve bir olay nedeniyle başlar.
Ubuntu, eski SysV dosyaları için hem / etc / init, Upstart, hem de /etc/init.d dosyalarına sahiptir. İçindeki dosyalardan bazıları, henüz geçirilmemiş normal SysV Init komut dosyalarıdır. Ancak, taşınan bazı hizmetler /etc/init.d ile / lib / init / upstart-job arasındaki bağlantıyı koruyor. Bunlardan birini çalıştırırsanız çalışır, ancak önce bir uyarı yazdırır:
İnit komut dosyalarını /etc/init.d aracılığıyla çağırmak yerine service (8) yardımcı programını kullanın, örn. service mysql restart
Çağırmaya çalıştığınız komut dosyası bir Upstart işine dönüştürüldüğü için, restart (8) yardımcı programını da kullanabilirsiniz, örneğin, mysql komutunu yeniden başlatın.
Bir Upstart makinesinde, init, starttart'tan gelir. Upstart'ın init'i belirli bir çalışma seviyesine ait betikleri çağıran bir ana rc betiği çalıştırmak yerine, işleri kendi iş dizininden alır.
Artık otomatik başlatmalı ödülleri listelemenin basit bir yolu olmadığını biliyoruz, tüm ödevleri listelemeli ve tek tek kontrol etmelisiniz. Cennet daha sonraki bir olay init
tarafından upstart
ya da hatta bir olay tarafından başlatılabilir .
Bu listeyi almanın en basit yolu bu komutu kabuğun içinde çalıştırıyor:
initctl show-config
Çıktı şöyle görünür:
...
hostname
start on startup
udevtrigger
start on ((startup and started udev) and not-container)
tty2
start on (runlevel [23] and ((not-container or container CONTAINER=lxc) or container CONTAINER=lxc-libvirt))
...
İlki gibi bazı öğeler çok basittir, hostname
başlangıçta başlar. Ancak diğer öğeler daha karmaşık görünebilir. (Ama neyse ki insan okunabilir :-))
chkconfig --list
doğru çalışacak mı?on
bu hizmetin bu çalışma düzeyinde çalıştığı anlamına gelir ve sistem önyüklendiğinde bu hizmet otomatik olarak başlar.