Init Versiyonunu Belirlemek

Linux sisteminizde hangi init sisteminin (PID 1 olarak çalışan ve sistemi başlatan süreç) kullanıldığını bilmek, servisleri yönetmek ve sistemin davranışını anlamak için önemlidir. Modern dağıtımların çoğu systemd kullanırken, eski sistemlerde System V init (SysVinit) veya Upstart gibi alternatifler bulunabilir.

İşte çalışan init sistemini belirlemek için kullanılabilecek bazı yaygın yöntemler:

  1. PID 1'in Komut Adını Kontrol Etme: En doğrudan yöntemlerden biri, PID 1 olarak çalışan sürecin komut adını kontrol etmektir:

    ps -p 1 -o comm=
    • Eğer çıktı systemd ise, sisteminiz systemd kullanıyor demektir.

    • Eğer çıktı init ise, genellikle SysVinit veya Upstart kullanılıyor demektir. (Upstart genellikle eski Ubuntu sürümlerinde bulunur).

  2. /sbin/init Sembolik Linkini Kontrol Etme: Çekirdek genellikle /sbin/init'i başlatır. Bu dosyanın nereye işaret ettiğini kontrol etmek init sistemini gösterebilir:

    ls -l /sbin/init
    • Eğer /lib/systemd/systemd'ye veya benzer bir yola işaret ediyorsa, systemd kullanılıyordur.

    • Eğer doğrudan /sbin/init çalıştırılabilir bir dosyaysa veya başka bir init dosyasına işaret ediyorsa, muhtemelen SysVinit veya Upstart'tır.

  3. systemctl Komutunun Varlığı ve Çalışması:systemctl komutu, systemd'nin ana yönetim aracıdır. Bu komutun varlığı ve çalışması, systemd'nin kullanıldığının güçlü bir göstergesidir:

    systemctl status 
    # veya
    systemctl is-system-running

    Eğer bu komutlar systemd'ye özgü çıktılar veriyorsa veya hata vermeden çalışıyorsa, sisteminiz systemd kullanıyordur. SysVinit sistemlerde bu komut bulunmaz veya farklı davranır.

  4. /etc/inittab Dosyasını Kontrol Etme: Geleneksel SysVinit, ana yapılandırması için /etc/inittab dosyasını kullanır.

    ls /etc/inittab
    • Eğer bu dosya varsa ve içinde runlevel tanımları gibi aktif yapılandırma satırları içeriyorsa, sistem muhtemelen SysVinit kullanıyordur.

    • Modern systemd sistemlerinde /etc/inittab dosyası ya bulunmaz ya da sadece bilgilendirme amaçlı yorum satırları içeren boş veya minimal bir dosyadır.

  5. runlevel Komutunu Kontrol Etme: SysVinit sistemlerde mevcut çalışma seviyesini (runlevel) görmek için runlevel komutu kullanılır. systemd sistemlerde bu komut hala bulunabilir ancak genellikle farklı veya daha az anlamlı bir çıktı verir. systemd'de benzer işlev için systemctl get-default (varsayılan hedefi gösterir) veya who -r kullanılabilir.

Genellikle ps -p 1 -o comm= veya ls -l /sbin/init komutları, çalışan init sistemini hızlıca belirlemek için yeterlidir. Çoğu modern ve popüler Linux dağıtımı (Debian, Ubuntu, Fedora, RHEL, CentOS Stream, Arch Linux, SUSE vb.) artık varsayılan olarak systemd kullanmaktadır.

Last updated