Dikkat: Bu yazıda geçen komutlar hem Linux tabanlı Centos hem de Linux tabanlı Red Hat (RHEL) işletim sisteminde geçerlidir.
Bu konuya daha önce LINUX SİSTEM AÇILIŞI VE SÜREÇ YÖNETİMİ isimli makalemizde bahsetmiştik. Bu makalede daha detaya inip pratik olarak işimize yarayacak kısmını inceleyeceğiz. Yani linux çalışma seviyeleri (linux run levels) nasıl kalıcı veya geçici olarak değiştirilir? Açıklayacağız. Tabiki laboratuvar için VMware Workstation üzerinde sanal olarak kurulmuş Linux tabanlı CentOS işletim sistemini kullanacağız.
Linux Çalışma Seviyeleri:
0, 1, 2, 3, 4, 5 ve 6 seviyeleri vardır. Genelde yaygın olarak 1, 3 ve 5 seviyeleri kullanılmaktadır.
Seviye 0 (Shutdown): Sistemi kapatmak için kullanılır. Bu çalışma seviyesine geçildiği takdirde çalışan tüm programlar öldürülerek (kill) gerekli kapanma işlemleri yapılır ve linux makine güvenli bir şekilde kapatılacak duruma getirilir.
Seviye 1 (Single User Mode) : Linux işletim sistemi tek kullanıcılı modda çalışır. Bu mod çoğunlukla bakım ve kurtarma için kullanılır. Varsayılan olarak ağ ayarları geçerli değildir.
Seviye 2 : Linux işletim sistemi çok kullanıcılı modda çalışır fakat NFS sunucuları çalıştırılmaz ve NFS dosya sistemleri bağlanmaz.
Seviye 3 (Terminal Ekran, Komut Satırı, CLI-Command Line Interface) : Linux işletim sistemini çok kullanıcılı modda çalışır. İkinci seviyeden fark olarak NFS desteği bulunmaktadır.
Seviye 4 : Hiç bir şey tanımlanmamıştır.
Seviye 5 (Grafiksel Ekran, GUI-Grafical User Interface) : Üçüncü seviyenin yanı sıra, X Window sisteminin çalışmasını sağlar.
Seviye 6 (Reboot) : Sistemi reboot etmek için kullanılır.
/etc/inittab Dosyası Formatı:
inittab dosyası aşağıdaki formata sahiptir.
id: çalışma_seviyesi: işlem: komut
Linux tabanlı CentOS işletim sisteminde “cat /etc/inittab” komutu ile inittab dosyasının içeriği görülebilir.
id : 1 ile 4 karakter arasında bir isimdir. Ve her satır için tek olmak zorundadır. (Not : getty süreçleri için id tanımlaması programın ilişkilendirildiği tty ile ilgili olmalıdır. Yani tty1 konsolu için çalışacak getty programını tanımlayan id 1 olmak zorundadır.)
çalışma_seviyesi : Belirtilen işlemin uygulanacağı çalışma seviyelerini belirtilir. Birden fazla çalışma seviyesi belirtilebilir.
işlem : Yapılacak işlemi belirler. Bu işlem türleri ise aşağıdaki gibidir;
- sysinit : Sistem açılırken ilk olarak çalıştırılır. Çalışma seviyeleri göz ardı edilir.
- boot : Sistem açılırken çalıştırılır.
- bootwait : Sistem açılırken çalıştırılır ve init komutun sonlanmasını bekler.
- once : Çalışma seviyesine geçildiğinde bir kez çalıştırılır.
- wait : Komut , çalışma seviyesine geçildiğinde bir kez çalıştırılır ve init komutun sonlanmasını bekler.
- respawn : Belirtilen komut sona erdiği takdirde yeniden çalıştırılır. (Özellikle getty süreçleri için kullanılır.)
- initdefault : Varsayılan sistem çalışma seviyesini belirtir. Çalışma seviyesi kısmında tek bir seviye belirtilebilir. Komut kısmı göz ardı edilir.
- ctrlaltdel : CTRL-ALT-DEL tuşlarına basıldığında gerçekleştirilecek işlemi belirtir.
komut : Çalıştırılacak komutu belirtir.
Çalışma Seviyesini Öğrenme: runlevel veya who -r Komutu
Bulunduğumuz çalışma seviyesini öğrenmek için “runlevel” veya “who -r” komutu kullanılmaktadır.
- runlevel
Veya
- who -r
Konuyla ilgili olarak aşağıda 2 komutta kullanılmıştır.
Çıktıya göre 5. çalışma sevinde olduğumuzu öğreniyoruz yani grafiksel ekranda (GUI – Grafical User Interface) çalışıyormuşuz.
Çalışma Seviyeleri Geçici Olarak Nasıl Değiştirilir?
“init” komutu ile çalışma seviyesi değiştirilebilmektedir.
- init [çalışma_seviyesi]
Örneğin yukarıda seviye 5’te (Grafiksel Ekran, GUI-Grafical User Interface) çalıştığımızı öğrenmiştik. Şimdi komut satırına geçelim. Yani çalışma seviyesini “init 3” komutu ile 5’ten 3’e (Terminal Ekran, Komut Satırı, CLI-Command Line Interface) alalım.
Bu durumda grafiksel ekrandan terminal ekrana geçiş olacaktır. (GUI >>>>> CLI)
Root girişi yapıp tekrar grafiksel ekrana dönelim.
Bu değişiklikler kalıcı değil o anki oturum için olacaktır. Yani bilgisayarı grafiksel ekranda reboot ettiğimiz zaman grafiksel ekrandan açılacaktır. Bunu deneyebilirsiniz.
Peki, bilgisayar açılırken kalıcı olarak CLI ekranda açılmasını istiyor isek?
Çalışma Seviyeleri Kalıcı Olarak Nasıl Değiştirilir? : Linux Sistemin Hangi Çalışma Seviyesinde Açılacağını Belirlemek
Çalışma seviyesini default olarak yani varsayılan olarak belirlemek için “/etc” altındaki “inittab” dosyasında değişiklikler yapılmalıdır. Yani “/etc/inittab” dosyasının konfigüre edilmesi gerekmektedir.
Örneğin Linux tabanlı CentOS işletim sistemini varsayılan olarak 3. seviyede başlatılabilmesi için “etc/inittab” dosyasında uygun satır aşağıdaki gibi değiştirilmedir.
Örnek olması açısından ilk önce bu dosyaya bakalım.
Şimdi ise bu dosyada 5 yazan yeri 3 ile değiştirelim. Bunun için dosyayı vi editörü ile açmamız gerekir. vi editörü kullanımı için CentOS DOSYA İÇERİĞİNİN DEĞİŞTİRİLMESİ: vi EDİTÖRÜ isimli makalemizi inceleyebilirsiniz.
Kullanacağımız komut “vi /etc/inittab” olacaktır.
Ardından “reboot” edelim. Sonuç aşağıdaki gibi olacaktır.
Kalıcı olarak tekrar grafiksel ekrana dönmek için yine “vi /etc/inittab” komutu ile dosyayı açmak ve 3 yazan yeri 5 ile değiştirmemiz gerekir.