Gentoo'da distcc kullanımı
From Lapis Wiki
Bu makale NASIL bölümü serisinin bir parçasıdır
|
| MasaÜstü • Donanım • Ağ • 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)
Desteklenmeyen bazı paketler
Distcc kullanırken bazı paketlerin dağıtılarak derlenmediğini farkedebilirsiniz. Mesela XFree ve Mozilla distcc kullanımına izin vermemektedir.

