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:
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ı
systemdise, sisteminiz systemd kullanıyor demektir.Eğer çıktı
initise, genellikle SysVinit veya Upstart kullanılıyor demektir. (Upstart genellikle eski Ubuntu sürümlerinde bulunur).
/sbin/initSembolik 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/initEğ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 birinitdosyasına işaret ediyorsa, muhtemelen SysVinit veya Upstart'tır.
systemctlKomutunun Varlığı ve Çalışması:systemctlkomutu, 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-runningEğ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.
/etc/inittabDosyasını Kontrol Etme: Geleneksel SysVinit, ana yapılandırması için/etc/inittabdosyasını kullanır.ls /etc/inittabEğ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/inittabdosyası ya bulunmaz ya da sadece bilgilendirme amaçlı yorum satırları içeren boş veya minimal bir dosyadır.
runlevelKomutunu Kontrol Etme: SysVinit sistemlerde mevcut çalışma seviyesini (runlevel) görmek içinrunlevelkomutu 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çinsystemctl get-default(varsayılan hedefi gösterir) veyawho -rkullanı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