{"id":43066,"date":"2026-07-04T21:02:06","date_gmt":"2026-07-04T18:02:06","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/"},"modified":"2026-07-04T21:02:35","modified_gmt":"2026-07-04T18:02:35","slug":"yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/","title":{"rendered":"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir?"},"content":{"rendered":"<h2>Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir?<\/h2>\n<p>Root yetkisi olmadan g\u00fcvenli yaz\u0131l\u0131m paketlemek m\u00fcmk\u00fcn m\u00fc? Fakeroot, pseudoroot ve hakoniwa ile yetkisiz paketleme y\u00f6ntemlerini ke\u015ffedin.<\/p>\n<p>Modern yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda g\u00fcvenlik, h\u0131z ve ta\u015f\u0131nabilirlik en kritik \u00f6ncelikler aras\u0131nda yer al\u0131yor. \u00d6zellikle s\u00fcrekli entegrasyon ve s\u00fcrekli teslimat (CI\/CD) s\u00fcre\u00e7lerinde, yaz\u0131l\u0131mlar\u0131n paketlenmesi a\u015famas\u0131 b\u00fcy\u00fck bir \u00f6neme sahiptir. Ge\u00e7mi\u015fte, bir Linux paketi (\u00f6rne\u011fin .deb veya .rpm) olu\u015fturmak i\u00e7in sistem \u00fczerinde tam yetkili (root) olmak neredeyse bir zorunluluktu. Ancak, geli\u015ftirme sunucular\u0131nda veya payla\u015f\u0131ml\u0131 build (derleme) ortamlar\u0131nda her kullan\u0131c\u0131ya root yetkisi vermek, \u00e7ok ciddi g\u00fcvenlik a\u00e7\u0131klar\u0131na davetiye \u00e7\u0131kar\u0131r. Bir Makefile i\u00e7erisindeki k\u00fc\u00e7\u00fck bir yaz\u0131m hatas\u0131 veya k\u00f6t\u00fc niyetli bir ba\u011f\u0131ml\u0131l\u0131k, t\u00fcm ana sistemi tamamen kullan\u0131lmaz hale getirebilir.<\/p>\n<p>\u0130\u015fte tam bu noktada &#8220;unprivileged packaging&#8221; (yetkisiz paketleme) kavram\u0131 devreye giriyor. Bu yakla\u015f\u0131m, sistem \u00fczerinde hi\u00e7bir idari yetkiye sahip olmadan, sanki root kullan\u0131c\u0131s\u0131ym\u0131\u015f gibi g\u00fcvenli ve izole bir \u015fekilde paket \u00fcretmenizi sa\u011flar. Bu makalede, yetkisiz paketleme d\u00fcnyas\u0131n\u0131n en g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 olan <code>fakeroot<\/code>, <code>pseudoroot<\/code> ve modern bir sandbox (kum havuzu) arac\u0131 olan <code>hakoniwa<\/code> teknolojilerini derinlemesine inceleyece\u011fiz. Bu ara\u00e7lar\u0131n \u00e7al\u0131\u015fma mant\u0131\u011f\u0131n\u0131 anlayarak, projelerinizde daha g\u00fcvenli derleme s\u00fcre\u00e7leri in\u015fa edebilirsiniz.<\/p>\n<h2>Yetkisiz Paketleme (Unprivileged Packaging) Nedir ve Neden \u00d6nemlidir?<\/h2>\n<p>Geleneksel paketleme s\u00fcre\u00e7lerinde, olu\u015fturulan ar\u015fiv dosyalar\u0131n\u0131n i\u00e7erisindeki dosyalar\u0131n sahipli\u011finin &#8220;root:root&#8221; olarak ayarlanmas\u0131 gerekir. Ayn\u0131 zamanda, baz\u0131 sistem dosyalar\u0131n\u0131n \u00f6zel izinlere (\u00f6rne\u011fin setuid biti) sahip olmas\u0131 \u015fartt\u0131r. Normal \u015fartlarda, s\u0131radan bir Linux kullan\u0131c\u0131s\u0131 <code>chown<\/code> (dosya sahibi de\u011fi\u015ftirme) veya <code>chmod<\/code> (dosya izinleri de\u011fi\u015ftirme) komutlar\u0131n\u0131 kullanarak bir dosyan\u0131n sahibini root yapamaz. Bu durum, geli\u015ftiricileri paketleme i\u015flemlerini root yetkileriyle yapmaya zorluyordu.<\/p>\n<p>Bununla birlikte, root yetkisiyle paket derlemek modern g\u00fcvenlik standartlar\u0131na tamamen ayk\u0131r\u0131d\u0131r. G\u00fcvenlik a\u00e7\u0131\u011f\u0131 bar\u0131nd\u0131ran bir derleme beti\u011fi, ana i\u015fletim sistemindeki kritik dosyalar\u0131 silebilir veya de\u011fi\u015ftirebilir. \u00d6zellikle Docker gibi konteyner teknolojilerinin yayg\u0131nla\u015fmas\u0131yla birlikte, konteyner i\u00e7inde bile root yetkisiyle \u00e7al\u0131\u015fmak bir g\u00fcvenlik riski (container escape &#8211; konteynerden ka\u00e7ma) olu\u015fturmaktad\u0131r. Yetkisiz paketleme, bu riskleri tamamen ortadan kald\u0131r\u0131r. Geli\u015ftiriciler, kendi ev dizinlerinde (home directory) veya k\u0131s\u0131tl\u0131 bir alanda, sisteme hi\u00e7bir zarar verme riski ta\u015f\u0131madan paketlerini olu\u015fturabilirler.<\/p>\n<p>Bu s\u00fcre\u00e7, \u00f6zellikle \u00e7oklu kullan\u0131c\u0131l\u0131 sunucularda ve bulut tabanl\u0131 derleme sistemlerinde kaynaklar\u0131n verimli kullan\u0131lmas\u0131n\u0131 sa\u011flar. Her derleme i\u015flemi i\u00e7in yeni bir sanal makine ba\u015flatmak yerine, hafif ve yetkisiz sanalla\u015ft\u0131rma teknikleri kullanarak saniyeler i\u00e7inde temiz paketler \u00fcretebilirsiniz. \u015eimdi, bu s\u00fcreci m\u00fcmk\u00fcn k\u0131lan en eski ve en pop\u00fcler ara\u00e7lardan biri olan <code>fakeroot<\/code> kavram\u0131na yak\u0131ndan bakal\u0131m.<\/p>\n<h2>Fakeroot Nas\u0131l \u00c7al\u0131\u015f\u0131r ve Dosya \u0130zinleri Nas\u0131l Sim\u00fcle Edilir?<\/h2>\n<p><code>fakeroot<\/code>, Linux d\u00fcnyas\u0131nda uzun y\u0131llard\u0131r kullan\u0131lan ve root yetkilerini sim\u00fcle eden harika bir ara\u00e7t\u0131r. Temel amac\u0131, bir program\u0131n dosya olu\u015fturma, silme ve izin de\u011fi\u015ftirme gibi i\u015flemlerini izlemek ve bu i\u015flemleri sanki root kullan\u0131c\u0131s\u0131 yap\u0131yormu\u015f gibi g\u00f6stermektir. Ancak arka planda, ger\u00e7ekte hi\u00e7bir dosya sistemi izni de\u011fi\u015fmez.<\/p>\n<p>\u00d6rne\u011fin, <code>fakeroot<\/code> alt\u0131nda \u00e7al\u0131\u015fan bir betik <code>chown root:root dosya.txt<\/code> komutunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131nda, i\u015fletim sistemi bu i\u015flemi reddetmez. \u00c7\u00fcnk\u00fc <code>fakeroot<\/code>, bu komutun sistem \u00e7a\u011fr\u0131lar\u0131n\u0131 araya girerek yakalar. Ger\u00e7ek dosya sisteminde dosyan\u0131n sahibi hala mevcut kullan\u0131c\u0131 olarak kal\u0131r. Fakat <code>fakeroot<\/code> kendi belle\u011finde veya bir veritaban\u0131nda &#8220;dosya.txt art\u0131k root&#8217;a aittir&#8221; bilgisini saklar. Daha sonra ayn\u0131 oturumda bir paketleme arac\u0131 (\u00f6rne\u011fin <code>tar<\/code>) bu dosyan\u0131n bilgilerini sorgulad\u0131\u011f\u0131nda, <code>fakeroot<\/code> araya girerek dosyan\u0131n sahibini root olarak raporlar. Sonu\u00e7 olarak olu\u015fturulan tar ar\u015fivi, dosyay\u0131 root sahipli\u011finde kaydeder.<\/p>\n<p>Bu y\u00f6ntem sayesinde, sistem y\u00f6neticisinden izin istemeden, tamamen g\u00fcvenli bir \u015fekilde resmi da\u011f\u0131t\u0131m paketleri haz\u0131rlayabilirsiniz. \u00d6zellikle Debian ve Ubuntu ekosisteminde paket derleme ara\u00e7lar\u0131 (\u00f6rne\u011fin <code>dpkg-buildpackage<\/code>), arka planda varsay\u0131lan olarak <code>fakeroot<\/code> kullan\u0131r.<\/p>\n<h3>LD_PRELOAD Mekanizmas\u0131 ile Sistem \u00c7a\u011fr\u0131lar\u0131n\u0131 Yakalamak<\/h3>\n<p>Peki, <code>fakeroot<\/code> bu sihirli i\u015flemi nas\u0131l ger\u00e7ekle\u015ftiriyor? Cevap, Linux dinamik ba\u011flay\u0131c\u0131s\u0131n\u0131n (dynamic linker) sundu\u011fu <code>LD_PRELOAD<\/code> ortam de\u011fi\u015fkeninde gizlidir. <code>LD_PRELOAD<\/code>, bir program \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce belirli bir payla\u015f\u0131lan k\u00fct\u00fcphanenin (shared library) \u00f6ncelikli olarak belle\u011fe y\u00fcklenmesini sa\u011flar.<\/p>\n<p><code>fakeroot<\/code> \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda, kendi \u00f6zel k\u00fct\u00fcphanesi olan <code>libfakeroot.so<\/code> dosyas\u0131n\u0131 <code>LD_PRELOAD<\/code> ile sisteme tan\u0131t\u0131r. Bu k\u00fct\u00fcphane, standart C k\u00fct\u00fcphanesindeki (glibc) baz\u0131 kritik sistem \u00e7a\u011fr\u0131lar\u0131n\u0131n (system calls) \u00fczerine yazar (override). \u00dczerine yaz\u0131lan ba\u015fl\u0131ca fonksiyonlar \u015funlard\u0131r:<\/p>\n<ul>\n<li><code>stat<\/code>, <code>fstat<\/code>, <code>lstat<\/code> (Dosya durum bilgilerini okuma)<\/li>\n<li><code>chmod<\/code>, <code>fchmod<\/code> (Dosya izinlerini de\u011fi\u015ftirme)<\/li>\n<li><code>chown<\/code>, <code>lchown<\/code>, <code>fchown<\/code> (Dosya sahibini de\u011fi\u015ftirme)<\/li>\n<li><code>mknod<\/code> (\u00d6zel sistem dosyalar\u0131 olu\u015fturma)<\/li>\n<\/ul>\n<p>Bir program bu fonksiyonlardan birini \u00e7a\u011f\u0131rd\u0131\u011f\u0131nda, do\u011frudan i\u015fletim sisteminin \u00e7ekirde\u011fine (kernel) gitmek yerine \u00f6nce <code>libfakeroot.so<\/code> i\u00e7erisindeki sahte fonksiyon \u00e7al\u0131\u015f\u0131r. Bu sahte fonksiyon, yap\u0131lan de\u011fi\u015fiklikleri arka planda \u00e7al\u0131\u015fan bir arka plan s\u00fcrecine (fakeroot daemon &#8211; <code>faked<\/code>) bildirir. <code>faked<\/code> s\u00fcreci, t\u00fcm sanal dosya izinlerini ve sahiplik bilgilerini ge\u00e7ici bir tabloda tutar. B\u00f6ylece, programlar ger\u00e7ekte yetkileri olmad\u0131\u011f\u0131 halde her \u015feyin yolunda gitti\u011fini sanarak \u00e7al\u0131\u015fmaya devam ederler.<\/p>\n<h2>Pseudoroot Nedir ve Fakeroot ile Aras\u0131ndaki Farklar Nelerdir?<\/h2>\n<p><code>pseudoroot<\/code> (yalanc\u0131 root) terimi, genellikle <code>fakeroot<\/code> ile benzer ama\u00e7lar i\u00e7in kullan\u0131lan ancak uygulama y\u00f6ntemi a\u00e7\u0131s\u0131ndan farkl\u0131l\u0131k g\u00f6steren bir kavramd\u0131r. Baz\u0131 sistemlerde pseudoroot, i\u015fletim sisteminin sundu\u011fu kullan\u0131c\u0131 ad alanlar\u0131 (user namespaces) veya \u00f6zel dizin yap\u0131land\u0131rmalar\u0131 arac\u0131l\u0131\u011f\u0131yla ger\u00e7ekle\u015ftirilir.<\/p>\n<p>Fakeroot sadece sistem \u00e7a\u011fr\u0131lar\u0131n\u0131 k\u00fct\u00fcphane seviyesinde (user-space) manip\u00fcle ederken, pseudoroot yakla\u015f\u0131mlar\u0131 genellikle daha derin bir izolasyon sunar. \u00d6rne\u011fin, modern Linux \u00e7ekirdeklerinde bulunan &#8220;User Namespaces&#8221; \u00f6zelli\u011fi, s\u0131radan bir kullan\u0131c\u0131n\u0131n kendi olu\u015fturdu\u011fu bir ad alan\u0131 (namespace) i\u00e7inde ger\u00e7ek anlamda <code>UID 0<\/code> (yani root) olmas\u0131na izin verir. Bu ad alan\u0131 i\u00e7inde kullan\u0131c\u0131 her t\u00fcrl\u00fc root i\u015flemini yapabilir, ancak bu i\u015flemler ana sisteme kesinlikle yans\u0131maz.<\/p>\n<p>A\u015fa\u011f\u0131daki tabloda, bu iki yakla\u015f\u0131m\u0131n temel farklar\u0131n\u0131 daha net g\u00f6rebilirsiniz:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u00d6zellik<\/th>\n<th>Fakeroot (LD_PRELOAD)<\/th>\n<th>Pseudoroot (User Namespaces)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u00c7al\u0131\u015fma Seviyesi<\/strong><\/td>\n<td>Kullan\u0131c\u0131 Alan\u0131 (User-space \/ Library)<\/td>\n<td>\u00c7ekirdek Seviyesi (Kernel-space)<\/td>\n<\/tr>\n<tr>\n<td><strong>Statik Ba\u011fl\u0131 Kodlar<\/strong><\/td>\n<td>Desteklemez (Statik binary&#8217;ler bypass eder)<\/td>\n<td>Destekler (T\u00fcm s\u00fcre\u00e7ler izole edilir)<\/td>\n<\/tr>\n<tr>\n<td><strong>Performans Etkisi<\/strong><\/td>\n<td>\u00c7ok d\u00fc\u015f\u00fck (Sadece k\u00fct\u00fcphane \u00e7a\u011fr\u0131lar\u0131)<\/td>\n<td>D\u00fc\u015f\u00fck (\u00c7ekirdek d\u00fczeyinde hafif y\u00fck)<\/td>\n<\/tr>\n<tr>\n<td><strong>G\u00fcvenlik S\u0131n\u0131r\u0131<\/strong><\/td>\n<td>Sadece izin sim\u00fclasyonu (\u0130zolasyon sa\u011flamaz)<\/td>\n<td>Ger\u00e7ek s\u00fcre\u00e7 ve dosya sistemi izolasyonu<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00d6zellikle statik olarak derlenmi\u015f (statically linked) programlar (\u00f6rne\u011fin Go diliyle yaz\u0131lm\u0131\u015f baz\u0131 ara\u00e7lar), harici C k\u00fct\u00fcphanelerini kullanmad\u0131klar\u0131 i\u00e7in <code>LD_PRELOAD<\/code> mekanizmas\u0131n\u0131 tamamen devre d\u0131\u015f\u0131 b\u0131rak\u0131rlar. Bu durumda <code>fakeroot<\/code> i\u015flevsiz kal\u0131r. \u0130\u015fte bu gibi durumlarda pseudoroot ve ad alan\u0131 tabanl\u0131 \u00e7\u00f6z\u00fcmler \u00e7ok daha g\u00fcvenilir bir alternatif haline gelir.<\/p>\n<h2>Hakoniwa ile G\u00fcvenli ve \u0130zole Paketleme Ortam\u0131 Nas\u0131l Kurulur?<\/h2>\n<p>Modern yetkisiz paketleme d\u00fcnyas\u0131n\u0131n en yenilik\u00e7i oyuncular\u0131ndan biri de <code>hakoniwa<\/code> arac\u0131d\u0131r. Japonca &#8220;minyat\u00fcr bah\u00e7e&#8221; anlam\u0131na gelen Hakoniwa, Linux ad alanlar\u0131n\u0131 (namespaces), kontrol gruplar\u0131n\u0131 (cgroups) ve seccomp (g\u00fcvenli bilgi i\u015flem modu) teknolojilerini kullanarak son derece hafif ve g\u00fcvenli kum havuzlar\u0131 (sandbox) olu\u015fturman\u0131z\u0131 sa\u011flar.<\/p>\n<p>Hakoniwa, sadece dosya izinlerini taklit etmekle kalmaz. Ayn\u0131 zamanda derleme s\u00fcrecinin a\u011fa eri\u015fimini engelleyebilir, i\u015flemci ve bellek limitleri koyabilir ve sadece izin verdi\u011finiz dizinlerin derleme ortam\u0131 taraf\u0131ndan g\u00f6r\u00fclmesini sa\u011flayabilir. Bu durum, \u00f6zellikle d\u0131\u015far\u0131dan ald\u0131\u011f\u0131n\u0131z ve g\u00fcvenilirli\u011finden emin olmad\u0131\u011f\u0131n\u0131z \u00fc\u00e7\u00fcnc\u00fc parti kaynak kodlar\u0131 derlerken sisteminizi tamamen koruma alt\u0131na al\u0131r.<\/p>\n<p>\u00d6rne\u011fin, bir paket derleme beti\u011finin arka planda internete ba\u011flan\u0131p hassas verilerinizi uzak bir sunucuya g\u00f6ndermesinden endi\u015fe ediyorsan\u0131z, Hakoniwa ile a\u011f ad alan\u0131n\u0131 (network namespace) kapatarak bu riski s\u0131f\u0131ra indirebilirsiniz. Hakoniwa, Docker kadar a\u011f\u0131r olmayan, imaj y\u00f6netimi gerektirmeyen, do\u011frudan yerel dosya sisteminiz \u00fczerinde \u00e7al\u0131\u015fan modern bir pseudoroot ve sandbox \u00e7\u00f6z\u00fcm\u00fcd\u00fcr.<\/p>\n<h2>Ad\u0131m Ad\u0131m Uygulama: Root Yetkisi Olmadan Paket Nas\u0131l Haz\u0131rlan\u0131r?<\/h2>\n<p>\u015eimdi, teorik bilgileri prati\u011fe d\u00f6kelim. Bu uygulamada, s\u0131radan bir kullan\u0131c\u0131 olarak <code>fakeroot<\/code> yard\u0131m\u0131yla sanal bir dosya yap\u0131s\u0131 olu\u015fturacak ve root sahipli\u011finde bir ar\u015fiv paketi \u00fcretece\u011fiz. Bu ad\u0131mlar\u0131 herhangi bir Linux da\u011f\u0131t\u0131m\u0131nda root yetkiniz olmadan kolayca uygulayabilirsiniz.<\/p>\n<p>\u0130lk olarak, sisteminizde <code>fakeroot<\/code> arac\u0131n\u0131n kurulu oldu\u011fundan emin olun. Kurulu de\u011filse, da\u011f\u0131t\u0131m\u0131n\u0131z\u0131n paket y\u00f6neticisiyle (\u00f6rne\u011fin Ubuntu i\u00e7in <code>apt install fakeroot<\/code>) kurabilirsiniz.<\/p>\n<p>A\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek sanal paket yap\u0131m\u0131z\u0131 olu\u015ftural\u0131m:<\/p>\n<div class=\"code-container\">\n<pre><code># 1. Proje dizinimizi olu\u015ftural\u0131m\nmkdir -p ~\/paket-projesi\/usr\/bin\n\n# 2. Basit bir betik yazal\u0131m ve \u00e7al\u0131\u015ft\u0131r\u0131labilir yapal\u0131m\necho -e '#!\/bin\/sh\\necho \"Merhaba, Yetkisiz Paket!\"' > ~\/paket-projesi\/usr\/bin\/merhaba\nchmod +x ~\/paket-projesi\/usr\/bin\/merhaba\n\n# 3. Normal \u015fartlarda dosya sahibi biziz\nls -l ~\/paket-projesi\/usr\/bin\/merhaba\n<\/code><\/pre>\n<\/div>\n<p>Yukar\u0131daki son komutun \u00e7\u0131kt\u0131s\u0131nda, dosya sahibinin kendi kullan\u0131c\u0131 ad\u0131n\u0131z oldu\u011funu g\u00f6receksiniz. \u015eimdi <code>fakeroot<\/code> kabu\u011funu (shell) ba\u015flatarak dosya sahipli\u011fini de\u011fi\u015ftirelim ve paketimizi s\u0131k\u0131\u015ft\u0131ral\u0131m:<\/p>\n<div class=\"code-container\">\n<pre><code># 4. Fakeroot ortam\u0131na giri\u015f yapal\u0131m\nfakeroot bash\n\n# Art\u0131k sanal bir root ortam\u0131nday\u0131z. Dosya sahipli\u011fini de\u011fi\u015ftirelim:\nchown -R root:root ~\/paket-projesi\n\n# Dosya sahipli\u011fini kontrol edelim (fakeroot i\u00e7inde root g\u00f6r\u00fcnecektir)\nls -l ~\/paket-projesi\/usr\/bin\/merhaba\n\n# 5. Dosyay\u0131 root sahipli\u011fiyle ar\u015fivleyelim\ntar -czf ~\/merhaba-paketi.tar.gz -C ~\/paket-projesi usr\n\n# Fakeroot ortam\u0131ndan \u00e7\u0131kal\u0131m\nexit\n<\/code><\/pre>\n<\/div>\n<p>Fakeroot ortam\u0131ndan \u00e7\u0131kt\u0131ktan sonra, ana sisteminizde <code>ls -l ~\/paket-projesi\/usr\/bin\/merhaba<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131r\u0131rsan\u0131z, dosya sahibinin asl\u0131nda hi\u00e7 de\u011fi\u015fmedi\u011fini ve hala kendi kullan\u0131c\u0131n\u0131z oldu\u011funu g\u00f6receksiniz. Ancak, olu\u015fturdu\u011fumuz <code>merhaba-paketi.tar.gz<\/code> ar\u015fivini inceledi\u011fimizde durum farkl\u0131d\u0131r:<\/p>\n<div class=\"code-container\">\n<pre><code># Ar\u015fiv i\u00e7eri\u011fini ve sahiplik bilgilerini kontrol edelim\ntar -tvf ~\/merhaba-paketi.tar.gz\n<\/code><\/pre>\n<\/div>\n<p>Bu komutun \u00e7\u0131kt\u0131s\u0131nda, ar\u015fiv i\u00e7erisindeki <code>usr\/bin\/merhaba<\/code> dosyas\u0131n\u0131n sahibinin <code>root\/root<\/code> oldu\u011funu g\u00f6receksiniz. \u0130\u015fte yetkisiz paketlemenin g\u00fcc\u00fc budur! Sisteme hi\u00e7bir zarar vermeden, tamamen ge\u00e7erli ve standartlara uygun bir da\u011f\u0131t\u0131m paketi i\u00e7eri\u011fi \u00fcretmi\u015f olduk.<\/p>\n<h2>Hangi Arac\u0131 Se\u00e7melisiniz? Fakeroot, Pseudoroot ve Hakoniwa Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/h2>\n<p>Projeleriniz i\u00e7in en do\u011fru yetkisiz paketleme arac\u0131n\u0131 se\u00e7erken ihtiya\u00e7lar\u0131n\u0131z\u0131 ve g\u00fcvenlik gereksinimlerinizi g\u00f6z \u00f6n\u00fcnde bulundurmal\u0131s\u0131n\u0131z. Her arac\u0131n kendine \u00f6zg\u00fc avantajlar\u0131 ve s\u0131n\u0131rlar\u0131 vard\u0131r.<\/p>\n<p>E\u011fer amac\u0131n\u0131z sadece h\u0131zl\u0131 bir \u015fekilde standart Debian (.deb) veya RPM paketleri olu\u015fturmaksa ve derleme scriptlerinize tamamen g\u00fcveniyorsan\u0131z, <code>fakeroot<\/code> sizin i\u00e7in en pratik ve en hafif \u00e7\u00f6z\u00fcmd\u00fcr. Ekstra bir yap\u0131land\u0131rma gerektirmez ve sistem kaynaklar\u0131n\u0131 neredeyse hi\u00e7 t\u00fcketmez.<\/p>\n<p>Bununla birlikte, e\u011fer derleme s\u00fcrecinde g\u00fcvenlik \u00f6n plandaysa, d\u0131\u015f kaynakl\u0131 ba\u011f\u0131ml\u0131l\u0131klar indiriliyorsa ve s\u00fcrecin ana sisteme zarar vermesini kesinlikle engellemek istiyorsan\u0131z, <code>hakoniwa<\/code> veya kullan\u0131c\u0131 ad alanlar\u0131 (user namespaces) tabanl\u0131 modern pseudoroot \u00e7\u00f6z\u00fcmlerini tercih etmelisiniz. Hakoniwa, sundu\u011fu geli\u015fmi\u015f izolasyon yetenekleri sayesinde derleme s\u00fcrecini adeta a\u015f\u0131lmaz bir kale i\u00e7erisine al\u0131r.<\/p>\n<p>Sonu\u00e7 olarak, modern CI\/CD boru hatlar\u0131nda (pipelines) bu ara\u00e7lar\u0131n kombinasyonu s\u0131kl\u0131kla tercih edilmektedir. G\u00fcvenli, izole ve yetkisiz paketleme tekniklerini s\u00fcre\u00e7lerinize entegre ederek, hem geli\u015ftirici g\u00fcvenli\u011fini art\u0131rabilir hem de sistem kaynaklar\u0131n\u0131z\u0131 daha verimli y\u00f6netebilirsiniz.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular (FAQ)<\/h2>\n<h3>Fakeroot kullan\u0131m\u0131 sistemi yava\u015flat\u0131r m\u0131?<\/h3>\n<p>Hay\u0131r, <code>fakeroot<\/code> sistem performans\u0131n\u0131 g\u00f6zle g\u00f6r\u00fcl\u00fcr bir \u015fekilde etkilemez. Sadece belirli dosya sistemi \u00e7a\u011fr\u0131lar\u0131n\u0131 (system calls) yakalay\u0131p y\u00f6nlendirdi\u011fi i\u00e7in i\u015flemci ve bellek \u00fczerinde milisaniyeler mertebesinde \u00e7ok k\u00fc\u00e7\u00fck bir y\u00fck olu\u015fturur.<\/p>\n<h3>Statik olarak derlenmi\u015f (statically linked) programlar neden fakeroot ile \u00e7al\u0131\u015fmaz?<\/h3>\n<p>\u00c7\u00fcnk\u00fc statik programlar, sistem \u00e7a\u011fr\u0131lar\u0131n\u0131 yapmak i\u00e7in dinamik C k\u00fct\u00fcphanesini (glibc) kullanmazlar; do\u011frudan \u00e7ekirdek (kernel) ile konu\u015furlar. <code>fakeroot<\/code> ise <code>LD_PRELOAD<\/code> mekanizmas\u0131yla dinamik k\u00fct\u00fcphanelerin aras\u0131na s\u0131zd\u0131\u011f\u0131 i\u00e7in statik programlar\u0131n \u00e7a\u011fr\u0131lar\u0131n\u0131 yakalayamaz. Bu durumda Hakoniwa gibi ad alan\u0131 tabanl\u0131 ara\u00e7lar kullan\u0131lmal\u0131d\u0131r.<\/p>\n<h3>Hakoniwa kullanmak i\u00e7in root yetkisi gerekir mi?<\/h3>\n<p>Hay\u0131r, modern Linux \u00e7ekirdeklerinde kullan\u0131c\u0131 ad alanlar\u0131 (user namespaces) \u00f6zelli\u011fi etkinle\u015ftirilmi\u015fse (\u00e7o\u011fu modern da\u011f\u0131t\u0131mda varsay\u0131lan olarak etkindir), s\u0131radan bir kullan\u0131c\u0131 hi\u00e7bir root yetkisine ihtiya\u00e7 duymadan Hakoniwa ile izole kum havuzlar\u0131 olu\u015fturabilir.<\/p>\n<p>#Teknoloji #Linux #Yaz\u0131l\u0131mGeli\u015ftirme #SiberG\u00fcvenlik #DevOps<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/unprivileged-package-generation-simulation\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/unprivileged-package-generation-simulation<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Root yetkisi olmadan g\u00fcvenli yaz\u0131l\u0131m paketlemek m\u00fcmk\u00fcn m\u00fc? Fakeroot, pseudoroot ve hakoniwa ile yetkisiz paketleme y\u00f6ntemlerini ke\u015ffedin.","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-43066","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>Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir? - 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\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir?\" \/>\n<meta property=\"og:description\" content=\"Root yetkisi olmadan g\u00fcvenli yaz\u0131l\u0131m paketlemek m\u00fcmk\u00fcn m\u00fc? Fakeroot, pseudoroot ve hakoniwa ile yetkisiz paketleme y\u00f6ntemlerini ke\u015ffedin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-04T18:02:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-04T18:02:35+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\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir?\",\"datePublished\":\"2026-07-04T18:02:06+00:00\",\"dateModified\":\"2026-07-04T18:02:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/\"},\"wordCount\":2088,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/\",\"name\":\"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-07-04T18:02:06+00:00\",\"dateModified\":\"2026-07-04T18:02:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir?\"}]},{\"@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":"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir? - 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\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/","og_locale":"tr_TR","og_type":"article","og_title":"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir?","og_description":"Root yetkisi olmadan g\u00fcvenli yaz\u0131l\u0131m paketlemek m\u00fcmk\u00fcn m\u00fc? Fakeroot, pseudoroot ve hakoniwa ile yetkisiz paketleme y\u00f6ntemlerini ke\u015ffedin.","og_url":"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-07-04T18:02:06+00:00","article_modified_time":"2026-07-04T18:02:35+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\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir?","datePublished":"2026-07-04T18:02:06+00:00","dateModified":"2026-07-04T18:02:35+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/"},"wordCount":2088,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/","url":"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/","name":"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-07-04T18:02:06+00:00","dateModified":"2026-07-04T18:02:35+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/yetkisiz-paketleme-fakeroot-pseudoroot-ve-hakoniwa-nedir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Yetkisiz Paketleme: Fakeroot, Pseudoroot ve Hakoniwa Nedir?"}]},{"@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\/43066","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=43066"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43066\/revisions"}],"predecessor-version":[{"id":43067,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43066\/revisions\/43067"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=43066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=43066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=43066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}