Bu yazımızda kurumunuz dahilinde nasıl bir Pardus lokal depo sunucusu kuracağınızı anlatacağız.
Çok sayıda Pardus istemciye sahip bir kurumunuz varsa, veya ileride kurum dahilinde çok sayıda Pardus istemciye sahip olmayı planlıyorsanız, lokal bir depo sunucusu kurulumu, kurumunuza ağ trafiği açısından rahatlık getirecektir. Normal şartlarda istemciniz paket güncellemelerini depo.pardus.org.tr/pardus adresinden alacaktır. Bu durum az sayıda istemcide, sizin ve kurumunuz için bir sorun teşkil etmezken, istemci sayısının artması ile günlük ağ trafiğiniz aynı ölçüde artacaktır.

Lokal depo sunucusu için gerekenler

Lokal depo sunucunuzun öncelikli olarak disk kapasitesinin büyük ve ileri durumlarda göz önünde bulundurularak, disk alanınızın büyütülmeye müsait olmasını gerektirmektedir. Bu sebeple lokal depo dosyalarınızın LVM altyapısı kullanan bir diskte bulundurulmasını tavsiye ederiz.

Vereceğim örnekte Pardus Reposu içerik dosyalarını /depo klasörü altına kopyalacağım. /depo klasörünü sisteminizde öntanımlı bir klasör olmadığından, bu örnek üzerinden gidecekseniz, klasörü oluşturmanız gerekmektedir.

# depo klasörünün oluşturulması
sudo mkdir /depo

Apt-Mirror kurulması ve konfigürasyonu

Bu aşamada disk alanımızın hazır olması ile artık mirror işlemine başlayabiliriz. Apt-mirror programı kurulur.

sudo apt-get install apt-mirror

/etc/apt/mirror.list dosyası düzenlenir. Dosya içeriği ihtiyacınız olan sürümlere göre özelleştirilebilir.

/etc/apt/mirror.list 
############# config ##################
#
set base_path    /depo
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb http://depo.pardus.org.tr/pardus yirmiuc main contrib non-free non-free-firmware
# deb-src http://depo.pardus.org.tr/pardus yirmiuc main contrib non-free non-free-firmware

## Pardus Deb
deb http://depo.pardus.org.tr/pardus yirmiuc-deb main contrib non-free non-free-firmware
# deb-src http://depo.pardus.org.tr/pardus yirmiuc-deb main contrib non-free non-free-firmware

## Pardus Security Deb
deb http://depo.pardus.org.tr/guvenlik yirmiuc-deb main contrib non-free non-free-firmware
# deb-src http://depo.pardus.org.tr/guvenlik yirmiuc-deb main contrib non-free non-free-firmware

Bu örnekte apt-mirror işlemi ile /depo klasörünüzün altına, Pardus 23 ana paketleri ve güvenlik paketleri wget programı aracılığı ile kopyalanmaya hazırdır.

sudo apt-mirror

komutu ile mirror işlemi başlatılır. Apt-mirror 20 adet paralel iş akışı üzerinden bu işlemi başlatacaktır. Bu işlem ağ trafiğinize yük getireceğinden, bu işlemi başlatmadan evvel saat planınızı yapmanızı tavsiye ederiz. Örnek çıktıda 135 gb dosya indirileceği bildirilmektedir. Bu sayı mirrorlanacak repo sayısı, repo boyutu gibi parametrelere göre değişmektedir.

Downloading 60 index files using 20 threads...
Begin time: Wed Dec 20 16:49:58 2023
[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]...
End time: Wed Dec 20 16:52:29 2023

Processing translation indexes: [TT]

Downloading 0 translation files using 0 threads...
Begin time: Wed Dec 20 16:52:29 2023
[0]...
End time: Wed Dec 20 16:52:29 2023

Processing DEP-11 indexes: [DD]

Downloading 0 dep11 files using 0 threads...
Begin time: Wed Dec 20 16:52:29 2023
[0]...
End time: Wed Dec 20 16:52:29 2023

Processing indexes: [PP]

135.0 GiB will be downloaded into archive.
Downloading 63839 archive files using 20 threads...
Begin time: Wed Dec 20 16:52:31 2023

İşlem bittikten sonra apache2 web sunucusu kurulup, sunucu ipniz üzerinden lokal repo hizmetini verebilirsiniz.

apt-get install apache2
ln -s /depo/mirror/depo.pardus.org.tr/guvenlik/ /var/www/html/guvenlik
ln -s /depo/mirror/depo.pardus.org.tr/pardus/ /var/www/html/pardus

İlgili işlemi otomatik olarak günlük yapma isterseniz, crontab -e ile tanım yapabilirsiniz:
örneğin
0 4 * * * /usr/bin/apt-mirror

İstemci tarafına tanıtma

İstemci tarafınızda yukarıda mirror işlemi yapılan sunucunun ip bilgilerini veya dns adresini /etc/apt/sources.list dosyasında tanımlamanız yeterli olacaktır.

deb http://<sunucuadres>/pardus yirmiuc main contrib non-free non-free-firmware
deb http://<sunucuadres>/pardus yirmiuc-deb main contrib non-free non-free-firmware
deb http://<sunucuadres>/guvenlik yirmiuc-deb main contrib non-free non-free-firmware