{"id":38370,"date":"2026-01-29T20:20:51","date_gmt":"2026-01-29T17:20:51","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/"},"modified":"2026-01-29T20:20:51","modified_gmt":"2026-01-29T17:20:51","slug":"linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/","title":{"rendered":"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?"},"content":{"rendered":"<p><title>Systemctl ile Systemd Hizmet Y\u00f6netimi: Kapsaml\u0131 Linux Rehberi<\/title><br \/>\n<body><\/p>\n<p>Linux sunucular\u0131n\u0131zda servisleri y\u00f6netmek, sistem kararl\u0131l\u0131\u011f\u0131 ve performans\u0131 i\u00e7in kritik bir beceridir. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen d\u00fcnyada Systemd ve onun ana arac\u0131 <code>systemctl<\/code> ile servisleri nas\u0131l etkin bir \u015fekilde kontrol edebilirsiniz? Bu rehber, ba\u015flang\u0131\u00e7 seviyesinden ileri d\u00fczeye kadar <code>systemctl<\/code> komutlar\u0131n\u0131 kullanarak Linux sistemlerinizde servisleri ba\u015flatma, durdurma, durumunu sorgulama ve otomatikle\u015ftirme s\u00fcre\u00e7lerini ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece sistem y\u00f6netimi becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131yacaks\u0131n\u0131z.<\/p>\n<h2>Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?<\/h2>\n<p>Linux i\u015fletim sistemlerinde servislerin ve s\u00fcre\u00e7lerin y\u00f6netimi, sistemin omurgas\u0131n\u0131 olu\u015fturan temel bir g\u00f6revdir. Geleneksel olarak, SysVinit ve Upstart gibi init sistemleri bu g\u00f6revi \u00fcstlenirken, modern Linux da\u011f\u0131t\u0131mlar\u0131n\u0131n \u00e7o\u011fu art\u0131k Systemd&#8217;yi benimsemi\u015f durumda. Systemd, sadece bir init sistemi olman\u0131n \u00f6tesinde, sistemin ba\u015flang\u0131c\u0131ndan kapan\u0131\u015f\u0131na kadar t\u00fcm s\u00fcre\u00e7leri, servisleri, cihazlar\u0131 ve ba\u011flama noktalar\u0131n\u0131 y\u00f6neten kapsaml\u0131 bir yaz\u0131l\u0131m s\u00fcitidir. Bu ge\u00e7i\u015f, sistem y\u00f6neticilerine \u00e7ok daha esnek, h\u0131zl\u0131 ve g\u00fc\u00e7l\u00fc bir kontrol mekanizmas\u0131 sunmu\u015ftur.<\/p>\n<p>Systemd&#8217;nin en b\u00fcy\u00fck avantajlar\u0131ndan biri, servisleri paralel olarak ba\u015flatabilme yetene\u011fidir. Bu, \u00f6ny\u00fckleme s\u00fcrelerini \u00f6nemli \u00f6l\u00e7\u00fcde k\u0131salt\u0131r ve sistemin daha h\u0131zl\u0131 kullan\u0131ma haz\u0131r hale gelmesini sa\u011flar. Ayr\u0131ca, servisler aras\u0131ndaki ba\u011f\u0131ml\u0131l\u0131klar\u0131 daha iyi y\u00f6netir, hatal\u0131 servislerin sistemin geri kalan\u0131n\u0131 etkilemesini \u00f6nler ve geli\u015fmi\u015f g\u00fcnl\u00fckleme (logging) \u00f6zellikleri sunar. T\u00fcm bu \u00f6zellikler, Systemd&#8217;yi g\u00fcn\u00fcm\u00fcz\u00fcn karma\u015f\u0131k sunucu ortamlar\u0131 i\u00e7in vazge\u00e7ilmez k\u0131lmaktad\u0131r. \u00d6zellikle b\u00fcy\u00fck \u00f6l\u00e7ekli altyap\u0131larda veya mikroservis mimarilerinde, servislerin do\u011fru ve g\u00fcvenilir bir \u015fekilde y\u00f6netilmesi, sistemin genel sa\u011fl\u0131\u011f\u0131 i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<p><code>systemctl<\/code> ise, Systemd ile etkile\u015fim kurmak i\u00e7in kullan\u0131lan birincil komut sat\u0131r\u0131 arac\u0131d\u0131r. Bu g\u00fc\u00e7l\u00fc ara\u00e7 sayesinde, kullan\u0131c\u0131lar sistemdeki t\u00fcm &#8220;unit&#8221; ad\u0131 verilen birimleri (servisler, zamanlay\u0131c\u0131lar, ba\u011flama noktalar\u0131, soketler vb.) kolayca y\u00f6netebilirler. Bir web sunucusunu ba\u015flatmak, bir veritaban\u0131 hizmetini yeniden ba\u015flatmak veya bir uygulaman\u0131n sistem ba\u015flang\u0131c\u0131nda otomatik olarak \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak gibi t\u00fcm g\u00f6revler <code>systemctl<\/code> arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015ftirilir. Bu komut, sistem y\u00f6neticilerine an\u0131nda geri bildirim sa\u011flar, servislerin durumunu net bir \u015fekilde g\u00f6sterir ve sorun giderme s\u00fcre\u00e7lerini basitle\u015ftirir. Dolay\u0131s\u0131yla, Systemd&#8217;nin sa\u011flad\u0131\u011f\u0131 t\u00fcm avantajlar\u0131 tam anlam\u0131yla kullanabilmek i\u00e7in <code>systemctl<\/code>&#8216;e hakim olmak, her Linux kullan\u0131c\u0131s\u0131 ve sistem y\u00f6neticisi i\u00e7in temel bir gerekliliktir.<\/p>\n<div class=\"expert-tip\">\n        Uzman \u0130pucu: Systemd&#8217;nin paralel ba\u015flatma yetene\u011fi sayesinde, boot s\u00fcresini optimize etmek i\u00e7in kritik servislerin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 do\u011fru yap\u0131land\u0131rmak, genel sistem performans\u0131n\u0131 %30&#8217;a kadar art\u0131rabilir.\n    <\/div>\n<h2>Systemd ve systemctl Temel Kavramlar\u0131 Nelerdir?<\/h2>\n<p>Systemd d\u00fcnyas\u0131na ad\u0131m atarken kar\u015f\u0131la\u015faca\u011f\u0131n\u0131z en temel kavramlardan biri &#8220;unit&#8221; (birim) kavram\u0131d\u0131r. Systemd, y\u00f6netti\u011fi her \u015feyi bir birim olarak ele al\u0131r. Bu birimler, farkl\u0131 ama\u00e7lara hizmet eden \u00e7e\u015fitli tiplerde olabilir ve her birinin kendine \u00f6zg\u00fc bir yap\u0131land\u0131rma dosyas\u0131 bulunur. Bu birim dosyalar\u0131 genellikle <code>\/etc\/systemd\/system\/<\/code> veya <code>\/usr\/lib\/systemd\/system\/<\/code> dizinlerinde yer al\u0131r. \u0130\u015fte en yayg\u0131n birim tipleri:<\/p>\n<ul>\n<li><strong>Service Units (.service):<\/strong> Arka planda \u00e7al\u0131\u015fan daemon&#8217;lar\u0131 veya uygulamalar\u0131 y\u00f6netir. \u00d6rne\u011fin, bir web sunucusu (nginx.service) veya bir veritaban\u0131 (postgresql.service).<\/li>\n<li><strong>Target Units (.target):<\/strong> Geleneksel SysVinit&#8217;teki &#8220;runlevel&#8221; kavram\u0131na benzer. Bir grup birimi bir araya getirerek belirli bir sistem durumunu tan\u0131mlar. \u00d6rne\u011fin, <code>multi-user.target<\/code> (komut sat\u0131r\u0131 modu) veya <code>graphical.target<\/code> (grafiksel masa\u00fcst\u00fc).<\/li>\n<li><strong>Socket Units (.socket):<\/strong> Bir servisin bekleyece\u011fi a\u011f veya IPC soketlerini tan\u0131mlar. Bu sayede servis, sadece bir ba\u011flant\u0131 geldi\u011finde ba\u015flat\u0131labilir (socket activation).<\/li>\n<li><strong>Timer Units (.timer):<\/strong> Cron i\u015flevselli\u011fine modern bir alternatif sunar. Belirli zamanlarda veya d\u00fczenli aral\u0131klarla servisleri ba\u015flatmak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>Mount Units (.mount):<\/strong> Dosya sistemlerinin ba\u011flama noktalar\u0131n\u0131 y\u00f6netir.<\/li>\n<li><strong>Device Units (.device):<\/strong> \u00c7ekirdek taraf\u0131ndan alg\u0131lanan cihazlar\u0131 temsil eder.<\/li>\n<\/ul>\n<p>Bu birimler aras\u0131nda, servis birimleri en s\u0131k kar\u015f\u0131la\u015faca\u011f\u0131n\u0131z ve y\u00f6netece\u011finiz t\u00fcr olacakt\u0131r. Her servis birimi, genellikle <code>[Unit]<\/code>, <code>[Service]<\/code> ve <code>[Install]<\/code> olmak \u00fczere \u00fc\u00e7 ana b\u00f6l\u00fcmden olu\u015fur. <code>[Unit]<\/code> b\u00f6l\u00fcm\u00fc, servisin tan\u0131m\u0131n\u0131, ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve di\u011fer birimlerle ili\u015fkilerini i\u00e7erir. <code>[Service]<\/code> b\u00f6l\u00fcm\u00fc, servisin nas\u0131l ba\u015flat\u0131laca\u011f\u0131n\u0131, durdurulaca\u011f\u0131n\u0131, hangi kullan\u0131c\u0131yla \u00e7al\u0131\u015faca\u011f\u0131n\u0131 ve di\u011fer \u00e7al\u0131\u015fma zaman\u0131 parametrelerini belirtir. Son olarak, <code>[Install]<\/code> b\u00f6l\u00fcm\u00fc, servisin sistem ba\u015flang\u0131c\u0131nda nas\u0131l etkinle\u015ftirilece\u011fini (enable) ve hangi hedefe (target) ba\u011flanaca\u011f\u0131n\u0131 tan\u0131mlar.<\/p>\n<p><code>systemctl<\/code> komutunun g\u00fcc\u00fc, bu birim dosyalar\u0131n\u0131 okuyarak ve yorumlayarak sistemi y\u00f6netmesinden gelir. Temel <code>systemctl<\/code> komutlar\u0131, servisleri do\u011frudan kontrol etmenizi sa\u011flar: <code>start<\/code> bir servisi ba\u015flat\u0131r, <code>stop<\/code> durdurur, <code>restart<\/code> yeniden ba\u015flat\u0131r ve <code>status<\/code> o anki durumunu g\u00f6sterir. Ayr\u0131ca, <code>enable<\/code> komutu, servisin sistem ba\u015flang\u0131c\u0131nda otomatik olarak \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flarken, <code>disable<\/code> komutu bu \u00f6zelli\u011fi kald\u0131r\u0131r. Bu komutlar, sistem y\u00f6neticilerine servislerin ya\u015fam d\u00f6ng\u00fcs\u00fc \u00fczerinde tam kontrol imkan\u0131 sunar ve Linux sunucular\u0131nda g\u00fcvenilir bir \u00e7al\u0131\u015fma ortam\u0131 sa\u011flamak i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<p>Systemd&#8217;nin sa\u011flad\u0131\u011f\u0131 bu mod\u00fcler yap\u0131 ve <code>systemctl<\/code>&#8216;in sundu\u011fu basit aray\u00fcz sayesinde, servis y\u00f6netimi \u00e7ok daha \u015feffaf ve y\u00f6netilebilir hale gelmi\u015ftir. Her birimin ayr\u0131 bir yap\u0131land\u0131rma dosyas\u0131na sahip olmas\u0131, sorun gidermeyi kolayla\u015ft\u0131r\u0131r ve sistemdeki de\u011fi\u015fiklikleri takip etmeyi basitle\u015ftirir. Bu temel kavramlar\u0131 anlamak, <code>systemctl<\/code> ile etkili bir \u015fekilde \u00e7al\u0131\u015fman\u0131n ilk ad\u0131m\u0131d\u0131r.<\/p>\n<h2>systemctl ile Servisler Nas\u0131l Y\u00f6netilir? Ad\u0131m Ad\u0131m Uygulamal\u0131 Rehber<\/h2>\n<p><code>systemctl<\/code>, Linux sistemlerinizdeki servisleri y\u00f6netmek i\u00e7in en \u00e7ok kullanaca\u011f\u0131n\u0131z ara\u00e7t\u0131r. \u0130\u015fte temel servis y\u00f6netimi g\u00f6revlerini ad\u0131m ad\u0131m nas\u0131l ger\u00e7ekle\u015ftirece\u011finize dair pratik bir rehber.<\/p>\n<h3>Servis Ba\u015flatma, Durdurma ve Yeniden Ba\u015flatma<\/h3>\n<p>Bir servisi ba\u015flatmak i\u00e7in <code>start<\/code> komutunu kullan\u0131r\u0131z. \u00d6rne\u011fin, Apache web sunucusunu (httpd.service veya apache2.service) ba\u015flatmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start apache2.service<\/code><\/pre>\n<p>Bir servisi durdurmak i\u00e7in <code>stop<\/code> komutu kullan\u0131l\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop apache2.service<\/code><\/pre>\n<p>Bir serviste yapt\u0131\u011f\u0131n\u0131z yap\u0131land\u0131rma de\u011fi\u015fikliklerinin etkili olmas\u0131 veya servis d\u00fczg\u00fcn \u00e7al\u0131\u015fm\u0131yorsa yeniden ba\u015flatmak i\u00e7in <code>restart<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart apache2.service<\/code><\/pre>\n<p>E\u011fer bir servis zaten \u00e7al\u0131\u015f\u0131yorsa ve sadece yap\u0131land\u0131rma dosyalar\u0131n\u0131 yeniden y\u00fcklemesini istiyorsan\u0131z (servisi tamamen kapat\u0131p a\u00e7madan), <code>reload<\/code> komutunu kullanabilirsiniz. Bu, genellikle kesintisiz hizmet sa\u011flamak i\u00e7in tercih edilir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl reload apache2.service<\/code><\/pre>\n<p>Ancak, her servis <code>reload<\/code> komutunu desteklemez. E\u011fer desteklemiyorsa, <code>restart<\/code> kullanmak zorunda kal\u0131rs\u0131n\u0131z. Bu durumu bilmek \u00f6nemlidir.<\/p>\n<h3>Servis Durumunu Kontrol Etme ve Listeleme<\/h3>\n<p>Bir servisin o anki durumunu g\u00f6rmek, sorun giderme ve servis sa\u011fl\u0131\u011f\u0131n\u0131 izleme a\u00e7\u0131s\u0131ndan hayati \u00f6neme sahiptir. <code>status<\/code> komutu, servisin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131, son hata mesajlar\u0131n\u0131 ve ilgili g\u00fcnl\u00fck kay\u0131tlar\u0131n\u0131 g\u00f6sterir:<\/p>\n<pre><code class=\"language-bash\">systemctl status apache2.service<\/code><\/pre>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131, servisin aktif olup olmad\u0131\u011f\u0131n\u0131 (active\/inactive), bellekte ne kadar yer kaplad\u0131\u011f\u0131n\u0131 ve son birka\u00e7 g\u00fcnl\u00fck kayd\u0131n\u0131 i\u00e7erir. T\u00fcm aktif servisleri listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">systemctl list-units --type=service --state=running<\/code><\/pre>\n<p>T\u00fcm birimleri (servisler, zamanlay\u0131c\u0131lar vb.) listelemek i\u00e7in ise:<\/p>\n<pre><code class=\"language-bash\">systemctl list-units<\/code><\/pre>\n<p>veya sadece etkin olanlar\u0131 g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">systemctl list-units --all<\/code><\/pre>\n<h3>Servisleri Sistem Ba\u015flang\u0131c\u0131nda Etkinle\u015ftirme\/Devre D\u0131\u015f\u0131 B\u0131rakma<\/h3>\n<p>Bir servisin sistem her ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in <code>enable<\/code> komutunu kullan\u0131r\u0131z. Bu komut, servisin bir sembolik ba\u011flant\u0131s\u0131n\u0131 uygun hedef (target) birimine olu\u015fturur:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable apache2.service<\/code><\/pre>\n<p>E\u011fer bir servisin sistem ba\u015flang\u0131c\u0131nda otomatik olarak \u00e7al\u0131\u015fmas\u0131n\u0131 istemiyorsan\u0131z, <code>disable<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl disable apache2.service<\/code><\/pre>\n<p>Bir servisin etkinle\u015ftirilip etkinle\u015ftirilmedi\u011fini kontrol etmek i\u00e7in <code>is-enabled<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">systemctl is-enabled apache2.service<\/code><\/pre>\n<h3>Kendi Servis Dosyan\u0131z\u0131 Olu\u015fturma: Vaka Analizi<\/h3>\n<p>Diyelim ki, her 5 dakikada bir sistemin y\u00fck ortalamas\u0131n\u0131 bir dosyaya yazan basit bir Python beti\u011finiz var ve bunu bir Systemd servisi olarak \u00e7al\u0131\u015ft\u0131rmak istiyorsunuz. \u0130\u015fte ad\u0131m ad\u0131m nas\u0131l yapaca\u011f\u0131n\u0131z:<\/p>\n<ol>\n<li><strong>Beti\u011fi Olu\u015fturun:<\/strong> <code>\/usr\/local\/bin\/monitor_load.py<\/code> ad\u0131nda bir dosya olu\u015fturun ve i\u00e7ine \u015funlar\u0131 yaz\u0131n:<\/li>\n<pre><code class=\"language-python\">\n#!\/usr\/bin\/env python3\nimport time\nimport os\n\nlog_file = \"\/var\/log\/system_load.log\"\n\ndef get_load_avg():\n    with open(\"\/proc\/loadavg\") as f:\n        return f.read().split()[0]\n\ndef log_load():\n    timestamp = time.strftime(\"%Y-%m-%d %H:%M:%S\")\n    load_avg = get_load_avg()\n    with open(log_file, \"a\") as f:\n        f.write(f\"{timestamp} - Load Average: {load_avg}\\n\")\n\nif __name__ == \"__main__\":\n    log_load()\n        <\/code><\/pre>\n<li><strong>Beti\u011fi \u00c7al\u0131\u015ft\u0131r\u0131labilir Yap\u0131n:<\/strong><\/li>\n<pre><code class=\"language-bash\">sudo chmod +x \/usr\/local\/bin\/monitor_load.py<\/code><\/pre>\n<li><strong>Systemd Servis Dosyas\u0131n\u0131 Olu\u015fturun:<\/strong> <code>\/etc\/systemd\/system\/load-monitor.service<\/code> ad\u0131nda bir dosya olu\u015fturun ve i\u00e7ine \u015funlar\u0131 yaz\u0131n:<\/li>\n<pre><code class=\"language-ini\">\n[Unit]\nDescription=System Load Monitor Service\nAfter=network.target\n\n[Service]\nExecStart=\/usr\/local\/bin\/monitor_load.py\nRestart=always\nUser=nobody\n\n[Install]\nWantedBy=multi-user.target\n        <\/code><\/pre>\n<li><strong>Systemd Yap\u0131land\u0131rmas\u0131n\u0131 Yeniden Y\u00fckleyin:<\/strong> Yeni servis dosyas\u0131n\u0131 Systemd&#8217;ye tan\u0131tmak i\u00e7in daemon&#8217;\u0131 yeniden y\u00fcklemeniz gerekir:<\/li>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload<\/code><\/pre>\n<li><strong>Servisi Ba\u015flat\u0131n ve Etkinle\u015ftirin:<\/strong><\/li>\n<pre><code class=\"language-bash\">sudo systemctl start load-monitor.service<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo systemctl enable load-monitor.service<\/code><\/pre>\n<\/ol>\n<p>Art\u0131k <code>load-monitor.service<\/code> ad\u0131nda kendi Systemd servisiniz var. Bu servis, sistem ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flayacak ve Python beti\u011fini \u00e7al\u0131\u015ft\u0131rarak sistem y\u00fck\u00fcn\u00fc d\u00fczenli olarak log dosyas\u0131na kaydedecektir. Bu \u00f6rnek, kendi \u00f6zel uygulamalar\u0131n\u0131z\u0131 veya betiklerinizi bir Systemd servisi olarak nas\u0131l kolayca entegre edebilece\u011finizi g\u00f6stermektedir. <code>daemon-reload<\/code> komutunun, yeni veya de\u011fi\u015ftirilmi\u015f birim dosyalar\u0131n\u0131n Systemd taraf\u0131ndan tan\u0131nmas\u0131 i\u00e7in ne kadar \u00f6nemli oldu\u011funu unutmay\u0131n.<\/p>\n<h2>Geli\u015fmi\u015f systemctl Kullan\u0131m\u0131: Zamanlay\u0131c\u0131lar, Hedefler ve Ba\u011f\u0131ml\u0131l\u0131klar<\/h2>\n<p><code>systemctl<\/code> sadece servisleri ba\u015flat\u0131p durdurmaktan \u00e7ok daha fazlas\u0131n\u0131 yapabilir. Systemd&#8217;nin sundu\u011fu zamanlay\u0131c\u0131lar (timers), hedef birimler (targets) ve servis ba\u011f\u0131ml\u0131l\u0131klar\u0131 gibi geli\u015fmi\u015f \u00f6zellikler, sistem y\u00f6neticilerine daha sofistike otomasyon ve kontrol imkanlar\u0131 sunar. Bu b\u00f6l\u00fcmde, bu ileri d\u00fczey konular\u0131 ve ger\u00e7ek d\u00fcnya senaryolar\u0131ndaki kullan\u0131mlar\u0131n\u0131 inceleyece\u011fiz.<\/p>\n<h3>Timer Unit&#8217;leri ile Cron Alternatifleri Nas\u0131l Olu\u015fturulur?<\/h3>\n<p>Geleneksel Linux sistemlerinde d\u00fczenli g\u00f6revler i\u00e7in <code>cron<\/code> kullan\u0131l\u0131rken, Systemd, <code>.timer<\/code> birimleri ile daha entegre ve g\u00fc\u00e7l\u00fc bir alternatif sunar. <code>.timer<\/code> birimleri, <code>.service<\/code> birimlerini belirli zamanlarda veya aral\u0131klarla tetiklemek i\u00e7in kullan\u0131l\u0131r. En b\u00fcy\u00fck avantajlar\u0131ndan biri, tetiklenecek servisin sadece zaman\u0131 geldi\u011finde \u00e7al\u0131\u015fmas\u0131 ve g\u00fcnl\u00fck kay\u0131tlar\u0131n\u0131n <code>journalctl<\/code> ile daha kolay izlenebilmesidir.<\/p>\n<p>\u00d6rnek olarak, yukar\u0131da olu\u015fturdu\u011fumuz <code>load-monitor.service<\/code>&#8216;i her 5 dakikada bir \u00e7al\u0131\u015ft\u0131rmak i\u00e7in bir timer birimi olu\u015ftural\u0131m. Bunun i\u00e7in <code>\/etc\/systemd\/system\/load-monitor.timer<\/code> ad\u0131nda bir dosya olu\u015fturun:<\/p>\n<pre><code class=\"language-ini\">\n[Unit]\nDescription=Run System Load Monitor every 5 minutes\n\n[Timer]\nOnBootSec=1min\nOnUnitActiveSec=5min\nUnit=load-monitor.service\n\n[Install]\nWantedBy=timers.target\n        <\/code><\/pre>\n<p>Burada:<\/p>\n<ul>\n<li><code>OnBootSec=1min<\/code>: Sistem ba\u015flad\u0131ktan 1 dakika sonra servisi bir kez \u00e7al\u0131\u015ft\u0131r.<\/li>\n<li><code>OnUnitActiveSec=5min<\/code>: Servis her \u00e7al\u0131\u015ft\u0131\u011f\u0131nda, bir sonraki \u00e7al\u0131\u015ft\u0131rmay\u0131 5 dakika sonras\u0131na ayarla.<\/li>\n<li><code>Unit=load-monitor.service<\/code>: Bu zamanlay\u0131c\u0131n\u0131n tetikleyece\u011fi servis birimi.<\/li>\n<li><code>WantedBy=timers.target<\/code>: Zamanlay\u0131c\u0131n\u0131n sistem ba\u015flang\u0131c\u0131nda etkinle\u015ftirilmesini sa\u011flar.<\/li>\n<\/ul>\n<p>\u015eimdi timer&#8217;\u0131 etkinle\u015ftirip ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo systemctl enable load-monitor.timer<\/code><\/pre>\n<pre><code class=\"language-bash\">sudo systemctl start load-monitor.timer<\/code><\/pre>\n<p>Art\u0131k Python beti\u011finiz, <code>load-monitor.timer<\/code> taraf\u0131ndan her 5 dakikada bir otomatik olarak \u00e7al\u0131\u015ft\u0131r\u0131lacakt\u0131r. <code>systemctl list-timers<\/code> komutu ile aktif zamanlay\u0131c\u0131lar\u0131 ve bir sonraki \u00e7al\u0131\u015fma zamanlar\u0131n\u0131 g\u00f6rebilirsiniz.<\/p>\n<h3>Target Unit&#8217;leri ile Sistem Durumlar\u0131n\u0131 Y\u00f6netme ve Ba\u011f\u0131ml\u0131l\u0131klar<\/h3>\n<p>Target birimleri, Systemd&#8217;nin &#8220;runlevel&#8221; benzeri i\u015flevselli\u011fini sa\u011flar. Bir hedef, bir grup servisi ve di\u011fer birimleri bir araya getirerek belirli bir sistem durumunu tan\u0131mlar. \u00d6rne\u011fin, <code>multi-user.target<\/code>, a\u011f ve komut sat\u0131r\u0131 eri\u015fimi olan bir sistem durumunu temsil ederken, <code>graphical.target<\/code> ek olarak grafiksel kullan\u0131c\u0131 aray\u00fcz\u00fcn\u00fc de i\u00e7erir. Sisteminizin varsay\u0131lan hedefi genellikle <code>\/etc\/systemd\/system\/default.target<\/code> sembolik ba\u011flant\u0131s\u0131 ile belirlenir.<\/p>\n<p>Servis ba\u011f\u0131ml\u0131l\u0131klar\u0131, Systemd&#8217;nin en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biridir. Bir servisin ba\u015fka bir servis ba\u015flamadan \u00f6nce ba\u015flamas\u0131 gerekti\u011fini veya onunla birlikte durmas\u0131 gerekti\u011fini belirtebilirsiniz. Bu, karma\u015f\u0131k uygulama y\u0131\u011f\u0131nlar\u0131n\u0131 y\u00f6netirken sistem kararl\u0131l\u0131\u011f\u0131 i\u00e7in \u00e7ok \u00f6nemlidir.<\/p>\n<ul>\n<li><code>Requires=<\/code>: Bu ba\u011f\u0131ml\u0131l\u0131k, belirtilen birim ba\u015flamazsa veya durursa, mevcut birimin de ba\u015flamamas\u0131n\u0131 veya durmas\u0131n\u0131 sa\u011flar. G\u00fc\u00e7l\u00fc bir ba\u011f\u0131ml\u0131l\u0131kt\u0131r.<\/li>\n<li><code>Wants=<\/code>: Daha zay\u0131f bir ba\u011f\u0131ml\u0131l\u0131kt\u0131r. Belirtilen birimin ba\u015flat\u0131lmas\u0131 istenir, ancak ba\u015far\u0131s\u0131z olursa mevcut birimin \u00e7al\u0131\u015fmaya devam etmesine engel olmaz.<\/li>\n<li><code>After=<\/code>: Belirtilen birimden sonra ba\u015fla. Ba\u015far\u0131s\u0131zl\u0131k durumunda mevcut birimin \u00e7al\u0131\u015fmas\u0131n\u0131 engellemez.<\/li>\n<li><code>Before=<\/code>: Belirtilen birimden \u00f6nce ba\u015fla.<\/li>\n<\/ul>\n<h4>Vaka Analizi: Web Sunucusu ve Veritaban\u0131 Ba\u011f\u0131ml\u0131l\u0131klar\u0131<\/h4>\n<p>Bir web uygulamas\u0131 genellikle bir web sunucusu (\u00f6rne\u011fin, Nginx) ve bir veritaban\u0131 (\u00f6rne\u011fin, PostgreSQL) gerektirir. Nginx&#8217;in ba\u015flamadan \u00f6nce PostgreSQL&#8217;in tamamen \u00e7al\u0131\u015f\u0131r durumda olmas\u0131 \u00f6nemlidir. Bu ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 Nginx servis dosyas\u0131na (<code>\/etc\/systemd\/system\/nginx.service.d\/override.conf<\/code> gibi bir dosyada veya ana servis dosyas\u0131nda) ekleyebiliriz:<\/p>\n<pre><code class=\"language-ini\">\n# \/etc\/systemd\/system\/nginx.service.d\/override.conf\n[Unit]\nDescription=A high performance web server and a reverse proxy server\nAfter=network.target postgresql.service\nRequires=postgresql.service\n        <\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, Nginx&#8217;in (<code>nginx.service<\/code>) ba\u015flamadan \u00f6nce <code>postgresql.service<\/code>&#8216;in ve <code>network.target<\/code>&#8216;\u0131n aktif olmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, <code>Requires=postgresql.service<\/code> ile PostgreSQL servisi \u00e7al\u0131\u015fmazsa Nginx&#8217;in de ba\u015flamayaca\u011f\u0131n\u0131 garanti eder. Bu t\u00fcr ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, karma\u015f\u0131k sistemlerde servis ba\u015flatma s\u0131ras\u0131n\u0131 ve \u00e7al\u0131\u015fma zaman\u0131 ili\u015fkilerini do\u011fru bir \u015fekilde kurmak i\u00e7in hayati \u00f6neme sahiptir.<\/p>\n<h3>Maskeleme (Masking) ile Servisleri Devre D\u0131\u015f\u0131 B\u0131rakman\u0131n G\u00fc\u00e7l\u00fc Yolu<\/h3>\n<p>Bazen bir servisin asla ba\u015flamamas\u0131n\u0131 veya etkinle\u015ftirilmemesini istersiniz. <code>systemctl mask<\/code> komutu, bir servisi kal\u0131c\u0131 olarak devre d\u0131\u015f\u0131 b\u0131rakman\u0131n en g\u00fc\u00e7l\u00fc yoludur. Bu, servis dosyas\u0131na <code>\/dev\/null<\/code>&#8216;a i\u015faret eden bir sembolik ba\u011flant\u0131 olu\u015fturur, b\u00f6ylece Systemd onu bulamaz ve \u00e7al\u0131\u015ft\u0131rmay\u0131 reddeder:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl mask apache2.service<\/code><\/pre>\n<p>Maskelenmi\u015f bir servisi tekrar etkinle\u015ftirmek i\u00e7in <code>unmask<\/code> komutunu kullanman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl unmask apache2.service<\/code><\/pre>\n<p>Maskeleme, \u00f6zellikle kritik sistem servislerinin yanl\u0131\u015fl\u0131kla ba\u015flat\u0131lmas\u0131n\u0131 veya \u00fc\u00e7\u00fcnc\u00fc taraf yaz\u0131l\u0131mlar\u0131n istenmeyen servisleri etkinle\u015ftirmesini engellemek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p>Bu geli\u015fmi\u015f <code>systemctl<\/code> \u00f6zellikleri, Linux sistemleriniz \u00fczerinde tam kontrol sa\u011flaman\u0131za ve karma\u015f\u0131k senaryolarda bile servislerinizi g\u00fcvenilir bir \u015fekilde y\u00f6netmenize olanak tan\u0131r. Do\u011fru bir \u015fekilde kullan\u0131ld\u0131\u011f\u0131nda, bu ara\u00e7lar sistem kararl\u0131l\u0131\u011f\u0131n\u0131 art\u0131r\u0131r ve y\u00f6netim y\u00fck\u00fcn\u00fc azalt\u0131r.<\/p>\n<h2>Sistem G\u00fcnl\u00fcklerini systemctl ve journalctl ile Nas\u0131l \u0130zlersiniz?<\/h2>\n<p>Sistem ve uygulama sorunlar\u0131n\u0131 gidermenin, performans darbo\u011fazlar\u0131n\u0131 tespit etmenin ve g\u00fcvenlik olaylar\u0131n\u0131 izlemenin en kritik yollar\u0131ndan biri, sistem g\u00fcnl\u00fcklerini (logs) do\u011fru bir \u015fekilde incelemektir. Systemd, g\u00fcnl\u00fck y\u00f6netimini <code>journalctl<\/code> arac\u0131yla merkezi ve yap\u0131land\u0131r\u0131lm\u0131\u015f bir \u015fekilde ele al\u0131r. Bu, geleneksel <code>\/var\/log\/<\/code> dizinindeki da\u011f\u0131n\u0131k log dosyalar\u0131na k\u0131yasla \u00e7ok daha g\u00fc\u00e7l\u00fc ve esnek bir g\u00fcnl\u00fckleme deneyimi sunar.<\/p>\n<h3>journalctl Komutunun G\u00fcc\u00fc<\/h3>\n<p><code>journalctl<\/code>, Systemd&#8217;nin merkezi g\u00fcnl\u00fckleme sistemi olan Journal&#8217;dan g\u00fcnl\u00fckleri okumak i\u00e7in kullan\u0131l\u0131r. Journal, ikili formatta g\u00fcnl\u00fckleri saklar, bu da daha h\u0131zl\u0131 sorgulama ve daha iyi yap\u0131land\u0131r\u0131lm\u0131\u015f veriler sa\u011flar. Temel olarak, t\u00fcm sistem g\u00fcnl\u00fcklerini g\u00f6rmek i\u00e7in tek yapman\u0131z gereken:<\/p>\n<pre><code class=\"language-bash\">journalctl<\/code><\/pre>\n<p>Bu komut, t\u00fcm mevcut g\u00fcnl\u00fckleri en yeniden en eskiye do\u011fru sayfalayarak (<code>less<\/code> komutu gibi) g\u00f6sterir. Ancak, genellikle belirli g\u00fcnl\u00fckleri aramak istersiniz.<\/p>\n<h3>Servise \u00d6zel Loglar\u0131 Filtreleme<\/h3>\n<p>Belirli bir servisin g\u00fcnl\u00fcklerini g\u00f6rmek, o servisle ilgili sorunlar\u0131 te\u015fhis etmek i\u00e7in \u00e7ok \u00f6nemlidir. \u00d6rne\u011fin, <code>apache2.service<\/code>&#8216;in g\u00fcnl\u00fcklerini g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">journalctl -u apache2.service<\/code><\/pre>\n<p>E\u011fer sadece son birka\u00e7 sat\u0131r\u0131 g\u00f6rmek istiyorsan\u0131z, <code>-n<\/code> parametresini kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">journalctl -u apache2.service -n 50<\/code><\/pre>\n<h3>Zamana G\u00f6re Filtreleme<\/h3>\n<p>G\u00fcnl\u00fckleri belirli bir zaman aral\u0131\u011f\u0131na g\u00f6re filtrelemek, belirli bir olay veya hata zaman\u0131nda ne oldu\u011funu anlamak i\u00e7in \u00e7ok kullan\u0131\u015fl\u0131d\u0131r. <code>--since<\/code> ve <code>--until<\/code> parametrelerini kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">journalctl --since \"2023-10-26 10:00:00\" --until \"2023-10-26 11:00:00\"<\/code><\/pre>\n<p>Veya daha do\u011fal ifadeler kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">journalctl --since \"yesterday\"<\/code><\/pre>\n<pre><code class=\"language-bash\">journalctl --since \"1 hour ago\"<\/code><\/pre>\n<h3>Ger\u00e7ek Zamanl\u0131 \u0130zleme (<code class=\"language-\">-f<\/code>)<\/h3>\n<p>T\u0131pk\u0131 <code>tail -f<\/code> gibi, <code>journalctl -f<\/code> komutu da g\u00fcnl\u00fckleri ger\u00e7ek zamanl\u0131 olarak izlemenizi sa\u011flar. Bu, bir servisi ba\u015flat\u0131rken veya bir yap\u0131land\u0131rma de\u011fi\u015fikli\u011fi yaparken anl\u0131k geri bildirim almak i\u00e7in paha bi\u00e7ilmezdir:<\/p>\n<pre><code class=\"language-bash\">journalctl -f<\/code><\/pre>\n<p>Belirli bir servisin ger\u00e7ek zamanl\u0131 g\u00fcnl\u00fcklerini izlemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">journalctl -u apache2.service -f<\/code><\/pre>\n<h3>Log Boyutu Y\u00f6netimi<\/h3>\n<p>Journal, varsay\u0131lan olarak g\u00fcnl\u00fckleri belirli bir boyuta kadar tutar ve eski g\u00fcnl\u00fckleri otomatik olarak siler. Ancak bu davran\u0131\u015f\u0131 yap\u0131land\u0131rabilirsiniz. \u00d6rne\u011fin, g\u00fcnl\u00fckleri sadece son 7 g\u00fcn i\u00e7in saklamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo journalctl --vacuum-time=7d<\/code><\/pre>\n<p>Veya g\u00fcnl\u00fcklerin toplam boyutunu s\u0131n\u0131rlamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo journalctl --vacuum-size=1G<\/code><\/pre>\n<p>Bu komutlar, g\u00fcnl\u00fcklerin diskinizi doldurmas\u0131n\u0131 engellerken, sorun giderme i\u00e7in yeterli ge\u00e7mi\u015f veriyi tutman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<div class=\"expert-tip\">\n        Uzman \u0130pucu: <code>journalctl<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 daha okunabilir hale getirmek i\u00e7in <code>-o short-iso<\/code> (ISO format\u0131nda zaman damgas\u0131) veya <code>-o json<\/code> (makine taraf\u0131ndan okunabilir JSON format\u0131) gibi \u00e7\u0131kt\u0131 formatlar\u0131n\u0131 kullanabilirsiniz. Bu, \u00f6zellikle otomasyon betikleri veya harici g\u00fcnl\u00fck analiz ara\u00e7lar\u0131 ile entegrasyon i\u00e7in faydal\u0131d\u0131r.\n    <\/div>\n<h3>Mobil Uyumlu \u0130zleme Paneli Fikri<\/h3>\n<p>G\u00fcnl\u00fckleri ve sistem durumunu komut sat\u0131r\u0131ndan izlemek harika olsa da, baz\u0131 durumlarda web tabanl\u0131, mobil uyumlu bir panel tercih edilebilir. B\u00f6yle bir panel, <code>journalctl<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 parse ederek veya Systemd API&#8217;leri ile etkile\u015fime girerek verileri g\u00f6rselle\u015ftirebilir. \u00d6rne\u011fin, bir Systemd servisi i\u00e7in basit bir durum g\u00f6stergesi sunan bir web aray\u00fcz\u00fc, farkl\u0131 ekran boyutlar\u0131na uyum sa\u011flamak i\u00e7in CSS media query&#8217;lerini kullanabilir. \u0130\u015fte temel bir CSS media query \u00f6rne\u011fi:<\/p>\n<pre><code class=\"language-html\">\n&lt;style&gt;\n  .status-card {\n    width: 100%;\n    padding: 15px;\n    margin-bottom: 10px;\n    border: 1px solid #ccc;\n    box-sizing: border-box;\n  }\n\n  \/* Mobil cihazlar i\u00e7in stil *\/\n  @media (max-width: 768px) {\n    .status-card {\n      background-color: #f0f8ff; \/* A\u00e7\u0131k mavi arka plan *\/\n      font-size: 0.9em;\n    }\n  }\n\n  \/* Geni\u015f ekranlar i\u00e7in stil *\/\n  @media (min-width: 769px) {\n    .status-card {\n      background-color: #e0ffe0; \/* A\u00e7\u0131k ye\u015fil arka plan *\/\n      font-size: 1em;\n    }\n  }\n&lt;\/style&gt;\n\n&lt;div class=\"status-card\"&gt;\n  &lt;h3&gt;Apache2 Servis Durumu&lt;\/h3&gt;\n  &lt;p&gt;Durum: &lt;span style=\"color: green;\"&gt;Aktif&lt;\/span&gt;&lt;\/p&gt;\n  &lt;p&gt;Son Yeniden Ba\u015flatma: 2 dakika \u00f6nce&lt;\/p&gt;\n&lt;\/div&gt;\n        <\/code><\/pre>\n<p>Bu \u00f6rnek, bir durum kart\u0131n\u0131n farkl\u0131 ekran boyutlar\u0131nda nas\u0131l farkl\u0131 g\u00f6r\u00fcnebilece\u011fini g\u00f6stermektedir. Mobil cihazlarda arka plan rengi ve yaz\u0131 tipi boyutu de\u011fi\u015firken, daha geni\u015f ekranlarda farkl\u0131 bir stil uygulan\u0131r. Bu t\u00fcr bir yakla\u015f\u0131m, sistem y\u00f6neticilerinin hareket halindeyken bile \u00f6nemli g\u00fcnl\u00fckleri ve servis durumlar\u0131n\u0131 kolayca izlemesine olanak tan\u0131r, b\u00f6ylece Systemd ve <code>journalctl<\/code>&#8216;in sa\u011flad\u0131\u011f\u0131 verilere eri\u015fimi daha eri\u015filebilir hale getirir.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<h3>1. systemctl komutunu kullan\u0131rken <code class=\"language-\">sudo<\/code> neden gereklidir?<\/h3>\n<p>\u00c7o\u011fu <code>systemctl<\/code> komutu, sistem genelindeki servisleri y\u00f6netti\u011fi i\u00e7in root yetkileri gerektirir. Bir servisi ba\u015flatma, durdurma, etkinle\u015ftirme veya devre d\u0131\u015f\u0131 b\u0131rakma gibi i\u015flemler, sistemin kritik bile\u015fenlerini etkiledi\u011finden, k\u00f6t\u00fcye kullan\u0131m\u0131 veya yanl\u0131\u015f yap\u0131land\u0131rmay\u0131 \u00f6nlemek i\u00e7in bu yetki kontrol\u00fc uygulan\u0131r. Bu nedenle, bu t\u00fcr i\u015flemleri ger\u00e7ekle\u015ftirirken <code>sudo<\/code> (superuser do) kullanman\u0131z gerekir.<\/p>\n<h3>2. Bir servisin .service dosyas\u0131n\u0131 nas\u0131l bulabilirim veya d\u00fczenleyebilirim?<\/h3>\n<p>Servis dosyalar\u0131 genellikle <code>\/etc\/systemd\/system\/<\/code> veya <code>\/usr\/lib\/systemd\/system\/<\/code> dizinlerinde bulunur. Bir servisin tam yolunu bulmak i\u00e7in <code>systemctl status <servis_ad\u0131>.service<\/code> komutunu \u00e7al\u0131\u015ft\u0131rabilirsiniz; \u00e7\u0131kt\u0131 genellikle &#8220;Loaded&#8221; sat\u0131r\u0131nda dosyan\u0131n yolunu g\u00f6sterir. Servis dosyas\u0131n\u0131 d\u00fczenlemek i\u00e7in do\u011frudan bir metin d\u00fczenleyici kullanabilir veya <code>sudo systemctl edit <servis_ad\u0131>.service<\/code> komutunu kullanarak Systemd&#8217;nin \u00f6nerdi\u011fi \u015fekilde ge\u00e7ersiz k\u0131lma (override) dosyalar\u0131 olu\u015fturabilirsiniz. Bu y\u00f6ntem, orijinal dosyay\u0131 de\u011fi\u015ftirmeden de\u011fi\u015fiklik yapman\u0131z\u0131 sa\u011flar ve g\u00fcncelleme s\u0131ras\u0131nda \u00e7ak\u0131\u015fmalar\u0131 \u00f6nler.<\/p>\n<h3>3. systemctl ile bir servisi maskelemek ile devre d\u0131\u015f\u0131 b\u0131rakmak aras\u0131ndaki fark nedir?<\/h3>\n<p>Bir servisi <code>disable<\/code> etmek, onun sistem ba\u015flang\u0131c\u0131nda otomatik olarak \u00e7al\u0131\u015fmas\u0131n\u0131 engeller, ancak manuel olarak ba\u015flat\u0131labilir. <code>mask<\/code> etmek ise, servisi tamamen kullan\u0131lamaz hale getirir. Servis dosyas\u0131na <code>\/dev\/null<\/code>&#8216;a i\u015faret eden bir sembolik ba\u011flant\u0131 olu\u015fturur ve bu, servisin manuel olarak bile ba\u015flat\u0131lmas\u0131n\u0131 veya etkinle\u015ftirilmesini engeller. Maskeleme, bir servisin kesinlikle \u00e7al\u0131\u015fmamas\u0131n\u0131 istedi\u011finiz durumlarda (\u00f6rne\u011fin, g\u00fcvenlik nedenleriyle veya bir \u00e7ak\u0131\u015fmay\u0131 \u00f6nlemek i\u00e7in) kullan\u0131l\u0131r.<\/p>\n<h3>4. Systemd&#8217;de &#8220;target&#8221; birimi nedir ve runlevel&#8217;dan fark\u0131 nedir?<\/h3>\n<p>&#8220;Target&#8221; birimi, Systemd&#8217;de belirli bir sistem durumunu veya i\u015flevselli\u011fini temsil eden bir grup birimdir. Geleneksel SysVinit&#8217;teki &#8220;runlevel&#8221; kavram\u0131na benzer, ancak daha esnek ve mod\u00fclerdir. Runlevel&#8217;lar genellikle 0&#8217;dan 6&#8217;ya kadar numaraland\u0131r\u0131lm\u0131\u015f kat\u0131 durumlar iken, target&#8217;lar isim tabanl\u0131d\u0131r (\u00f6rn. <code>multi-user.target<\/code>, <code>graphical.target<\/code>) ve ayn\u0131 anda birden fazla target aktif olabilir. Target&#8217;lar, servisler ve di\u011fer birimler aras\u0131ndaki ba\u011f\u0131ml\u0131l\u0131klar\u0131 daha iyi y\u00f6neterek sistemin daha dinamik bir \u015fekilde ba\u015flat\u0131lmas\u0131n\u0131 ve \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>5. journalctl ile loglar\u0131 temizlemek veya boyutunu s\u0131n\u0131rlamak m\u00fcmk\u00fcn m\u00fc?<\/h3>\n<p>Evet, <code>journalctl<\/code> ile g\u00fcnl\u00fcklerin boyutunu y\u00f6netmek m\u00fcmk\u00fcnd\u00fcr. <code>sudo journalctl --vacuum-size=<boyut><\/code> (\u00f6rn. <code>--vacuum-size=1G<\/code>) komutuyla g\u00fcnl\u00fcklerin toplam boyutunu s\u0131n\u0131rlayabilir veya <code>sudo journalctl --vacuum-time=<s\u00fcre><\/code> (\u00f6rn. <code>--vacuum-time=30d<\/code>) komutuyla belirli bir s\u00fcreden daha eski g\u00fcnl\u00fckleri silebilirsiniz. Bu komutlar, diskinizi doldurmas\u0131n\u0131 engellerken, sorun giderme i\u00e7in yeterli g\u00fcnl\u00fck ge\u00e7mi\u015fini koruman\u0131za yard\u0131mc\u0131 olur. Bu i\u015flemler, genellikle sistem y\u00f6neticileri taraf\u0131ndan d\u00fczenli bak\u0131m g\u00f6revleri olarak yap\u0131l\u0131r.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Systemctl ile Systemd Hizmet Y\u00f6netimi: Kapsaml\u0131 Linux Rehberi Linux sunucular\u0131n\u0131zda servisleri y\u00f6netmek, sistem kararl\u0131l\u0131\u011f\u0131 ve performans\u0131 i\u00e7in kritik&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-38370","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?<\/title>\n<meta name=\"description\" content=\"Linux sunucular\u0131n\u0131zda servisleri y\u00f6netmek, sistem kararl\u0131l\u0131\u011f\u0131 ve performans\u0131 i\u00e7in kritik bir beceridir. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen d\u00fcnyada Systemd ve onun ana arac\u0131 systemctl ile servisleri nas\u0131l etkin bir \u015fekilde kontrol edebilirsiniz? Bu rehber, ba\u015flang\u0131\u00e7 seviyesinden ileri d\u00fczeye kadar systemctl komutlar\u0131n\u0131 kullanarak Linux sistemlerinizde servisleri ba\u015flatma, durdurma, durumunu sorgulama ve otomatikle\u015ftirme s\u00fcre\u00e7lerini ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece sistem y\u00f6netimi becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131yacaks\u0131n\u0131z.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?\" \/>\n<meta property=\"og:description\" content=\"Linux sunucular\u0131n\u0131zda servisleri y\u00f6netmek, sistem kararl\u0131l\u0131\u011f\u0131 ve performans\u0131 i\u00e7in kritik bir beceridir. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen d\u00fcnyada Systemd ve onun ana arac\u0131 systemctl ile servisleri nas\u0131l etkin bir \u015fekilde kontrol edebilirsiniz? Bu rehber, ba\u015flang\u0131\u00e7 seviyesinden ileri d\u00fczeye kadar systemctl komutlar\u0131n\u0131 kullanarak Linux sistemlerinizde servisleri ba\u015flatma, durdurma, durumunu sorgulama ve otomatikle\u015ftirme s\u00fcre\u00e7lerini ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece sistem y\u00f6netimi becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131yacaks\u0131n\u0131z.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-29T17:20:51+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?\",\"datePublished\":\"2026-01-29T17:20:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/\"},\"wordCount\":3353,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/\",\"name\":\"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-29T17:20:51+00:00\",\"description\":\"Linux sunucular\u0131n\u0131zda servisleri y\u00f6netmek, sistem kararl\u0131l\u0131\u011f\u0131 ve performans\u0131 i\u00e7in kritik bir beceridir. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen d\u00fcnyada Systemd ve onun ana arac\u0131 systemctl ile servisleri nas\u0131l etkin bir \u015fekilde kontrol edebilirsiniz? Bu rehber, ba\u015flang\u0131\u00e7 seviyesinden ileri d\u00fczeye kadar systemctl komutlar\u0131n\u0131 kullanarak Linux sistemlerinizde servisleri ba\u015flatma, durdurma, durumunu sorgulama ve otomatikle\u015ftirme s\u00fcre\u00e7lerini ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece sistem y\u00f6netimi becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131yacaks\u0131n\u0131z.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?","description":"Linux sunucular\u0131n\u0131zda servisleri y\u00f6netmek, sistem kararl\u0131l\u0131\u011f\u0131 ve performans\u0131 i\u00e7in kritik bir beceridir. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen d\u00fcnyada Systemd ve onun ana arac\u0131 systemctl ile servisleri nas\u0131l etkin bir \u015fekilde kontrol edebilirsiniz? Bu rehber, ba\u015flang\u0131\u00e7 seviyesinden ileri d\u00fczeye kadar systemctl komutlar\u0131n\u0131 kullanarak Linux sistemlerinizde servisleri ba\u015flatma, durdurma, durumunu sorgulama ve otomatikle\u015ftirme s\u00fcre\u00e7lerini ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece sistem y\u00f6netimi becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131yacaks\u0131n\u0131z.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/","og_locale":"tr_TR","og_type":"article","og_title":"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?","og_description":"Linux sunucular\u0131n\u0131zda servisleri y\u00f6netmek, sistem kararl\u0131l\u0131\u011f\u0131 ve performans\u0131 i\u00e7in kritik bir beceridir. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen d\u00fcnyada Systemd ve onun ana arac\u0131 systemctl ile servisleri nas\u0131l etkin bir \u015fekilde kontrol edebilirsiniz? Bu rehber, ba\u015flang\u0131\u00e7 seviyesinden ileri d\u00fczeye kadar systemctl komutlar\u0131n\u0131 kullanarak Linux sistemlerinizde servisleri ba\u015flatma, durdurma, durumunu sorgulama ve otomatikle\u015ftirme s\u00fcre\u00e7lerini ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece sistem y\u00f6netimi becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131yacaks\u0131n\u0131z.","og_url":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-29T17:20:51+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?","datePublished":"2026-01-29T17:20:51+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/"},"wordCount":3353,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/","url":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/","name":"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-29T17:20:51+00:00","description":"Linux sunucular\u0131n\u0131zda servisleri y\u00f6netmek, sistem kararl\u0131l\u0131\u011f\u0131 ve performans\u0131 i\u00e7in kritik bir beceridir. Peki, bu karma\u015f\u0131k g\u00f6r\u00fcnen d\u00fcnyada Systemd ve onun ana arac\u0131 systemctl ile servisleri nas\u0131l etkin bir \u015fekilde kontrol edebilirsiniz? Bu rehber, ba\u015flang\u0131\u00e7 seviyesinden ileri d\u00fczeye kadar systemctl komutlar\u0131n\u0131 kullanarak Linux sistemlerinizde servisleri ba\u015flatma, durdurma, durumunu sorgulama ve otomatikle\u015ftirme s\u00fcre\u00e7lerini ad\u0131m ad\u0131m a\u00e7\u0131klayacak, b\u00f6ylece sistem y\u00f6netimi becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131yacaks\u0131n\u0131z.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/linux-sistem-yonetiminde-neden-systemd-ve-systemctl-hayati-oneme-sahip\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Linux Sistem Y\u00f6netiminde Neden Systemd ve systemctl Hayati \u00d6neme Sahip?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38370"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38370\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}