Distcc kullanarak derleme işlemini paylaştırma

Distcc yazılımı ile derleme işlemini paylaştırma

Giriş

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.

Yazılımı kuralım

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.

Yardımcı makinedeki ayarlar

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.

Ana makinedeki ayarlar

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öneticisi ile kullanmak

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

yorum yaz

Yorum yaz

Henüz yorum yok.