Çalışma Seviyeleri (Run Levels)
System V init (SysVinit), sistemi farklı çalışma modlarına veya durumlarına sokmak için çalışma seviyeleri (runlevels) konseptini kullanır. Her runlevel, hangi servislerin çalıştırılacağını veya durdurulacağını tanımlar. Sistem belirli bir runlevel'a geçtiğinde, o runlevel için tanımlanmış servisler başlatılırken, önceki runlevel'da çalışıp yeni runlevel'da tanımlı olmayan servisler durdurulur.
Standart Runlevel'lar
Geleneksel olarak 7 runlevel (0'dan 6'ya kadar) tanımlanmıştır ve bunların çoğu için standartlaşmış anlamlar bulunur, ancak dağıtımlar arasında küçük farklılıklar olabilir:
Runlevel 0: Halt (Durdurma)
Sistemi güvenli bir şekilde kapatır. Bu runlevel'a geçmek,
shutdown -h now
veyahalt
komutlarına benzer.
Runlevel 1: Single-User Mode (Tek Kullanıcı Modu)
Sistemi bakım ve kurtarma işlemleri için minimal bir modda başlatır. Genellikle ağ servisleri çalışmaz ve sadece root kullanıcısı giriş yapabilir. Kök dosya sistemi genellikle salt okunur (read-only) olarak bağlanabilir.
Runlevel 2: Multi-User Mode (Çok Kullanıcılı Mod - Ağsız)
Debian tabanlı sistemlerde: Ağ servisleri olmadan çok kullanıcılı metin modu.
RHEL tabanlı sistemlerde: Genellikle Runlevel 3 ile aynıdır (ağ destekli çok kullanıcılı metin modu).
Runlevel 3: Multi-User Mode with Networking (Ağ Destekli Çok Kullanıcılı Mod)
Tamamen işlevsel, ağ destekli, komut satırı tabanlı çok kullanıcılı mod. Sunucular için yaygın varsayılan runlevel'dır.
Runlevel 4: Unused/Custom (Kullanılmayan/Özel)
Genellikle sistem yöneticisi tarafından özel amaçlar için tanımlanmak üzere boş bırakılır.
Runlevel 5: Multi-User Mode with Graphical Interface (Grafik Arayüzlü Çok Kullanıcılı Mod)
Runlevel 3'teki her şeye ek olarak grafiksel bir ekran yöneticisi (örn. GDM, KDM, LightDM) başlatılır. Masaüstü sistemler için yaygın varsayılan runlevel'dır.
Runlevel 6: Reboot (Yeniden Başlatma)
Sistemi güvenli bir şekilde yeniden başlatır. Bu runlevel'a geçmek,
shutdown -r now
veyareboot
komutlarına benzer.
Runlevel Yönetimi
Varsayılan Runlevel: Sistemin normalde hangi runlevel'da başlayacağı genellikle
/etc/inittab
dosyasındakiid:N:initdefault:
satırı ile belirlenir (burada N varsayılan runlevel numarasıdır, örn. 3 veya 5). Bazı modern SysVinit sistemleri veya önyükleyiciler bu ayarı farklı yerlerde tutabilir (örn. GRUB çekirdek parametresi).Mevcut Runlevel'ı Görme:
runlevel
komutu, önceki ve mevcut runlevel'ı gösterir. Çıktıdaki ilk karakter önceki (eğer yoksa 'N'), ikinci karakter mevcut runlevel'dır.Runlevel Değiştirme: Çalışan sistemin runlevel'ını değiştirmek için
init
veyatelinit
komutları kullanılır (root yetkisiyle).
Runlevel konsepti, systemd'deki target birimleri ile benzer bir amaca hizmet eder, ancak systemd target'ları daha esnek ve bağımlılık tabanlı bir yapı sunar.
Last updated