Mirror Nedir? Linux Paket Aynası Nasıl Seçilir ve Kurulur?

Mirror nedir ve Linux paket aynası ne işe yarar?
Mirror (ayna), bir yazılım deposunun birebir kopyasını başka bir sunucuda yayınlayan sistemdir. Linux dağıtımlarında apt ve dnf gibi paket yöneticileri güncellemeleri tek merkezden değil bu aynalardan indirir. Böylece yük dağılır, indirme size yakın sunucudan gelir ve ana depo yavaşlasa bile güncellemeleriniz sürer.
Bu yazıda mirror nedir sorusunu web sitesi sahibi, e-ticaret yöneticisi ve yazılımcı gözüyle ele alıyoruz. Biz dijital pazarlama ve web ekibiyiz, hosting firması değiliz. Bu nedenle anlatımımız dağıtımların resmi belgelerine dayanır. Komutları canlı sisteminizde denemeden önce kendi dağıtımınızın belgesini kontrol edin.
Önce kavramı, ardından apt ve dnf ayarlarını göreceksiniz. Sonra yerel ayna seçiminin etkisine, GPG imzasına ve kendi aynanızı kurma kararına geçeceğiz.
Mirror nedir sorusunda depo, ayna ve önbellek farkı nedir?
Üç kavram sık karışır. Depo (repository) paketlerin ve onları anlatan dizin dosyalarının durduğu yerdir. Ayna bu deponun kopyasıdır. Önbellek proxy ise kopyanın tamamını tutmaz, yalnızca istenen paketleri hatırlar.
| Kavram | Ne tutar? | Ne zaman işe yarar? |
|---|---|---|
| Resmi depo | Dağıtımın asıl paket arşivi | Tek kaynak olarak, her şeyin başladığı yer |
| Genel ayna | Arşivin düzenli senkronize kopyası | Coğrafi yakınlık ve yük dağıtımı için |
| Dahili (özel) ayna | Kurumunuzun seçtiği paketlerin kopyası | Çok sayıda sunucu ve kapalı ağlarda |
| Önbellek proxy | Yalnızca daha önce istenen paketler | Disk ayırmadan tekrar indirmeyi azaltmak için |
Yani her ayna bir depodur ama her depo ayna değildir. Debian belgeleri de tam ayna yerine apt-cacher-ng, squid ya da varnish gibi önbellek proxy çözümlerini ayrı bir seçenek olarak anar.
apt ve dnf ayna adresini nereden okur?
İki paket yöneticisi de adresi küçük metin dosyalarından okur. Bu dosyaları değiştirmek, sunucunuzun hangi aynadan güncelleme aldığını değiştirmek demektir. Bu yüzden yapılandırmaların yeri ve biçimi önemlidir.
- apt, adresleri /etc/apt/sources.list dosyasından ve /etc/apt/sources.list.d/ klasöründen okur.
- Debian ve yeni Ubuntu sürümleri deb822 adlı satır tabanlı biçimi kullanır; dosya uzantısı .sources olur.
- dnf, depo tanımlarını .repo dosyalarından okur. Bu dosyalar genellikle /etc/yum.repos.d/ klasöründe durur.
- .repo dosyasında adres baseurl, mirrorlist ya da metalink satırlarından biriyle verilir.
Hangi biçimin sizde geçerli olduğunu anlamak için önce klasörün içine bakın. Dosya adı ve sürüm farkları dağıtımdan dağıtıma değişir, bu yüzden belgeyle karşılaştırmanız yeterlidir.
Debian ve Ubuntu'da sources dosyasını nasıl okursunuz?
Debian belgelerine göre ana yapılandırma /etc/apt/sources.list.d/debian.sources dosyasındadır. Ubuntu 24.04 LTS ve sonrasında depolar /etc/apt/sources.list.d/ubuntu.sources içinde tanımlıdır. Daha eski Ubuntu sürümleri ise hâlâ /etc/apt/sources.list dosyasını kullanır.
Aşağıdaki örnek, Ubuntu belgelerindeki deb822 yapısının dahili bir aynaya yönlendirilmiş halidir. Alan adı örnektir, KODADI yerine kendi sürümünüzün kod adını yazarsınız.
Types: deb
URIs: https://mirror.example.com/ubuntu
Suites: KODADI KODADI-updates KODADI-backports
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Mirror nedir sorusunun somut cevabı, bu dosyadaki tek bir URIs satırıdır. Dört alanı bilmeniz yeterlidir. URIs aynanın adresidir. Suites sürüm ve güncelleme kanallarını, Components paket gruplarını gösterir. Signed-By ise bu depoya güvenilecek anahtarı belirler.
Eski biçimden geçmek isterseniz Debian belgesi apt modernize-sources komutunu önerir. Yine de önce dosyanın bir kopyasını alın.
dnf tabanlı sistemlerde mirrorlist ve metalink nasıl çalışır?
dnf belgesine göre baseurl, tek tek yazdığınız depo adreslerinin listesidir ve adresler sırayla denenir. mirrorlist ve metalink ise tek bir adres verir; bu adres size uygun aynaların listesini döndürür. Böylece her istemci kendi konumuna yakın aynaya yönlenir.
Mirror nedir diye dnf tarafında sorarsanız cevap, baseurl, mirrorlist ya da metalink satırlarından biridir. Genel ayna kullanıyorsanız çoğu zaman mirrorlist ya da metalink görürsünüz. Dahili ayna kurduğunuzda ise baseurl ile kendi adresinizi yazarsınız. Aradaki fark şudur: listeyi dağıtım yönetir, baseurl'de seçimi siz yaparsınız.
Bir depo ulaşılamaz olursa dnf varsayılan olarak hata verir. Belgede skip_if_unavailable seçeneği anlatılır: açıksa dnf çalışmaya devam eder ve eşitlenemeyen depoyu devre dışı bırakır. Üretim sunucusunda bu davranışı bilinçli seçin, çünkü eksik bir güvenlik deposu sessizce atlanabilir.
dnf.conf içindeki fastestmirror seçeneği, belgede tanımlandığı gibi TCP soket gecikmesine bakarak en yakın aynayı bulmaya çalışır. Paralel indirme sayısını ise max_parallel_downloads belirler. İki ayarı değiştirmeden önce dağıtımınızın varsayılanlarını okuyun.
Yerel ayna seçmek hız ve erişilebilirliği nasıl etkiler?
Paket indirmenin süresi iki şeye bağlıdır: sunucunuzla aynanın arasındaki ağ yolu ve aynanın o andaki yükü. Yakın bir ayna genellikle daha düşük gecikme ve daha kararlı bant genişliği verir. Ağ ölçümlerinin ayrıntısı için ping, gecikme ve RTT yazımıza ve bant genişliği rehberimize göz atabilirsiniz.
Hız tek gerekçe değildir. Erişilebilirlik de en az onun kadar önemlidir. Bir ayna bakıma girerse ya da hattı tıkanırsa güncelleme durur. mirrorlist ve metalink bu riski azaltır, çünkü liste birden fazla aynayı barındırır.
Örneğin otomatik dağıtım (CI/CD) hattınız her çalıştığında paket indiriyorsa, yavaş bir ayna her yayını geciktirir. Dolayısıyla site güncellemelerinizin süresi bile ayna seçiminden etkilenebilir. Rakam vermiyoruz, çünkü etki ağınıza göre değişir. Ölçmek için aynı güncellemeyi iki aynadan deneyip süreleri karşılaştırmanız yeterlidir.
Web sitesi sahibi için mirror nedir sorusunun pratik yanı ne?
Sitenizi bir VPS üzerinde çalıştırıyorsanız paket aynası, farkında olmadan her gün devreye girer. Yeni sunucuyu kurduğunuzda ilk apt update komutu bir aynaya gider. Güvenlik yamasını çektiğinizde, Docker imajı derlediğinizde ya da dağıtım hattınız çalıştığında da aynı ayna konuşur.
Bu nedenle ayna, sitenizin güvenliğiyle ve yayın sürecinizle doğrudan ilişkilidir. Güvenlik güncellemesi gecikirse açık daha uzun süre kalır. Ayna yavaşlarsa derleme süresi uzar ve kampanya günündeki acil bir düzeltme geç yayına çıkar.
Yine de her web sitesi sahibinin ayna ayarıyla uğraşması gerekmez. Paylaşımlı hosting kullanıyorsanız bu katman zaten sağlayıcıdadır. Kendi VPS'inizi yönetiyorsanız ise ne yaptığınızı bilmek ve varsayılanı bilinçli biçimde sürdürmek çoğu zaman yeterlidir.
En uygun aynayı nasıl seçersiniz?
Mirror nedir sorusunu yanıtladıktan sonra asıl iş doğru aynayı seçmektir. Seçimi tek bir ölçüte bağlamayın. Dağıtımın kendi ayna listesi en güvenilir başlangıç noktasıdır, çünkü orada yer alan aynalar senkronizasyon kurallarına uyar. Ardından kendi ağınıza göre şu ölçütlere bakın:
- Coğrafi yakınlık: Sunucunuzun bulunduğu ülke ya da şehirdeki ayna genellikle daha az gecikme verir.
- Protokol: Mümkünse HTTPS destekleyen bir ayna seçin.
- Güncellik: Ayna ana depoyla geride kalmadan senkronize olmalıdır.
- Bant genişliği ve kapasite: Kalabalık bir saatte yavaşlamamalıdır.
- Sürekliliği: Kurum ya da üniversite gibi tanınan bir işletmecisi olmalıdır.
Belirli bir işletmeyi öne çıkarmıyoruz. Resmi listeden, kendi konumunuza yakın birkaç adayı deneyip ölçmeniz en sağlıklı yoldur. Ağ yolunu görmek için IP sorgulama aracımızla aynanın bulunduğu ağı da inceleyebilirsiniz.
Ayna güncel değilse hangi hataları görürsünüz?
Ayna ana depoyla senkronizasyonu tamamlamadan istemci güncelleme çektiğinde dizin dosyalarıyla paketler birbirini tutmayabilir. apt bu durumda en sık Hash Sum mismatch uyarısı verir. 404 Not Found hatası da paketin aynadan kalktığını ya da henüz gelmediğini gösterir.
| Belirti | Olası neden | İlk adım |
|---|---|---|
| Hash Sum mismatch | Ayna senkronizasyonun ortasında | Biraz bekleyip apt update komutunu yeniden çalıştırın |
| 404 Not Found | Paket aynada yok ya da dizin eski | Dizini yenileyin, olmazsa başka ayna deneyin |
| NO_PUBKEY | Depo anahtarı sistemde kayıtlı değil | Anahtarı resmi kaynaktan doğrulayarak ekleyin |
| Release file is not valid yet | Sunucu saati geride | Saat senkronizasyonunu kontrol edin |
Ayna neden geride kalır? Senkronizasyon belirli aralıklarla çalışır ve aralık içinde ana depoya giren paketler aynaya henüz gelmemiş olur. Büyük aynalar bu aralığı kısaltmak için tetikleyici (push) yöntemleri kullanır. Yine de kısa süreli tutarsızlık normaldir, bu yüzden hatayı görünce önce yeniden denemeniz makuldür.
Son satır dikkat çeker. Saat yanlışsa imzalı dizin dosyası geçersiz görünebilir. Bu konuyu NTP rehberimizde anlattık, burada tekrar etmiyoruz.
Ayna ayarını değiştirmeden önce nasıl hazırlanırsınız?
Kaynak listesine dokunmak, sunucunun güncelleme yolunu değiştirir. Hata yaparsanız güvenlik yamaları gelmez. Bu yüzden önce yedek alın, sonra değişikliği küçük adımlarla doğrulayın. Aşağıdaki komutlar Ubuntu 24.04 ve sonrası için bir örnektir; dosya adı sürümünüze göre değişir.
sudo cp /etc/apt/sources.list.d/ubuntu.sources /root/ubuntu.sources.yedek
sudo apt update
apt policy
sudo apt-get -s upgrade
İlk komut dosyanın kopyasını alır. apt update dizinleri yeniler ve hangi adreslerden çektiğini ekrana yazar. apt policy, paketlerin hangi kaynaktan geleceğini gösterir. Son komuttaki -s bayrağı simülasyon demektir; hiçbir paketi kurmadan ne olacağını listeler.
Sorun çıkarsa geri dönüş de basittir. Yedek dosyayı yerine kopyalayın, ardından apt update çalıştırın. Böylece sunucu eski, bilinen çalışan yapılandırmaya döner ve siz sorunu sakin biçimde inceleyebilirsiniz.
RPM tabanlı sistemlerde karşılığı dnf makecache ve dnf repolist komutlarıdır. Çıktının biçimi dnf sürümüne göre değişebilir. Dolayısıyla beklediğiniz adresin göründüğünü gözle doğrulayın, sonra gerçek güncellemeye geçin.
Aynaya güvenmeden güvenli güncelleme nasıl mümkün olur?
Güvenlik aynanın dürüstlüğüne değil, imzaya dayanır. Debian'ın SecureApt belgesi zinciri şöyle anlatır: her paketin sağlama toplamı Packages dosyasında, Packages dosyalarınınki Release dosyasında durur. Release dosyasını da dağıtımın OpenPGP imzası korur.
apt update çalıştırdığınızda imza (Release.gpg ya da InRelease) doğrulanır. Doğrulanamazsa apt sizi uyarır ve paketleri güvenilmez sayar. Belge, aynanın ayrıca güvenilmesi gerekmediğini de vurgular, çünkü imza içeriği hangi aynadan gelirse gelsin doğrular.
Mirror nedir kadar önemli bir soru da aynanın kime güvendiğidir: cevap, hiç kimseye. Güven, dağıtımın imza anahtarına bağlanır. Pratikte bunun anlamı şudur. Bilmediğiniz bir ayna paketi değiştirirse sağlama zinciri bozulur ve apt işlemi durdurur. Ancak anahtarı kendiniz eklerken dikkatli olmalısınız, çünkü zincirin tek zayıf noktası güvendiğiniz anahtardır.
GPG imza doğrulamasını apt ve dnf'te nasıl kontrol edersiniz?
apt tarafında ayarın adı Signed-By satırıdır. Debian ve Ubuntu'nun resmi anahtar halkaları (keyring) /usr/share/keyrings/ klasöründe durur. Debian belgesine göre eski /etc/apt/trusted.gpg ve apt-key yöntemi Debian 13 ile kullanımdan kalkmıştır. Bu nedenle yeni anahtarı depoya özel bir dosyada ve Signed-By ile tanımlayın.
dnf tarafında ise gpgcheck, paketlerin imzasını denetler. repo_gpgcheck depo metadatasını denetler. gpgkey, imza anahtarının adresidir. Önemli bir ayrıntı: dnf belgesinde gpgcheck ve repo_gpgcheck seçeneklerinin varsayılanı kapalı olarak geçer. Dağıtımların kendi .repo dosyaları bunları genellikle açar, ancak elle yazdığınız dosyada açıkça belirtmeniz gerekir.
[ornek-dahili]
name=Ornek dahili ayna
baseurl=https://mirror.example.com/repo/ornek/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/ORNEK-GPG-KEY
repo_gpgcheck seçeneğini yalnızca yukarıdaki depo metadatayı imzalıyorsa açın. Aksi halde dnf hata verir. Emin değilseniz dağıtımınızın belgesine bakın.
HTTP ile HTTPS arasında ayna için fark var mı?
Var, ama iki katmanı karıştırmayın. İmza, paketin değişmediğini kanıtlar. HTTPS ise aktarım yolunu şifreler. Ubuntu belgesindeki örnek adres http://archive.ubuntu.com/ubuntu biçimindedir; yani imzalı yapı sayesinde HTTP üzerinden de bütünlük korunur.
Buna karşılık HTTPS, hangi paketleri indirdiğinizin ağdaki üçüncü kişilerce görülmesini zorlaştırır. Üstelik bazı kurumsal ağlar HTTP trafiğini filtreler ya da değiştirir. Bu nedenle ayna HTTPS sunuyorsa onu tercih etmenizi öneririz.
Kendi aynanızı yayınlıyorsanız bir SSL sertifikası kurmak ek yük getirir ama istemci tarafındaki kararı kolaylaştırır. Sertifikanızın geçerli olup olmadığını SSL sorgulama aracımızla kontrol edebilirsiniz.
Kurumsal ağda mirror nedir, kendi aynanızı ne zaman kurarsınız?
Kendi aynanız, ancak birkaç koşul bir araya gelince mantıklıdır. Çoğu web sitesi ya da küçük e-ticaret altyapısı için genel aynalar fazlasıyla yeterlidir. Dahili ayna, paket indirmenin kurum için gerçek bir maliyet ya da risk olduğu yerde değer üretir.
- Çok sayıda sunucu aynı paketleri indiriyorsa ve dış çıkış bant genişliğini korumak istiyorsanız.
- Sunucular internete doğrudan çıkamıyorsa (kapalı ağ ya da sıkı güvenlik duvarı).
- Güncellemeleri belirli bir tarihte dondurup tüm ortamlarda aynı paket sürümlerini kullanmak istiyorsanız.
- Dış ayna kesintisinden bağımsız çalışması gereken bir dağıtım hattınız varsa.
Kurumsal ağda mirror nedir sorusunun bir diğer yüzü de denetimdir: hangi paketin hangi tarihte ağınıza girdiğini siz belirlersiniz. Bu yetki, kapalı ağlarda ve sıkı uyum gereken ortamlarda paha biçilmezdir. Ancak aynı yetki, güncellemeleri zamanında eşitleme sorumluluğunu da size verir.
Dolayısıyla soruyu şöyle sorun: tek bir sunucuyu mu yönetiyorsunuz, yoksa bir filoyu mu? Tek VPS için dahili ayna genellikle gereksiz iş yükü yaratır.
Tam ayna mı, önbellek proxy mi, kısmi ayna mı?
Üç yöntem farklı ihtiyaçlara hizmet eder. Debian belgeleri tam ayna için ftpsync aracını önerir. Yalnızca belirli sürümlere ihtiyaç duyan kurumlar içinse debmirror uygun bir çözüm olarak anılır. Önbellek proxy ise ayrı bir yoldur.
| Yöntem | Avantaj | Dezavantaj |
|---|---|---|
| Tam ayna (ftpsync) | Her paket ve sürüm yerelde bulunur | Büyük disk ve düzenli senkronizasyon ister |
| Kısmi ayna (debmirror, reposync) | Yalnızca seçtiğiniz sürüm ve bölümler | Seçim dışı paket gerekirse hata verir |
| Önbellek proxy (apt-cacher-ng, squid, varnish) | Küçük disk, kolay kurulum | İlk indirme yine dış kaynaktan gelir |
Tam ayna ne kadar yer tutar? Debian belgeleri bunun için ayrı bir ayna boyutu sayfasına yönlendirir. Boyut sürümlere göre değiştiği için rakam vermiyoruz. Kısmi aynada ise mimari ve bölüm sayısı, diskin dolma hızını doğrudan belirler.
Çoğu kurumsal ağ için kısmi ayna ya da önbellek proxy yeterli olur. Tam ayna, sürekli ve geniş ihtiyaç doğduğunda anlam kazanır.
Debian ve Ubuntu için kısmi aynayı nasıl kurarsınız?
Kısmi ayna için debmirror aracını kullanabilirsiniz. Araç, indirdiği dizin dosyalarının imzasını yerel anahtar halkasına karşı doğrular. Bu yüzden önce dağıtımın resmi anahtarını o halkaya eklemeniz gerekir. Aşağıdaki komutlar man debmirror sayfasındaki yöntemin kısa bir özetidir.
sudo apt install debmirror debian-archive-keyring
gpg --no-default-keyring --keyring trustedkeys.gpg --import /usr/share/keyrings/debian-archive-keyring.gpg
debmirror --method=https --host=mirror.example.com --root=debian --dist=KODADI --section=main --arch=amd64 /srv/mirror/debian
Birinci komut aracı kurar. İkincisi resmi anahtarı ekler. Üçüncüsü seçtiğiniz sürüm, bölüm ve mimari için aynayı /srv/mirror/debian klasörüne indirir. Host alanına örnek alan adı yerine resmi listeden seçtiğiniz kaynağı yazarsınız.
Ubuntu için de mantık aynıdır, ancak kullanılacak anahtar halkası ve dizin yolu farklıdır. Seçenekleri çalıştırmadan önce man debmirror ile kendi sürümünüzde doğrulayın. İlk senkronizasyon büyük olabilir, boyut için Debian'ın ayna belgelerine bakın.
RPM tabanlı sistemlerde reposync ile aynayı nasıl kurarsınız?
dnf tarafında dnf reposync eklentisi uzak depoyu yerel bir klasöre senkronize eder. Belgeye göre daha önce indirilmiş paketler tekrar indirilmez. Eklenti, dnf-plugins-core paketiyle gelir ve hangi depoyu çekeceğinizi --repoid ile belirtirsiniz.
sudo dnf install dnf-plugins-core createrepo_c
sudo dnf reposync --repoid=ORNEK-DEPO --download-path=/srv/mirror --download-metadata --newest-only --gpgcheck
sudo createrepo_c --update /srv/mirror/ORNEK-DEPO
--download-metadata, indirilen kopyayı hemen depo olarak kullanılabilir hale getirir. --newest-only yalnızca en yeni paketleri alır. --gpgcheck, imzası doğrulanamayan paketleri indirme sonrası siler. Belge, --newest-only ile birlikte createrepo_c --update çalıştırmanızı önerir; böylece eksik paketler metadatadan temizlenir.
Son adımda klasörü bir web sunucusuyla (nginx ya da Apache) statik dosya olarak yayınlar, istemcilerin .repo dosyasına baseurl olarak bu adresi yazarsınız. Depo kimliği (ORNEK-DEPO) önceden sistemde tanımlı olmalıdır.
İstemci sunucuları dahili aynaya nasıl yönlendirirsiniz?
Ayna hazır olunca istemcileri tek tek ya da yapılandırma yönetimiyle yönlendirirsiniz. Debian ve Ubuntu tarafında sources dosyasındaki URIs satırını değiştirirsiniz. RPM tabanlı tarafta .repo dosyasındaki baseurl satırını güncellersiniz.
- Önce mevcut yapılandırmanın yedeğini alın.
- Bir test sunucusunda URIs ya da baseurl satırını dahili adrese çevirin.
- Debian ve Ubuntu'da apt update, RPM tabanlı sistemde dnf makecache çalıştırıp hata olmadığını doğrulayın.
- İmza uyarısı çıkmadığından emin olun, çıkıyorsa anahtarı kontrol edin.
- Sonra diğer sunuculara yayın; önce küçük bir gruptan başlayın.
Ayrıca aynayı izleyin. Senkronizasyon başarısız olduğunda istemciler eski paketlerle kalır ve bunu fark etmezsiniz. Güvenlik güncellemeleri ayrı bir kanal olarak gelir. Dolayısıyla aynanızın o kanalı da kapsadığından emin olmanız gerekir.
Güvenlik güncellemeleri ayna gecikmesinden nasıl etkilenir?
Dağıtımlar güvenlik düzeltmelerini genellikle ayrı bir kanalda yayınlar. Aynanız bu kanalı da kopyalıyorsa, senkronizasyon aralığı kadar bir gecikme doğar. Genel aynalarda bu aralık kısadır. Kendi aynanızda ise sıklığı siz belirlersiniz.
Örneğin aynanızı haftada bir senkronize ederseniz, istemcileriniz yeni bir güvenlik yamasını en kötü ihtimalle bir hafta sonra görür. Üstelik yama kritikse bu bekleyiş kabul edilemez olabilir. Bu nedenle güvenlik kanalını daha sık, kalan kanalları daha seyrek eşitlemeyi düşünebilirsiniz.
Ayrıca sürümleri bilerek dondurmuşsanız, güvenlik yamasını nasıl alacağınızı önceden planlayın. Bunu yapmak yerine yalnızca bir önbellek proxy kullanırsanız yamalar dağıtımdan doğrudan akar. Ayrıntılar için CSF güvenlik duvarı rehberimize da bakabilirsiniz.
Debian'ın ayna kuralları kendi aynanız için ne öğretir?
Debian resmi ayna listesine girmek isteyen işletmecilerden günde dört kez senkronize olmasını ve desteklediği mimariler için kaynak dosyalarını da tutmasını ister. Aynı belge, push mirroring yöntemini de anlatır: üst ayna, alt aynaya bir SSH tetikleyicisi göndererek güncellenmesini söyler. Böylece değişiklik arşivden aynalara en kısa sürede ulaşır.
Kendi aynanız için bu ayrıntılardan üç ders çıkarabilirsiniz. Birincisi, senkronizasyon sıklığı bir karardır, tesadüf değildir. İkincisi, güncellemelerin doğru sırayla yazılması gerekir; bu yüzden Debian bağımsız rsync betikleri yerine ftpsync aracını önerir. Üçüncüsü, tetikleyici ve zamanlayıcı kurduysanız onları da izlemeniz gerekir.
Kısacası ayna kurmak bir kez yapılan kurulum değil, sürekli işletilen bir hizmettir.
Kendi aynanızı kurduktan sonra neleri izlersiniz?
Ayna bir kez kurulup bırakılacak bir dosya klasörü değildir. Sessizce bozulabilir ve istemciler bunu ancak güncelleme hatası alınca fark eder. Bu nedenle birkaç basit göstergeyi düzenli kontrol etmeniz gerekir:
- Son başarılı senkronizasyon zamanı ve bir sonraki planlı çalışma.
- Disk doluluk oranı; senkronizasyon dolu bir diskte yarım kalır.
- Web sunucusu kayıtlarında 404 ve 5xx hatalarının artışı.
- HTTPS sertifikanızın bitiş tarihi.
- Dağıtımın imza anahtarı değiştiğinde anahtar halkası paketinin güncellenmesi.
Bu işleri bir zamanlanmış görev ve bir uyarı kanalıyla otomatikleştirebilirsiniz. Yine de uyarıyı gerçekten okuyacak bir kişi yoksa ayna kurmak yerine genel aynada kalmak daha dürüst bir tercihtir.
Hangi işleri kendiniz yapmamalı, hosting sağlayıcınıza bırakmalısınız?
Her ayna ayarı sizin sorumluluğunuzda olmak zorunda değildir. Bazı durumlarda en doğru karar, işi sağlayıcınıza bırakmaktır:
- Paylaşımlı hosting ya da cPanel hesabınızda kök (root) erişiminiz yoksa paket yöneticisine dokunamazsınız ve dokunmamalısınız.
- Yönetilen VPS kullanıyorsanız kaynak listesini değiştirmek destek kapsamınızı etkileyebilir; önce sağlayıcıya sorun.
- Canlı mağazanızın çalıştığı sunucuda önce test ortamında denemediğiniz bir ayna değişikliği yapmayın.
- Ayna sunucusu için disk, izleme ve güvenlik yamasını ayıramıyorsanız genel ayna ya da önbellek proxy ile devam edin.
Karar verirken kendinize şunu sorun: bu ayarı yanlış yaparsam siteyi kim kurtarır? Cevap "sağlayıcının destek ekibi" ise önce onlarla konuşmak, çoğu zaman en ucuz sigortadır. Bu, bizim de önerdiğimiz dürüst bir ihtiyattır.
Bazı sağlayıcılar kendi aynalarını sunar. Sağlayıcınızın belgesini okuyun, emin olmadığınız noktayı destek ekibine sorun. Daha geniş bir altyapı kararı için hosting seçimi rehberimize ve yedekleme stratejisi yazımıza bakın.
Docker, pip ve npm için de ayna var mı?
Evet, ayna fikri yalnızca Linux paketlerine özgü değildir. Yazılımcıların kullandığı kayıt defterleri (registry) için de benzer önbellek ve ayna çözümleri vardır. Mantık aynıdır: bağımlılığı yakın ve denetlenebilir bir kaynaktan almak.
Container tarafı için Docker rehberimizi okuyabilirsiniz. İmaj oluştururken de paket kurulumu çalıştığı için ayna seçimi derleme süresine yansır. Ancak her araç kendi yapılandırma dosyasını kullanır; komut ve ayar adlarını ilgili aracın resmi belgesinden doğrulayın.
Güvenlik kaygısı da aynıdır. Hangi kaynaktan indirirseniz indirin, imza ya da sağlama toplamı doğrulamasını açık tutmanız gerekir. Ayrıca OWASP Top 10 yazımızdaki bileşen güvenliği başlığı, bağımlılık zincirini düşünmek için iyi bir başlangıçtır.
Ayna kararını verirken izleyeceğiniz kısa yol haritası nedir?
Karar sürecini sadeleştirmek için şu sırayı izleyin. Her adım bir önceki adımın sonucuna bağlıdır, bu yüzden sırayı atlamamak işinizi kolaylaştırır.
- Mevcut ayna adresinizi bulun: sources dosyasına ya da .repo dosyasına bakın.
- Güncelleme sürenizi ölçün; yavaşsa resmi listeden yakın bir aday deneyin.
- İmza doğrulamasının açık olduğunu doğrulayın (Signed-By, gpgcheck).
- Sunucu sayınız ve ağ kısıtlarınız gerektiriyorsa önce önbellek proxy, sonra kısmi ayna düşünün.
- Kendi aynanızı kuruyorsanız senkronizasyonu ve disk doluluğunu izleyin.
- Paylaşımlı hosting ya da yönetilen VPS kullanıyorsanız sağlayıcınıza danışın.
Bu yazıdaki mirror nedir çerçevesini bir cümleye indirirsek: ayna hızı ve sürekliliği artırır, imza ise güveni korur. Küçük bir altyapıda genel ayna ve açık imza doğrulaması çoğu zaman en iyi dengedir.
Altyapı kararlarını dijital pazarlama hedefleriyle birlikte düşünmek isterseniz web tasarım hizmetimize göz atabilir ya da bizimle iletişime geçebilirsiniz. Alan adı ve DNS ayarlarınızı kontrol etmek için de DNS sorgulama aracımızı kullanabilirsiniz.
Kaynaklar: Bu yazıdaki teknik bilgiler aşağıdaki resmi belgelere dayanır. Komutların ve varsayılanların sürümünüzde değişmiş olabileceğini unutmayın; kendi dağıtımınızın belgesini her zaman öncelikli kabul edin.
- Debian: Mirroring Debian (ftpsync, debmirror, push mirroring)
- Debian Wiki: SecureApt (imza zinciri)
- Debian Wiki: SourcesList (deb822 biçimi)
- Ubuntu Server belgeleri: paket yönetimi (ubuntu.sources)
- DNF yapılandırma başvurusu (baseurl, mirrorlist, metalink, gpgcheck)
- DNF reposync eklentisi



