systemd derinlemesine: birimler, bağımlılıklar ve soket etkinleştirme
Birim dosyası yazmayı, bağımlılık ve sıralamayı, drop-in ile değişikliği, soket ve yol etkinleştirmeyi, kullanıcı servislerini ve tmpfiles'ı üretim düzeyinde öğrenirsin.
Seviye 301 · 20 ders · 18 pratik lab
Dersler
Birimler
- Birim türleri: service, socket, timer, path, mount, target
- Birim dosyalarının yerleri ve öncelik sırası
- Servis türleri: simple, exec, forking, oneshot, notify
- Drop-in ile güvenli değişiklik: systemctl edit
- Kısa görev: paketle gelen birimi ona dokunmadan özelleştir
Bağımlılık ve sıra
- Requires, Wants, BindsTo ve PartOf
- Sıralama ile bağımlılık farkı: Before ve After
- Kendi hedefini tanımlamak
- Bağımlılık ağacını incelemek: list-dependencies ve döngüler
- Kısa görev: veritabanından önce açılıp çöken uygulamanın sırasını düzelt
Etkinleştirme
- Soket etkinleştirme: istek gelince başlayan servis
- Yol birimleri: dosya değişince tetiklemek
- Zamanlayıcılar derinlemesine: OnCalendar, Persistent ve rastgele gecikme
- Şablon birimler: app@.service ile çok örnek
- Kısa görev: küçük bir servisi soket etkinleştirmeye taşı
Diğer araçlar
- Kullanıcı servisleri ve lingering
- systemd-tmpfiles ve sysusers
- journald yapılandırması: kalıcılık, boyut ve hız sınırı
- Yeniden başlatma politikaları ve bekçi zamanlayıcısı
- Bitirme görevi: üç parçalı bir uygulamayı systemd ile sağlam biçimde çalıştır
Pratik lablar
- Etkin birim dosyasının hangi dizinden geldiğini bul: Aynı adla iki yerde bulunan birimin hangisinin geçerli olduğunu ve neden öne geçtiğini göster.
- Paket birimini drop-in ile geçersiz kıl: Paketten gelen birim dosyasına dokunmadan ortam değişkeni ve yeniden başlatma kuralı ekle; güncellemeden etkilenmediğini açıkla.
- Şablon birimle çok örnekli servis çalıştır: Tek şablon birimden üç ayrı portta çalışan işçi örneklerini başlat; her örnek kendi yapılandırma dosyasını okusun.
- Yanlış servis türü yüzünden zaman aşımına düşen birimi düzelt: Çalıştığı halde başlatma zaman aşımına uğrayan servisin tür ayarını programın davranışına göre düzelt.
- Başlangıç öncesi denetim ve durdurma adımı ekle: Servise yapılandırmayı sınayan başlangıç öncesi komutu ve bağlantıları boşaltan durdurma komutunu ekle.
- Donan servisi watchdog ile yakala: Donup kalan ama süreç olarak yaşayan servis için bildirimli tür ve watchdog süresi kur; donmada yeniden başladığını göster.
- Sıralama ile gereksinim farkını gözlemle: İki deneme biriminde After ve Requires ayarlarını ayrı ayrı deneyip hangisinin neyi sağladığını çıktıyla göster.
- Bağımlılık döngüsünü bul ve kır: Açılışta bir birimin atlanmasına yol açan sıralama döngüsünü günlükten ve bağımlılık listesinden bul ve düzelt.
- Uygulama yığını için özel hedef kur: Veritabanı, uygulama ve vekil birimlerini tek hedef altında topla; hedef başlatılınca doğru sırayla kalksın, biri düşünce bağlıları dursun.
- Servisi ilk bağlantıda başlat: Soket birimi yazarak servisin yalnızca ilk bağlantı geldiğinde başlamasını sağla ve öncesinde çalışmadığını göster.
- Dizine dosya düşünce işi tetikle: Gelen dosya dizinini izleyen yol birimi yaz; yeni dosya gelince işleme servisi çalışsın ve dosyayı arşive taşısın.
- Karmaşık takvimli ve rastgele gecikmeli zamanlayıcı kur: Hafta içi mesai saatlerinde on beş dakikada bir, rastgele gecikmeyle çalışan zamanlayıcıyı yaz ve sonraki çalışma zamanlarını doğrula.
- Bir servisin son açılıştaki hatalarını süz: Günlükte yalnızca bir birimin, yalnızca bu açılıştaki hata düzeyindeki kayıtlarını göster.
- Çalışma dizinlerini tmpfiles ile yönet: Açılışta doğru sahiplikle oluşan ve on günden eski dosyaları temizlenen dizin kuralını tmpfiles ile yaz.
- Geçici birimle sınırlı ve izlenebilir iş çalıştır: Tek seferlik ağır işi systemd-run ile bellek sınırı ve ayrı günlük kimliğiyle başlat, bitince sonucunu ve kaynak tüketimini raporla.
- Kullanıcı servisi yaz ve çalıştır: Kök yetkisi olmadan kendi kullanıcın için bir servis birimi yaz, etkinleştir ve durumunu göster.
- Kullanıcı servisini oturum kapansa da çalışır tut: Oturum kapanınca duran kullanıcı servisinin nedenini bul ve servis hesabı için kalıcı çalışmayı aç.
- Servisin maruziyet puanını sıkılaştırarak düşür: Güvenlik çözümlemesi çıktısına göre birime dosya sistemi, yetki ve ağ kısıtları ekle; servis çalışmaya devam ederken puanı iyileştir.
Kurs hakkında
Birim dosyası yazmayı, bağımlılık ve sıralamayı, drop-in ile değişikliği, soket ve yol etkinleştirmeyi, kullanıcı servislerini ve tmpfiles'ı üretim düzeyinde öğrenirsin.
Ne öğreneceksin
- Birimler
- Bağımlılık ve sıra
- Etkinleştirme
- Diğer araçlar
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.