Ubuntu sistem başlangıç betikleri

Ubuntu Türkiye Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla

Ubuntu'da sistem başlarken /etc/init.d altında bulunan betikleri, /etc/rc.d altında hangi çalışma düzeyinde (runlevel) bağlantılara sahipse, ona göre çalıştırılır.

init'in çalışma seviyeleri şunlardır:

  • 0: Halt (Sistem kapama)
  • 1: Single user mode (tek kullanıcı kipi)
  • 2-5: Çoklu kullanıcı kipleri (farkları vardır, ancak temelde aynıdır. Örneğin init 5, tüm özelliklerle donatılmış X Window sistemini belirtir)
  • 6: Reboot (yeniden başlama)


Mesela, normalde sistemin grafik ekrana mı (gdm, kdm) yoksa konsola mı boot edeceği /etc/inittab dosyasından ayarlanır:

# Default runlevel. (Do not set to 0 or 6)
id:3:initdefault:

id:3 değerini 4 yaparsak, gdm ya da kdm giriş ekranına boot etmiş oluruz. Fakat Ubuntu /etc/inittab dosyası barındırmaz. Eğer biz yaratırsak, Ubuntu bunu görür ve kullanır. Ubuntu bunu kullanmadan nasıl iş yapar ve hangi çalışma düzeyine açılacağını anlar? İlk başta söylediğim gibi /etc/rc.X.d (X, numaraya denk gelir) içindeki linkler ile upstart adında bir servis kullanır.
Örneğin GDM, Ubuntu'da runlevel 2 (çalışma düzeyi) olarak ayarlanmıştır. Bunu kaldırmak ve konsola boot etmek istiyorsak:
/etc/rc2.d/S30gdm dosyasını /etc/rc2.d/K70gdm olarak değiştiririz. Buradaki K ve S ne demektir? S start yani başlatma, K ise durdurma anlamına gelir.
Aslında Ubuntu'da bu işleri yapmanın daha kolay yolları var.

  • 1. Yol: update-rc.d komutudur. update-rc.d ile başlangıç seviyesi betiklerini ekleyebilir, kaldırabilir ve istediğimiz gibi ayarlayabiliriz.

sudo update-rc.d -f remove apparmor 


ile apparmor servisini başlangıçtan kaldırabiliriz. Bu komutun yapabilecekleri epey fazladır. Sistem betiği eklemek için de çeşitli kullanım yolları bulunur. Fakat biraz çetrefillidir. Ekleyeceğimiz sistem betiğinin, az önce yukarıda belirttiğim 0-6 çalışma düzeylerinden hangilerinde çalışması gerektiğini bilmemiz ve ona göre eklememiz gerekir. O nedenle, her komutta olduğu gibi bu komutun da ayrıntılı kullanım alanlarını:


man update-rc.d  


ile man sayfasını okuyarak öğrenebiliriz.

  • 2. Yol: sysv-rc-conf uygulamasıdır. Bu uygulama sistem servislerinin çalışma düzeylerini tek tek değiştirmemizi ve ayarlamamızı sağlar.
sudo aptitude install sysv-rc-conf 


komutu ile yükleriz.


sudo sysv-rc-conf  


ile çıkan ekranda, servisler ve çalışma düzeyleri vardır. Burada yukarı-aşağı, sağ-sol yön tuşları ile servisler ve çalışma düzeyleri arasında gezinebilir, space tuşu ile istediğimiz çalışma düzeyine "X" koyarak ya da kaldırarak ayarlama yapabiliriz.

Sistem betiklerinden işimize yaramayacak, gereksiz olanlar olabilir. Ancak bu ayarları dikkatli bir şekilde kurcalamalıyız. Çünkü başlaması gerekli bir servisi durdurursak sıkıntı çekebiliriz, hele de hangisinin hangi ayarını değiştirdiğimizi unutursak, iyice can sıkıcı olabilir.
Bu nedenle eğer ayarlarla gerçekten oynamak istiyorsanız:
Servislerin ne işe yaradığını tam olarak öğrenin. Bunun için google en iyi arkadaşınızdır. Ubuntu belgelerini ve forumlarını da araştırabilirsiniz. Ayrıca çoğu servis ortak olduğundan, genel linux belgelerinden de çok şey öğrenmeniz mümkündür.


Neyi değiştirdiğinizi bir metin dosyasına ve not defterine not alın. Bu benim mutlaka kullandığım yöntemdir. Eğer bir sistem betiğini değiştirirsem, önceki halini (değiştirmeden önce) yani hangi çalışma düzeylerinde çalıştığını ismiyle birlikte not alırım.

Dış bağlantılar

Kaynakça