{"id":32313,"date":"2025-10-20T08:41:46","date_gmt":"2025-10-20T05:41:46","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=32313"},"modified":"2025-10-20T08:41:46","modified_gmt":"2025-10-20T05:41:46","slug":"etckeeper-nedir-ve-neden-kullanmaliyiz","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/","title":{"rendered":"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z?"},"content":{"rendered":"<p><body><\/p>\n<p>Sunucu y\u00f6netimi, sistem kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenli\u011fi a\u00e7\u0131s\u0131ndan kritik bir dizi g\u00f6revi i\u00e7erir. Bu g\u00f6revlerden biri de sistem yap\u0131land\u0131rma dosyalar\u0131n\u0131n bulundu\u011fu <code>\/etc<\/code> dizininin etkin bir \u015fekilde y\u00f6netilmesidir. Yanl\u0131\u015f yap\u0131lan bir de\u011fi\u015fiklik, bir g\u00fcncelleme veya hatal\u0131 yap\u0131land\u0131rma, sistemin \u00e7al\u0131\u015fmas\u0131n\u0131 durdurabilir veya g\u00fcvenlik a\u00e7\u0131klar\u0131na yol a\u00e7abilir. Bu t\u00fcr sorunlar\u0131 \u00f6nlemek, h\u0131zl\u0131ca geri almak ve yap\u0131lan de\u011fi\u015fiklikleri izlemek i\u00e7in versiyon kontrol sistemleri (VCS) vazge\u00e7ilmezdir.<\/p>\n<p><code>\/etc<\/code> dizinini versiyon kontrol\u00fc alt\u0131na almak i\u00e7in \u00f6zel olarak tasarlanm\u0131\u015f ara\u00e7lardan biri de Etckeeper&#8217;d\u0131r. Bu rehberde, CentOS 7 \u00fczerinde Etckeeper kullanarak <code>\/etc<\/code> dizinini nas\u0131l y\u00f6netece\u011finizi, kurulumdan temel kullan\u0131ma ve geli\u015fmi\u015f senaryolara kadar ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h2>Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z?<\/h2>\n<p><code>\/etc<\/code> dizini, Linux sistemlerinin kalbi gibidir; a\u011f yap\u0131land\u0131rmalar\u0131ndan kullan\u0131c\u0131 kimlik do\u011frulamalar\u0131na, servis ayarlar\u0131ndan g\u00fcvenlik politikalar\u0131na kadar her \u015fey burada saklan\u0131r. Bu dosyalar\u0131n yanl\u0131\u015fl\u0131kla silinmesi, bozulmas\u0131 veya hatal\u0131 bir \u015fekilde de\u011fi\u015ftirilmesi ciddi sorunlara yol a\u00e7abilir. Genellikle, bir sistem y\u00f6neticisi bir de\u011fi\u015fikli\u011fi geri almak istedi\u011finde, ya manuel yedeklere g\u00fcvenir ya da sorunu s\u0131f\u0131rdan \u00e7\u00f6zmeye \u00e7al\u0131\u015f\u0131r ki bu da zaman al\u0131c\u0131 ve hataya a\u00e7\u0131k bir s\u00fcre\u00e7tir.<\/p>\n<p>Etckeeper, bu sorunu \u00e7\u00f6zmek i\u00e7in tasarlanm\u0131\u015f basit ama g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Temel olarak, <code>\/etc<\/code> dizinini se\u00e7ti\u011finiz bir versiyon kontrol sistemi (Git, Mercurial, Bazaar veya Darcs) alt\u0131na al\u0131r. Etckeeper&#8217;\u0131n ana \u00f6zellikleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Otomatik De\u011fi\u015fiklik Takibi:<\/strong> <code>yum<\/code> gibi paket y\u00f6neticileriyle entegre \u00e7al\u0131\u015farak, paket kurulumu, g\u00fcncellemesi veya kald\u0131r\u0131lmas\u0131 s\u0131ras\u0131nda <code>\/etc<\/code> dizinindeki de\u011fi\u015fiklikleri otomatik olarak kaydeder.<\/li>\n<li><strong>Kolay Geri Alma:<\/strong> Yanl\u0131\u015f yap\u0131lan bir de\u011fi\u015fikli\u011fi veya bozuk bir yap\u0131land\u0131rma dosyas\u0131n\u0131 \u00f6nceki bir s\u00fcr\u00fcme kolayca geri d\u00f6nd\u00fcrme imkan\u0131 sunar.<\/li>\n<li><strong>De\u011fi\u015fiklik Ge\u00e7mi\u015fi:<\/strong> Kimin, ne zaman ve hangi dosyada ne t\u00fcr bir de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131 detayl\u0131 bir \u015fekilde g\u00f6rmenizi sa\u011flar.<\/li>\n<li><strong>\u00c7at\u0131\u015fma \u00c7\u00f6z\u00fcm\u00fc:<\/strong> Birden fazla y\u00f6neticinin ayn\u0131 dosyalar \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131 durumlarda, VCS&#8217;nin \u00e7at\u0131\u015fma \u00e7\u00f6zme yeteneklerinden faydalan\u0131r.<\/li>\n<\/ul>\n<p>CentOS 7 gibi \u00fcretim ortamlar\u0131nda yayg\u0131n olarak kullan\u0131lan bir sunucu i\u015fletim sisteminde Etckeeper kullanmak, sistem yap\u0131land\u0131rma y\u00f6netimini profesyonel bir seviyeye ta\u015f\u0131r, hata olas\u0131l\u0131\u011f\u0131n\u0131 azalt\u0131r ve problem \u00e7\u00f6zme s\u00fcre\u00e7lerini h\u0131zland\u0131r\u0131r.<\/p>\n<h2>CentOS 7 \u00dczerine Etckeeper Kurulumu<\/h2>\n<p>Etckeeper&#8217;\u0131 CentOS 7 sisteminize kurmak olduk\u00e7a basittir. Ba\u015flamadan \u00f6nce, Etckeeper&#8217;\u0131n kullanaca\u011f\u0131 bir versiyon kontrol sisteminin (genellikle Git) kurulu oldu\u011fundan emin olmal\u0131s\u0131n\u0131z.<\/p>\n<h3>\u00d6n Ko\u015fullar: Git Kurulumu<\/h3>\n<p>CentOS 7&#8217;de Git varsay\u0131lan olarak y\u00fckl\u00fc gelmeyebilir. E\u011fer y\u00fckl\u00fc de\u011filse, a\u015fa\u011f\u0131daki komutla kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo yum install git -y<\/code><\/pre>\n<h3>Etckeeper Kurulumu<\/h3>\n<p>Git kurulu olduktan sonra, Etckeeper paketini <code>yum<\/code> kullanarak kurabiliriz:<\/p>\n<pre><code class=\"language-bash\">sudo yum install etckeeper -y<\/code><\/pre>\n<h3>Etckeeper Ba\u015flang\u0131\u00e7 Yap\u0131land\u0131rmas\u0131 ve \u0130lk Commit<\/h3>\n<p>Etckeeper kurulduktan sonra, <code>\/etc<\/code> dizinini versiyon kontrol\u00fc alt\u0131na almas\u0131 i\u00e7in ilk ba\u015flatma i\u015flemini yapmam\u0131z gerekiyor. Bu i\u015flem, Etckeeper&#8217;\u0131n <code>\/etc<\/code> dizininde bir Git deposu (repository) olu\u015fturmas\u0131n\u0131 ve mevcut t\u00fcm dosyalar\u0131n ilk commit&#8217;ini yapmas\u0131n\u0131 sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo etckeeper init<\/code><\/pre>\n<p>Bu komut, <code>\/etc\/.git<\/code> dizinini olu\u015fturacak ve <code>\/etc<\/code> alt\u0131ndaki t\u00fcm mevcut dosyalar\u0131 ilk commit olarak kaydedecektir. Bu i\u015flemi takiben, Etckeeper yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenleyerek baz\u0131 ayarlar\u0131 \u00f6zelle\u015ftirebilirsiniz.<\/p>\n<h3>Etckeeper Yap\u0131land\u0131rma Dosyas\u0131<\/h3>\n<p>Etckeeper&#8217;\u0131n ana yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/etckeeper\/etckeeper.conf<\/code>&#8216;tur. Bu dosyay\u0131 bir metin d\u00fczenleyici ile a\u00e7arak (\u00f6rne\u011fin <code>vi<\/code> veya <code>nano<\/code>) baz\u0131 \u00f6nemli ayarlar\u0131 g\u00f6zden ge\u00e7irebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo vi \/etc\/etckeeper\/etckeeper.conf<\/code><\/pre>\n<p>Bu dosyada dikkat etmeniz gereken ba\u015fl\u0131ca ayarlar \u015funlard\u0131r:<\/p>\n<ul>\n<li><code>VCS=\"git\"<\/code>: Kullan\u0131lacak versiyon kontrol sistemini belirtir. Varsay\u0131lan olarak Git&#8217;tir ve genellikle de\u011fi\u015ftirmeye gerek yoktur.<\/li>\n<li><code>AVOID_DAILY_AUTOCOMMITS=\"1\"<\/code>: G\u00fcnl\u00fck otomatik commit&#8217;leri devre d\u0131\u015f\u0131 b\u0131rak\u0131r. E\u011fer cron i\u015fi ile manuel kontrol sa\u011flamak isterseniz kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<li><code>AVOID_COMMIT_BEFORE_INSTALL=\"0\"<\/code>: Paket y\u00fckleme\/g\u00fcncelleme \u00f6ncesi otomatik commit&#8217;i etkinle\u015ftirir (varsay\u0131lan). Bu ayar\u0131n <code>0<\/code> kalmas\u0131 \u00f6nemlidir.<\/li>\n<li><code>AVOID_COMMIT_AFTER_INSTALL=\"0\"<\/code>: Paket y\u00fckleme\/g\u00fcncelleme sonras\u0131 otomatik commit&#8217;i etkinle\u015ftirir (varsay\u0131lan). Bu ayar\u0131n <code>0<\/code> kalmas\u0131 \u00f6nemlidir.<\/li>\n<\/ul>\n<p>Genellikle varsay\u0131lan ayarlar \u00e7o\u011fu kullan\u0131m durumu i\u00e7in yeterlidir. Ancak, belirli dosyalar\u0131 Etckeeper&#8217;\u0131n izlemesini istemiyorsan\u0131z, <code>.gitignore<\/code> dosyas\u0131na ekleme yapman\u0131z gerekecektir. Etckeeper, <code>\/etc\/.gitignore<\/code> dosyas\u0131n\u0131 kullan\u0131r. \u00d6rne\u011fin, hassas veriler i\u00e7eren veya s\u00fcrekli de\u011fi\u015fen log dosyalar\u0131 gibi dosyalar\u0131 bu listeye ekleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo vi \/etc\/.gitignore<\/code><\/pre>\n<p>\u00d6rnek bir <code>.gitignore<\/code> girdisi:<\/p>\n<pre><code class=\"language-bash\"># \/etc\/.gitignore\n<h2>Bu dosyaya Etckeeper taraf\u0131ndan izlenmesini istemedi\u011finiz dosyalar\u0131 ekleyin.<\/h2>\n\/ssh\/ssh_host_*_key # SSH anahtarlar\u0131\n\/random-seed # Rastgele \u00e7ekirdek dosyas\u0131\n\/lvm\/cache\/.cache # LVM \u00f6nbellek dosyalar\u0131<\/code><\/pre>\n<p>Unutmay\u0131n, <code>.gitignore<\/code> sadece Git&#8217;in bu dosyalar\u0131 izlemesini engeller, onlar\u0131 silmez veya yedeklemez.<\/p>\n<h2>Etckeeper ile <code>\/etc<\/code> Y\u00f6netimi ve Temel Komutlar<\/h2>\n<p>Etckeeper&#8217;\u0131n en b\u00fcy\u00fck avantaj\u0131, <code>yum<\/code> gibi paket y\u00f6neticileriyle entegrasyonudur. Bir paket y\u00fckledi\u011finizde, g\u00fcncelledi\u011finizde veya kald\u0131rd\u0131\u011f\u0131n\u0131zda, Etckeeper otomatik olarak <code>\/etc<\/code> dizinindeki de\u011fi\u015fiklikleri alg\u0131lar ve commit eder. Bu, manuel m\u00fcdahaleye gerek kalmadan yap\u0131land\u0131rma ge\u00e7mi\u015fini koruman\u0131z\u0131 sa\u011flar.<\/p>\n<h3>Otomatik Commit&#8217;ler<\/h3>\n<p>\u00d6rne\u011fin, bir paket y\u00fckledi\u011finizde:<\/p>\n<pre><code class=\"language-bash\">sudo yum install httpd -y<\/code><\/pre>\n<p>Bu komut \u00e7al\u0131\u015ft\u0131ktan sonra, Etckeeper <code>httpd<\/code> paketinin <code>\/etc<\/code> dizininde yapt\u0131\u011f\u0131 t\u00fcm de\u011fi\u015fiklikleri otomatik olarak bir Git commit&#8217;i olarak kaydedecektir. Commit mesaj\u0131 genellikle &#8220;<code>committing changes in \/etc before yum install httpd<\/code>&#8221; ve &#8220;<code>committing changes in \/etc after yum install httpd<\/code>&#8221; \u015feklinde olacakt\u0131r.<\/p>\n<h3>Manuel Commit Yapma<\/h3>\n<p>Paket y\u00f6neticisi kullanmadan elle bir yap\u0131land\u0131rma de\u011fi\u015fikli\u011fi yapt\u0131\u011f\u0131n\u0131zda, bu de\u011fi\u015fikli\u011fi Etckeeper&#8217;a manuel olarak kaydetmeniz \u00f6nemlidir. Bu, standart Git komutlar\u0131 kullan\u0131larak yap\u0131l\u0131r, ancak <code>etckeeper commit<\/code> komutunu kullanmak daha g\u00fcvenlidir \u00e7\u00fcnk\u00fc Etckeeper&#8217;\u0131n kendi \u00f6n\/son kancalar\u0131n\u0131 tetikler.<\/p>\n<p>Bir dosya \u00fczerinde de\u011fi\u015fiklik yapt\u0131ktan sonra (\u00f6rne\u011fin <code>\/etc\/ssh\/sshd_config<\/code>):<\/p>\n<pre><code class=\"language-bash\">sudo vi \/etc\/ssh\/sshd_config<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydetmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo etckeeper commit -m \"SSHd yap\u0131land\u0131rmas\u0131 g\u00fcncellendi: PasswordAuthentication devre d\u0131\u015f\u0131 b\u0131rak\u0131ld\u0131.\"<\/code><\/pre>\n<p><code>etckeeper commit<\/code> komutu, asl\u0131nda <code>git add -A .<\/code> ve ard\u0131ndan <code>git commit<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131r, ancak Etckeeper&#8217;\u0131n \u00f6zel filtrelerini ve kancalar\u0131n\u0131 kullanarak daha g\u00fcvenli bir commit i\u015flemi sa\u011flar.<\/p>\n<h3>De\u011fi\u015fiklik Ge\u00e7mi\u015fini G\u00f6r\u00fcnt\u00fcleme<\/h3>\n<p>Yap\u0131lan t\u00fcm commit&#8217;leri ve mesajlar\u0131n\u0131 g\u00f6rmek i\u00e7in <code>git log<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo git log<\/code><\/pre>\n<p>Belirli bir dosyan\u0131n ge\u00e7mi\u015fini g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo git log \/etc\/ssh\/sshd_config<\/code><\/pre>\n<h3>Dosya Farklar\u0131n\u0131 G\u00f6r\u00fcnt\u00fcleme<\/h3>\n<p>Mevcut \u00e7al\u0131\u015fma dizinindeki de\u011fi\u015fiklikleri son commit ile kar\u015f\u0131la\u015ft\u0131rmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo git diff<\/code><\/pre>\n<p>Belirli bir commit ile \u00f6nceki commit aras\u0131ndaki farklar\u0131 g\u00f6rmek i\u00e7in (commit ID&#8217;sini <code>git log<\/code> \u00e7\u0131kt\u0131s\u0131ndan alabilirsiniz):<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo git diff <commit_id_1> <commit_id_2><\/code><\/pre>\n<h3>Dosyalar\u0131 Geri Y\u00fckleme (Rollback)<\/h3>\n<p>Yanl\u0131\u015fl\u0131kla de\u011fi\u015ftirdi\u011finiz veya bozdu\u011funuz bir dosyay\u0131 son commit&#8217;teki haline geri d\u00f6nd\u00fcrmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo git checkout -- \/etc\/ssh\/sshd_config<\/code><\/pre>\n<p>Bir dosyay\u0131 belirli bir commit&#8217;teki haline geri d\u00f6nd\u00fcrmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo git checkout <commit_id> -- \/etc\/ssh\/sshd_config<\/code><\/pre>\n<p>T\u00fcm <code>\/etc<\/code> dizinini belirli bir commit&#8217;teki haline d\u00f6nd\u00fcrmek \u00e7ok daha riskli bir i\u015flemdir ve genellikle sadece sistemin tamamen bozuldu\u011fu ve geri y\u00fckleme gerektirdi\u011fi durumlarda d\u00fc\u015f\u00fcn\u00fclmelidir. Bu i\u015flemi yapmadan \u00f6nce mutlaka kapsaml\u0131 bir yedek al\u0131n:<\/p>\n<pre><code class=\"language-bash\"># D\u0130KKAT: Bu komut t\u00fcm \/etc dizinini belirtilen commit'e geri d\u00f6nd\u00fcr\u00fcr.\n<h2>Kullanmadan \u00f6nce mutlaka tam bir yedek al\u0131n!<\/h2>\ncd \/etc\nsudo git reset --hard <commit_id><\/code><\/pre>\n<h2>Geli\u015fmi\u015f Kullan\u0131m Senaryolar\u0131 ve En \u0130yi Uygulamalar<\/h2>\n<p>Etckeeper, temel i\u015flevlerinin \u00f6tesinde, sunucu y\u00f6netimini daha da kolayla\u015ft\u0131rmak i\u00e7in \u00e7e\u015fitli geli\u015fmi\u015f senaryolarda kullan\u0131labilir.<\/p>\n<h3>Uzak Depo (Remote Repository) Entegrasyonu<\/h3>\n<p><code>\/etc<\/code> dizinindeki Git deposunu uzak bir sunucuya (\u00f6rne\u011fin bir GitLab, GitHub veya Gitea sunucusuna) push etmek, yap\u0131land\u0131rma dosyalar\u0131n\u0131z i\u00e7in harici bir yedekleme ve merkezi bir y\u00f6netim noktas\u0131 sa\u011flar. Bu, felaket kurtarma durumlar\u0131nda veya birden fazla sunucuyu benzer yap\u0131land\u0131rmalarla y\u00f6netirken \u00e7ok faydal\u0131d\u0131r.<\/p>\n<p>\u00d6nce, uzak depoyu ekleyin:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo git remote add origin git@your-git-server.com:your-organization\/etc-repo.git<\/code><\/pre>\n<p>Ard\u0131ndan, de\u011fi\u015fiklikleri uzak depoya push edin:<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo git push -u origin master<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 ger\u00e7ekle\u015ftirmeden \u00f6nce, Git sunucunuzda SSH anahtarlar\u0131n\u0131n do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan ve <code>\/etc<\/code> deposunun olu\u015fturuldu\u011fundan emin olun.<\/p>\n<h3>D\u00fczenli Commit&#8217;ler \u0130\u00e7in Cron \u0130\u015fleri<\/h3>\n<p>Etckeeper, paket y\u00f6neticileriyle otomatik commit yapsa da, manuel yap\u0131lan de\u011fi\u015fiklikleri veya paket y\u00f6neticisi kullan\u0131lmadan yap\u0131lan ayar g\u00fcncellemelerini yakalamak i\u00e7in g\u00fcnl\u00fck veya haftal\u0131k otomatik commit&#8217;ler ayarlamak iyi bir uygulamad\u0131r. Etckeeper, bunun i\u00e7in \u00f6zel bir cron beti\u011fi sa\u011flar.<\/p>\n<p>Varsay\u0131lan olarak, Etckeeper&#8217;\u0131n g\u00fcnl\u00fck commit cron i\u015fi etkin de\u011fildir (<code>AVOID_DAILY_AUTOCOMMITS=\"1\"<\/code>). E\u011fer bu \u00f6zelli\u011fi etkinle\u015ftirmek isterseniz, <code>\/etc\/etckeeper\/etckeeper.conf<\/code> dosyas\u0131ndaki <code>AVOID_DAILY_AUTOCOMMITS<\/code> sat\u0131r\u0131n\u0131 <code>\"0\"<\/code> olarak de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-bash\"># \/etc\/etckeeper\/etckeeper.conf\nAVOID_DAILY_AUTOCOMMITS=\"0\"<\/code><\/pre>\n<p>Bu ayar, Etckeeper&#8217;\u0131n <code>\/etc\/cron.daily\/etckeeper<\/code> beti\u011fini \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Hassas Verilerin Y\u00f6netimi<\/h3>\n<p><code>\/etc<\/code> dizini genellikle veritaban\u0131 \u015fifreleri, API anahtarlar\u0131 gibi hassas bilgiler i\u00e7erebilir. Bu t\u00fcr bilgileri do\u011frudan bir Git deposuna commit etmek g\u00fcvenlik riski ta\u015f\u0131r. En iyi uygulamalar \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong><code>.gitignore<\/code> Kullan\u0131m\u0131:<\/strong> Hassas verileri i\u00e7eren dosyalar\u0131 <code>\/etc\/.gitignore<\/code> dosyas\u0131na ekleyerek Git&#8217;in izlemesini engelleyin. Ancak bu, dosyan\u0131n kendisinin yedeklenmedi\u011fi anlam\u0131na gelir.<\/li>\n<li><strong>\u015eifreleme:<\/strong> Hassas verileri i\u00e7eren dosyalar\u0131 \u015fifreleyin (\u00f6rne\u011fin Ansible Vault, HashiCorp Vault gibi ara\u00e7larla) ve sadece \u015fifreli hallerini Git&#8217;e commit edin.<\/li>\n<li><strong>Ortam De\u011fi\u015fkenleri\/Harici Sistemler:<\/strong> M\u00fcmk\u00fcnse hassas bilgileri <code>\/etc<\/code> d\u0131\u015f\u0131ndaki g\u00fcvenli bir yerden (\u00f6rne\u011fin ortam de\u011fi\u015fkenleri veya \u00f6zel bir s\u0131r y\u00f6netimi sistemi) al\u0131n.<\/li>\n<\/ul>\n<h3>De\u011fi\u015fikliklerin D\u00fczenli \u0130ncelenmesi<\/h3>\n<p><code>\/etc<\/code> dizinindeki de\u011fi\u015fiklikleri d\u00fczenli olarak g\u00f6zden ge\u00e7irmek, yetkisiz veya istenmeyen de\u011fi\u015fiklikleri erken tespit etmenizi sa\u011flar. \u00d6zellikle uzak bir depoya push yap\u0131l\u0131yorsa, commit ge\u00e7mi\u015fini periyodik olarak kontrol etmek \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">cd \/etc\nsudo git log --stat<\/code><\/pre>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Etckeeper, CentOS 7 sunucular\u0131n\u0131zda <code>\/etc<\/code> dizini y\u00f6netimini basitle\u015ftiren ve g\u00fcvenli\u011fini art\u0131ran paha bi\u00e7ilmez bir ara\u00e7t\u0131r. Kurulumu kolayd\u0131r, paket y\u00f6neticileriyle sorunsuz entegre olur ve herhangi bir yap\u0131land\u0131rma de\u011fi\u015fikli\u011fini izlemenizi, geri alman\u0131z\u0131 ve analiz etmenizi sa\u011flar. Bu sayede, sistem kararl\u0131l\u0131\u011f\u0131n\u0131 korurken olas\u0131 hatalar\u0131 h\u0131zl\u0131ca d\u00fczeltebilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>S: Etckeeper hangi Versiyon Kontrol Sistemlerini (VCS) destekler?<\/strong><br \/>\nC: Etckeeper; Git, Mercurial (hg), Bazaar (bzr) ve Darcs&#8217;\u0131 destekler. Varsay\u0131lan olarak Git kullan\u0131l\u0131r ve en yayg\u0131n tercih edilen se\u00e7enektir.<\/p>\n<p><strong>S: Etckeeper sadece <code>yum<\/code> ile mi \u00e7al\u0131\u015f\u0131r?<\/strong><br \/>\nC: CentOS 7&#8217;de ana paket y\u00f6neticisi <code>yum<\/code> oldu\u011fu i\u00e7in onunla entegre \u00e7al\u0131\u015f\u0131r. Di\u011fer Linux da\u011f\u0131t\u0131mlar\u0131nda <code>apt<\/code> veya <code>dnf<\/code> gibi paket y\u00f6neticileriyle de sorunsuz \u00e7al\u0131\u015f\u0131r.<\/p>\n<p><strong>S: Etckeeper t\u00fcm <code>\/etc<\/code> dizinini mi izler?<\/strong><br \/>\nC: Evet, Etckeeper varsay\u0131lan olarak <code>\/etc<\/code> dizininin tamam\u0131n\u0131 izler. Ancak, <code>\/etc\/.gitignore<\/code> dosyas\u0131na eklemeler yaparak belirli dosya veya dizinleri izleme d\u0131\u015f\u0131 b\u0131rakabilirsiniz.<\/p>\n<p><strong>S: Hassas bilgileri (\u015fifreler vb.) nas\u0131l y\u00f6netmeliyim?<\/strong><br \/>\nC: Hassas bilgileri i\u00e7eren dosyalar\u0131 do\u011frudan Git deposuna commit etmekten ka\u00e7\u0131n\u0131n. Bunlar\u0131 <code>\/etc\/.gitignore<\/code> dosyas\u0131na ekleyebilir veya Ansible Vault gibi ara\u00e7larla \u015fifreleyerek Git&#8217;e \u015fifreli hallerini kaydedebilirsiniz.<\/p>\n<p><strong>S: Bir dosyay\u0131 \u00f6nceki bir s\u00fcr\u00fcme nas\u0131l geri y\u00fcklerim?<\/strong><br \/>\nC: <code>cd \/etc<\/code> dizinine giderek ve <code>sudo git checkout -- <dosya_yolu><\/code> komutunu kullanarak dosyay\u0131 son commit&#8217;teki haline geri y\u00fckleyebilirsiniz. Belirli bir commit&#8217;e geri d\u00f6nmek i\u00e7in <code>sudo git checkout <commit_id> -- <dosya_yolu><\/code> kullan\u0131n.<\/p>\n<p><strong>S: Etckeeper bir yedekleme \u00e7\u00f6z\u00fcm\u00fc m\u00fcd\u00fcr?<\/strong><br \/>\nC: Hay\u0131r, Etckeeper bir tam sistem yedekleme \u00e7\u00f6z\u00fcm\u00fc de\u011fildir. Sadece <code>\/etc<\/code> dizinindeki yap\u0131land\u0131rma dosyalar\u0131n\u0131n versiyon kontrol\u00fcn\u00fc ve ge\u00e7mi\u015fini sa\u011flar. Tam bir sistem yedeklemesi i\u00e7in ba\u015fka ara\u00e7lar (\u00f6rne\u011fin <code>rsync<\/code>, <code>tar<\/code>, disk g\u00f6r\u00fcnt\u00fcleme ara\u00e7lar\u0131) kullanman\u0131z gerekir. Etckeeper, yap\u0131land\u0131rma yedeklemesinin \u00f6nemli bir par\u00e7as\u0131d\u0131r.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Sunucu y\u00f6netimi, sistem kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenli\u011fi a\u00e7\u0131s\u0131ndan kritik bir dizi g\u00f6revi i\u00e7erir. Bu g\u00f6revlerden biri de sistem yap\u0131land\u0131rma","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":[1],"tags":[],"class_list":{"0":"post-32313","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\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\/etckeeper-nedir-ve-neden-kullanmaliyiz\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z?\" \/>\n<meta property=\"og:description\" content=\"Sunucu y\u00f6netimi, sistem kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenli\u011fi a\u00e7\u0131s\u0131ndan kritik bir dizi g\u00f6revi i\u00e7erir. Bu g\u00f6revlerden biri de sistem yap\u0131land\u0131rma\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-20T05:41:46+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=\"11 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z?\",\"datePublished\":\"2025-10-20T05:41:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/\"},\"wordCount\":1870,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/\",\"name\":\"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-20T05:41:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z?\"}]},{\"@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":"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","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\/etckeeper-nedir-ve-neden-kullanmaliyiz\/","og_locale":"tr_TR","og_type":"article","og_title":"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z?","og_description":"Sunucu y\u00f6netimi, sistem kararl\u0131l\u0131\u011f\u0131 ve g\u00fcvenli\u011fi a\u00e7\u0131s\u0131ndan kritik bir dizi g\u00f6revi i\u00e7erir. Bu g\u00f6revlerden biri de sistem yap\u0131land\u0131rma","og_url":"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-20T05:41:46+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z?","datePublished":"2025-10-20T05:41:46+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/"},"wordCount":1870,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/","url":"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/","name":"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-20T05:41:46+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/etckeeper-nedir-ve-neden-kullanmaliyiz\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Etckeeper Nedir ve Neden Kullanmal\u0131y\u0131z?"}]},{"@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\/32313","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=32313"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32313\/revisions"}],"predecessor-version":[{"id":32314,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32313\/revisions\/32314"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}