Gentoo'da distcc kullanımı

From Lapis Wiki

Jump to: navigation, search
Bu makale NASIL bölümü serisinin bir parçasıdır
MasaÜstü Donanım Dağıtımlar
Tarayıcılar Programlama Linux ve Oyunlar

Konu başlıkları

Distcc nedir?

Distcc, derleme işleminin bir networke dağıtılarak yapılmasını sağlayan programdır. Portage ile çalışabildiği için, her hangi bir paketi emerge yaparken, diğer bilgisayarlarla beraber derlendiği için derleme süresi azalır.


Kurulum

(Bu adım sistemdeki tüm bilgisayarlarda yapılacak) Gentoo da distcc kurulumu ve konfigurasyonu oldukça basittir.

#  emerge distcc

komutu ile distcc ve tüm bağımlılıklarını kurabiliriz.


Ayarlanması

(Bu adım sistemdeki tüm bilgisayarlarda yapılacak) Kurulum bittikten sonra /etc/make.conf dosyasını bir editor ile açarak, birkaç değişiklik yapmamız gerekiyor.

MAKEOPTS="-jN"
FEATURES="distcc"

Buradaki N sayısını, networkdeki toplam cpu sayısının 2 katının 1 fazlası olarak ayarlıyabiliriz.Benim gentoo yuklu 2 bilgisayarım var, ve N i 5 olarak ayarladım. Daha sonra en iyi sonucu elde etmek için bu sayı değiştirilebilir.

Şimdi derleme işleminin paylaşılacağı bilgisayarları belirtmemiz gerekiyor.

#  distcc-config   --set-hosts   "localhost 192.168.1.10"

Yukarıdaki komut sayesinde, derleme yerel bilgisayarda ve 192.168.1.10 ip'li bilgisayarda paylaşılarak yapılır. Bu komut aslında yukarıdaki bilgisayarları /etc/distcc/hosts dosyasına eklemekten başka birşey yapmamaktadır. Isterseniz daha sonra o dosyayı bir metin editoru ile açarak değişiklik yapabilirsiniz.

localhost   192.168.1.10
localhost   192.168.1.10/5

Birinci satırda sadece derleme yapacak bilisayarların listesi vardır, yukarıdaki komut bu satırı oluşturur. Ikinci satırda ise, 192.168.1.10 ip'li bilgisayarın yapacağı maximum iş /5 sayısı ile belirtilmiştir. Bu dosya da daha sonra en iyi sonucu elde etmek için değiştirilebilir.


Başlatılması

(Bu adım sistemdeki tüm bilgisayarlarda yapılacak)

#  /etc/init.d/distcc  start

komutu verilerek deamon başlatılabilir. Bu komutu her seferinde vermek yerine,sistemin açılışında başlaması ayarlıyabilirsiniz:

#  rc-update  add   distccd   default


Crosscompiling

Eğer networkdeki bilgisayar mimarileri değişik ise, crossdev paketinin sistemlerde kurulu olması gerekmektedir.Mesela bir bilgisayar athlon-xp, diğeri pentium-mmx olabilir.

#   emerge  crossdev


Derleme Sürecinin Izlenmesi

DISTCC_DIR=`portageq envvar DISTCC_DIR` distccmon-gnome &

Bu komutu kullanabilmeniz için, distcc kurulurken USE değişkenine gnome eklenmiş olduguna emin olun ( USE="gnome" emerge distcc)


Resim:Distcc.jpg


Desteklenmeyen bazı paketler

Distcc kullanırken bazı paketlerin dağıtılarak derlenmediğini farkedebilirsiniz. Mesela XFree ve Mozilla distcc kullanımına izin vermemektedir.