Systemd, çoğu Linux dağıtımı için varsayılan başlatma sistemidir. Popülaritesi, esas olarak, onu herhangi bir Linux sisteminin ayrılmaz bir parçası yapan Linux ekosistemindeki gelişmiş performansı ve olumlu öneminden kaynaklanmaktadır. Systemd, öncelikle sistemin hizmetlerinden ve süreçlerinden sorumludur. Bunu yaparken, hizmetleri değiştirmek için farklı yapılandırma dosyalarını değiştirmek isteyebilirsiniz. Bugünkü odak noktamız systemd hizmetini ve onu nasıl değiştirebileceğinizi anlamaktır.
Systemd Hizmetini Nasıl Çalışır
Systemd, en iyi Linux dağıtımları için bir hizmet yöneticisi olarak tanımlanır. Linux’ta başlangıç sistemi olarak hareket edecek birim dosyaları sunan bir yazılım paketidir. Systemd, paralelleştirme ve gelişmiş performans sunan geleneksel SysV başlatma sistemine bir alternatif olarak tanıtıldı.
Systemd, birim dosyalarıyla çalışır. Birim dosyaları, sistem tarafından tanınan ve kontrol edilen kaynaklardır. Her birim dosyası, birimin neyi gerektirdiğini ve davranışını tanımlayan yapılandırma talimatlarını içerir. Birim dosyaları Linux’ta üç ana konumda depolanır.
- /etc/systemd/system/ – Konum, sistem yöneticisinin oluşturduğu veya özelleştirdiği birim dosyalarını içerir. “systemctl enable” komutu kullanılarak oluşturulan herhangi bir birim dosyası bu konumda saklanır.
- /run/systemd/system/ – Çalışma zamanında oluşturulan herhangi bir birim dosyasını içerir.
- /usr/lib/systemd/system/ – Sistemin birim dosyalarının kopyasını saklar. Ünite dosyalarının yüklenmesini gerektiren herhangi bir yazılım, onları bu konumda tutar.
Systemd Linux’ta esastır. Farklı özellikler sunar. Yaygın olanlar aşağıdakileri içerir:
- System management – Kullanıcı oturumları, zaman senkronizasyonu, güç yönetimi vb. dahil olmak üzere farklı sistem özelliklerini yönetmek için çeşitli komutlar ve gerekli yardımcı programları sağlar.
- Process management – Herhangi bir hizmetin diğer hizmetler pahasına bir kaynağı tekeline almasını önlemek için hizmetlerin kaynakları nasıl kullandığını izleyip kontrol ederken Linux sisteminizdeki tüm işlemleri izler.
- Journaling – systemd’nin oynadığı önemli bir rol, farklı hizmetlerden ve kaynaklardan gelen mesajları günlüğe kaydetmektir. Kullanıcılar, toplanan günlük mesajlarını arayabilir, filtreleyebilir ve analiz edebilir.
- Parallelization – Modern donanım yeteneklerinden yararlanan systemd, gelişmiş sistem yanıt hızına ve daha hızlı önyükleme süresine yol açan hizmetlerin paralelleştirilmesini sunabilir.
- Service Management – Sistemd, birim dosyalarını kullanarak, hizmetleri başlatma, durdurma ve yeniden yükleme gibi çeşitli sistem hizmetleriyle ilgili görevleri yönetir.
Systemd Hizmeti Nasıl Değiştirilir
Systemd, kritik sistem hizmetlerinin değiştirilmesine izin verir. Bu nedenle, değiştirmek istediğiniz yapılandırma dosyaları konusunda dikkatli olmalısınız. Bununla birlikte, systemd hizmetini değiştirmek, yapılandırma dosyasını veya belirli birim dosyasını açmayı, değişikliği uygulamayı ve değişikliklerin uygulanması için systemd’yi yeniden yüklemeyi içerir.
Değiştirmek istediğiniz hizmetin adını belirleyerek başlayın. Bu şekilde, gönderide belirtilen üç konumdan konumunu kolayca bileceksiniz. Örneğin, sshd.service’i değiştirmek istiyorsak, bunun /etc/systemd/system/ konumunda olduğunu biliyoruz. Bunu “ls” komutunu kullanarak aşağıdaki gibi doğrulayabilirsiniz:
$ ls /etc/systemd/system/ | grep sshd
Hedef hizmetimizin hedef konumda bulunduğunu not edebiliriz.
Ardından, systemd hizmetinizi açmak için seçtiğiniz bir metin düzenleyiciyi kullanın. Bizim durumumuzda nano kullanıyoruz. systemd hizmet birimi dosyasına giden mutlak yolu verdiğinizden emin olun.
Hizmet yapılandırma dosyası, metin düzenleyicinizde açılır. Birim dosyasında istediğiniz değişiklikleri uygulamak için değiştirin. Hizmetin INI stili biçimi izlediğini unutmayın. [Unit], [Service] ve [Install] dahil sahip olduğu farklı bölümlerle bunu doğrulayabilirsiniz. Değişikliklerinizi doğru bölümde değiştirin.
Değişiklikleri kaydedin ve dosyadan çıkın.
Değişikliklerinizin etkili olması için systemd arka plan programını yeniden yüklemeniz gerekir. Bunun için aşağıdaki komutu çalıştırın:
$ sudo systemctl daemon-reload
systemd arka plan programı yeniden yüklendiğinde, değiştirdiğiniz hizmeti yeniden başlatabilirsiniz. Bizim durumumuzda hizmet sshd.service’dir. Aşağıda gösterildiği gibi yeniden başlatıyoruz:
$ sudo systemctl restart sshd.service
Son olarak, hatasız çalıştığından ve çalıştığından emin olmak için systemd hizmetinin durumunu kontrol edin. “systemctl” durum komutunu kullanın. Çıktı, hizmetinizin etkin (çalışıyor) olduğunu doğrulamalıdır. Modifikasyonda bir hata varsa bunu çıktıda görebilir ve doğru şekilde modifiye etmek için çalışabilirsiniz.
Systemd hizmetini bu şekilde değiştirirsiniz.
Yazının orijinalini buradan okuyabilirsiniz.