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