Debian | Ubuntu Local Depo Oluşturma

Bu kılavuzda, apt-mirror aracıyla yerel ağınız için bir Debian/Ubuntu aynasının nasıl oluşturabileceğimize bakalım. Yerel ağınıza birden çok sistem kurmanız gerekiyorsa, yerel bir Debian/Ubuntu aynasına sahip olmak iyidir, çünkü o zaman gerekli tüm paketler hızlı LAN bağlantısı üzerinden indirilebilir ve böylece hem güvenlik hem de internet bant genişliğinizden tasarruf edilir.
Ben depo alanı için ayrı bir disk ekledim ve mount ettim. Sizde isterseniz bu şekilde yapılandırma yapabilirsiniz.

Tüm paketleri aynanıza indirmek için hızlı bir internet bağlantısına ve çok fazla sabit disk alanına ihtiyacınız olduğunu unutmayın.
Depoları eklerken, kararlı olanları eklemeniz önemlidir. Aksi halde sorun yaşayabilirsiniz.
Yapınızda olan her farklı sistem için, depo eklemeniz gerektiğini unutmayın.
System Requirements
- Ubuntu 18x-22x
- Root haklarına sahip kullanıcı
apt-mirror yüklenmesi
apt-mirror Debian ve Ubuntu GNU/Linux dağıtımlarının veya tipik olarak açık kaynak geliştiricileri tarafından sağlanan diğer uygun kaynakların herhangi bir bölümünü (hatta tümünü) yansıtma yeteneği sağlayan küçük bir araçtır.
Debian veya Ubuntu'da basitçe kurmak için aşağıdaki komutu çalıştırınız.
sudo apt install apt-mirror

apt-mirror ayarlanması
apt-mirror konfigürasyon dosyasını açalım ve ilgili ayarları yapalım.
vim /etc/apt/mirror.list
Repository’nin dizini /repo olarak yapılandırılmıştır. # sembolünü kaldırıp, yeni bir path belirleyebilirsiniz.
Varsayılan olarak bırakmak isterseniz, # sembolünü kaldırın.

Şimdi end config seçeneğinde sonraki her satıra # sembolü ekleyelim ve istediğimiz mirror adreslerini ekleyelim.
Örnek olması adına, ubuntu 20.04 security patchleri ekleyeceğim. Main yazanlar, resmi olarak desteklenen, açık kaynaklı paketler içerir. Bu kısımları araştırıp eklemekte her zaman fayda var. Aksi halde gereksiz yere indirme işlemi gerçekleştirirsiniz.
deb http://tr.archive.ubuntu.com/ubuntu focal-security main restricted
clean http://tr.archive.ubuntu.com/ubuntu
Yukarıdaki örnekte archive.ubuntu.com yerine tr.archive.ubuntu.com kullandığımı unutmayın . Size en yakın olan aynaları kullanmak her zaman en mantıklısıdır.

En sondaki clean bölümü, apt-mirror'a sabit disk alanının boşaltılıp boşaltılamayacağını görmek için yerel sabit diskteki hangi dizinlerde kontrol etmesi gerektiğini söyler. İstediğiniz, tüm yerel depoları kontrol etmek için yukarıdaki gibi eklemeniz gerekmektedir.
apt-mirror başlatılması
Artık apt-mirror yapılandırıldığına göre, onu ilk kez çalıştırmanın ve yerel Debian ve Ubuntu deposunu oluşturan tüm paketleri indirmenin zamanı geldi. Tek yapmamız gereken aşağıdaki komutu çalıştırmak.
sudo apt-mirror

apt-mirror size kaç GB indirmesi gerektiğini söyler. Bu birkaç saat sürebilir, bu yüzden sabırlı olun. Paketler yukarıdaki yapılandırmaya göre /repo dizininin alt dizinlerinde saklanacaktır , bu yüzden bu dizini tutan bölümde yeterli disk alanı kaldığından emin olun. Eğer farklı depolar eklerseniz pathler farklı olacaktır.

apt-mirror temizlenmesi
apt-mirror tüm paketleri indirmeyi bitirdikten sonra, büyük olasılıkla /var/spool/apt-mirror/var/clean.sh komut dosyasıyla biraz disk alanı boşaltabileceğinizi söyleyecektir. Şimdi temizlemeyi başlatın.
/bin/bash /var/spool/apt-mirror/var/clean.sh
apt-mirror cron oluşturulması
Güncellemeri, manuel olarak yapmak istemiyorsanız, bunun için günlük bir cron işi oluşturabilirsiniz. Apt-mirror ile hazır bir zamanlanmış görev /etc/cron.d/apt-mirror dosyası oluşacaktır. Bu, apt-mirror'ı her gün saat 4.00'te çalıştıracak ve /var/spool/apt-mirror/var/cron.log'da oturum açacaktır.
sudo vi /etc/cron.d/apt-mirror
Ben her gün saat 7 olarak ayarlayacağım.

repo'ya HTTP Üzerinden Erişilmesi
Yeni yerel Debian/Ubuntu aynamıza http üzerinden erişmek istediğimiz için, Apache veya nginx web sunucusunu kullanabilirsiniz. Bu kılavuzda nginx üzerinden devam edeceğim mantık aynı zaten.
sudo apt install nginx -y

Yükleme tamamlandıktan sonra, varsayılan konfigürasyon dosyasında erişim engeli almamak için ufak bir ayar yapalım.
sudo vim /etc/nginx/sites-enabled/default
Dosya açıldıktan sonra, aşağıdaki görseldeki gibi autoindex seçeneğini aktif hale getirelim.
autoindex on;

Dosyayı kayıt edip çıkalım.
:wq!
Debian ve Ubuntu altındaki varsayılan nginx belge kökü /var/www/html olarak geçmektedir. Ancak biz kurulan depolarımızı /repo/mirror konumu olarak ayarladık.

Depolarımıza http://your-mirror-server/debian ve http://your-mirror-server/ubuntu tarafından erişilebilir hale getirmek için sembolik bağlantılar oluşturmamız gerekir.
sudo ln -s /repo/mirror/tr.archive.ubuntu.com/ubuntu/ /var/www/html/ubuntu

Farklı aynalar kullanıyorsanız bu komutları ayarlamayı unutmayın .
Son olarak nginx servisini yeniden başlatın.
sudo systemctl restart nginx
Herhangi bir tarayıcı üzerinden kontrol ettiğimizde başarılı bir şekilde http üzerinden depo'ya erişim olduğunu görebilirsiniz.

Client Local Repo Ayarlanması
Artık local mirror kullanıma hazır olduğuna göre tek yapmamız gereken local networkümüzde bulunan sistemlerimize kullanmalarını söylemek.
Ubuntu sistemlerde, /etc/apt/sources.list dosyasını editör ile açın.
vim /etc/apt/sources.list
Mirror adresinizi aşağıdakine benzer şekilde değiştirebilirsiniz.
deb http://your-mirror-address/ubuntu focal-security main restricted
Artık tek yapmanız gereken, paket listesini güncellemektir.
sudo apt update
Yeni kurulum yaparken yükleyici size hangi depoyu kullanmak istediğinizi sorduğunda yerel mirror adresinizi kullanabilirsiniz.