Distcc yazılımı ile derleme işlemini paylaştırma
Gentoo kaynak tabanlı bir dağıtımdır.
Bir uygulamayı ancak derleyerek kurabiliyorsunuz.
Bu da uzun süre bir vakit alıyor.
Bu derste distcc
yazılımı kullanarak derleme işlemini iki makine arasında paylaştırmaya çalışacağız.
Zaten "distribute" kelimesi pay etmek, üleştirmek, paylaştırmak anlamına geliyor.
Ağ üzerinde bulunan ana makinede Gentoo kurulur. Yardımcı makinede ise Manjaro kuruludur.
Asıl zor derleme işlerini Gentoo makine yapıyor. Manjaro ise ona yardımcı olacak.
Gentoo üzerinde distcc
yazılımını kurmak için :
emerge distcc
komutunu veriyoruz.
Manjaro kurulu makinede ise
sudo pacman -S distcc
ile yazılımı kurabiliriz.
Manjaro makinede /etc/conf.d/distccd
kütüğünü şu şekilde ayarlıyoruz.
DISTCC_ARGS="--allow-private --log-file /tmp/distccd.log"
Bu seçenek aynı yerel ağ üzerindeki makinelere erişmeye izin veriyor.
Sonra /etc/default/distcc
kütüğünü şu şekilde ayarlıyoruz.
STARTDISTCC=true
ALLOWEDNETS="192.168.0.0/24"
LISTENER="192.168.0.10"
Burada 192.168.0.10
ana Gentoo kurulu makinenin IP adresini gösteriyor.
systemctl daemon-reload
Değişiklikleri etkinleştiriyoruz.
systemctl enable distccd
systemctl start distccd
Paylaşık derleme hizmetini başlangıçta çalışacak şekilde ayarlıyor ve hizmeti başlatıyoruz.
Gentoo makine üzerinde derleme işlemine hangi makinelerin katılacağını belirliyoruz.
/usr/bin/distcc-config --set-hosts "localhost 192.168.0.10"
Buraya localhost
ekleyerek ana makinenin de derleme işlemine katılacağını belirtiyoruz.
192.168.0.10
ise yardımcı makinenin IP numarasını gösteriyor.
Bu yazdığımız değerler /etc/distcc/hosts
kütüğüne yazılıyor.
localhost 192.168.0.10
Gentoo paket yöneticisinin paylaştırılmış derleme özelliğini kullanabilmesi için bazı ayarlar yapmak gerekiyor.
Çekirdek sayısını öğrenmek için aşağıdaki komutu kullanabiliriz.
nproc --all
4 çekirdek ana makinede, 4 çekirdek ise yardımcı makinede var.
Derleme seçeneklerinde N sayısını toplam çekirdek sayısının iki katının bir fazlasına, bizim örneğimizde 17'e ayarlamak gerekiyor.
M sayısını ise sadece ana makinedeki çekirdek sayısına yani 4'e ayarlıyoruz.
Buna göre /etc/portage/make.conf
kütüğünü aşağıdaki gibi ayarlayınız.
# N ve M yerine yukarıda hesapladığımız değerler gelecek
MAKEOPTS="-jN -lM"
FEATURES="distcc"
Burada /etc/portage/make.conf
kütüğünde CFLAGS
ya da CXXFLAGS
ismindeki derleyici bayraklarında -march=native
olmamasına dikkat ediniz.
Aksi halde derlemeyi paylaştırma mümkün olmayabilir.
Bu ayarlardan sonra emerge
komutu ile bir yazılım kurduğunuzda derleme işleminin iki bilgisayara paylaştırılması gerekir.
Yorumlar