EnglishFrenchSpanyol

Ad


Favicon OnWorks

distcc - Dalam talian di Awan

Jalankan distcc dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan distcc yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


distcc - pengkompil C/C++/ObjC yang diedarkan dengan sambungan pam distcc

SINOPSIS


distcc [PENYUSUN PILIHAN]

distcc [PENYUSUN PILIHAN]

[PENYUSUN PILIHAN]

distcc [DISTCC PILIHAN]

DESCRIPTION


distcc mengedarkan kompilasi kod C merentasi beberapa mesin pada rangkaian. distcc
hendaklah sentiasa menjana hasil yang sama seperti kompilasi tempatan, ia mudah dipasang dan
gunakan, dan selalunya lebih cepat daripada penyusunan tempatan.

Versi ini menggabungkan distcc biasa serta peningkatan yang dipanggil mod pam atau
distcc-pam.

Untuk setiap kerja, distcc dalam mod biasa menghantar kod sumber praproses lengkap dan
hujah pengkompil merentasi rangkaian daripada klien ke pelayan kompilasi. Dalam pam
mod, distcc menghantar kod sumber dan fail pengepala disertakan secara rekursif (tidak termasuk fail
daripada direktori pengepala sistem lalai), supaya kedua-dua prapemprosesan dan penyusunan
boleh berlaku pada pelayan kompilasi. Ini mempercepatkan penghantaran kompilasi oleh
sehingga tertib magnitud berbanding distcc biasa.

Penyusunan didorong oleh mesin pelanggan, yang biasanya stesen kerja pembangun
atau komputer riba. Pelanggan distcc berjalan pada mesin ini, seperti juga membuat, prapemproses (jika
mod pam distcc tidak digunakan), penyambung, dan peringkat lain dalam proses binaan. mana-mana
bilangan mesin sukarelawan bertindak sebagai pelayan kompilasi dan membantu pelanggan untuk membina
program, dengan menjalankan distccd(1) daemon, pengkompil C dan pemasang seperti yang diperlukan.

distcc boleh berjalan merentasi sama ada soket TCP (pada port 3632 secara lalai), atau melalui terowong
perintah seperti ssh(1). Untuk sambungan TCP, sukarelawan mesti menjalankan distccd(1) daemon
sama ada secara langsung atau dari inetd. Untuk sambungan SSH distccd mesti dipasang tetapi harus
tidak mendengar sambungan.

Sambungan TCP hanya boleh digunakan pada rangkaian selamat kerana tiada pengguna
pengesahan atau perlindungan kod sumber atau objek. Sambungan SSH biasanya 25%
lebih perlahan kerana overhed pemproses untuk penyulitan, walaupun ini boleh berbeza-beza
bergantung pada CPU, rangkaian dan program yang sedang dibina.

distcc bertujuan untuk digunakan dengan GNU Make's -j pilihan, yang menjalankan beberapa pengkompil
proses secara serentak. distcc menyebarkan kerja merentasi kedua-dua CPU tempatan dan jauh.
Oleh kerana distcc dapat mengagihkan kebanyakan kerja merentasi rangkaian, lebih tinggi
tahap konkurensi boleh digunakan berbanding untuk binaan tempatan. Sebagai peraturan, yang -j nilai
hendaklah ditetapkan kepada kira-kira dua kali ganda jumlah bilangan CPU pelayan yang tersedia tetapi tertakluk kepada
had pelanggan. Tetapan ini membenarkan penyimpangan maksimum tugas yang disekat
menunggu cakera atau rangkaian IO. Ambil perhatian bahawa distcc juga boleh berfungsi dengan kawalan binaan lain
alatan, seperti SCons, di mana tetapan konkurensi yang serupa mesti dilaraskan.

. -j tetapan, terutamanya untuk nilai besar -j, mesti mengambil kira beban CPU pada
klien. Langkah tambahan mungkin diperlukan untuk mengurangkan beban pelanggan. Sebagai contoh,
pemautan serentak hendaklah dihadkan dengan teruk menggunakan kunci tambahan. Kesan daripada
aktiviti binaan lain, seperti kompilasi Java semasa membina kod campuran, sepatutnya
dipertimbangkan. The --localslots_cpp parameter secara lalai ditetapkan kepada 16. Ini mengehadkan
bilangan proses serentak yang melakukan prapemprosesan dalam mod distcc biasa (bukan pam).
Oleh itu, lebih besar -j nilai daripada 16 boleh digunakan tanpa membebankan klien CPU tunggal
disebabkan oleh prapemprosesan. Nilai besar sedemikian mungkin mempercepatkan bahagian binaan yang tidak
melibatkan kompilasi C, tetapi ia mungkin tidak berguna untuk kecekapan distcc dalam mod biasa.

Sebaliknya, menggunakan mod pam dan katakan 40 pelayan, tetapan daripada -j80 atau lebih besar mungkin
sesuai walaupun untuk pelanggan CPU tunggal.

Anda amat disyorkan untuk memasang versi pengkompil yang sama pada semua mesin
mengambil bahagian dalam pembinaan. Penyusun yang tidak serasi boleh menyebabkan penyusunan atau pautan misteri
kegagalan.

PERMULAAN PANTAS


1 Untuk setiap mesin, muat turun distcc, bongkar dan pasang.

2 Pada setiap pelayan, jalankan distccd --daemon bersama --benarkan pilihan untuk menyekat
akses.

3 Letakkan nama pelayan dalam persekitaran anda:
$ eksport DISTCC_HOSTS='localhost merah hijau biru'

4 Bina!
$ buat -j8 CC=distcc

PERMULAAN PANTAS UNTUK DISTCC-PUMP MODE


Teruskan seperti di atas, tetapi dalam Langkah 3, nyatakan bahawa hos jauh akan memikul beban
prapemprosesan dan bahawa fail yang dihantar melalui rangkaian harus dimampatkan:

$ eksport DISTCC_HOSTS='--rawak localhost merah,cpp,lzo hijau,cpp,lzo
biru,cpp,lzo'

. --rawak pilihan menguatkuasakan penggunaan seragam pelayan penyusun. Sementara anda akan dapat
beberapa manfaat daripada mod pam distcc dengan hanya beberapa pelayan, anda mendapat faedah yang semakin meningkat
dengan lebih banyak CPU pelayan (sehingga ratusan!). Balut binaan anda di dalam arahan pam,
di sini dengan mengandaikan 10 pelayan:

$ distcc-pam buat -j20 CC=distcc

BAGAIMANA PLAIN (BUKAN PAM) DISTCC WORKS


distcc hanya pernah menjalankan pengkompil dan pemasang dari jauh. Dengan distcc biasa, yang
prapemproses mesti sentiasa berjalan secara setempat kerana ia perlu mengakses pelbagai fail pengepala dihidupkan
mesin tempatan yang mungkin tidak hadir, atau mungkin tidak sama, pada sukarelawan. The
linker juga perlu memeriksa perpustakaan dan fail objek, dan oleh itu mesti dijalankan secara tempatan.

Pengkompil dan penghimpun hanya mengambil satu fail input (sumber praproses) dan
menghasilkan satu output (fail objek). distcc menghantar kedua-dua fail ini merentasi
rangkaian dan oleh itu boleh menjalankan pengkompil/pemasang dari jauh.

Nasib baik, untuk kebanyakan program yang menjalankan prapemproses agak murah, dan
penghubung dipanggil agak jarang, jadi kebanyakan kerja boleh diedarkan.

distcc memeriksa baris arahannya untuk menentukan fasa mana yang sedang digunakan, dan
sama ada kerja itu boleh diagihkan.

BAGAIMANA DISTCC-PUMP MODE WORKS


Dalam mod pam, distcc menjalankan prapemproses dari jauh juga. Untuk berbuat demikian, prapemproses mesti
mempunyai akses kepada semua fail yang akan diakses jika telah dijalankan secara setempat. Dalam
mod pam, oleh itu, distcc mengumpulkan semua pengepala yang disertakan secara rekursif, kecuali
yang merupakan pengepala sistem lalai, dan menghantarnya bersama-sama dengan fail sumber ke
pelayan kompilasi.

Dalam mod distcc-pump, pelayan membongkar set semua fail sumber secara sementara
direktori, yang mengandungi pepohon direktori yang mencerminkan bahagian sistem fail yang
adalah berkaitan dengan prapemprosesan, termasuk pautan simbolik.

Pengkompil kemudiannya dijalankan dari laluan dalam direktori sementara yang sepadan dengan
direktori kerja semasa pada klien. Untuk mencari dan menghantar beratus-ratus fail
yang selalunya merupakan sebahagian daripada kompilasi tunggal, mod pam menggunakan incremental include
algoritma analisis. Pelayan termasuk ialah program Python yang melaksanakan ini
algoritma. Perintah distcc-pump memulakan pelayan include supaya sepanjang binaan
ia boleh menjawab termasuk pertanyaan dengan arahan distcc.

Pelayan termasuk menggunakan analisis statik bahasa makro untuk menangani bersyarat
penyusunan dan pengiraan termasuk. Ia menggunakan harta yang apabila fail pengepala diberikan mempunyai
sudah dianalisis untuk termasuk, tidak perlu berbuat demikian lagi jika semua termasuk
pilihan (-I's) tidak berubah (bersama-sama dengan syarat lain).

Untuk binaan besar, fail pengepala disertakan, secara purata, ratusan kali setiap satu. Dengan
mod distcc-pump setiap fail tersebut dianalisis hanya beberapa kali, mungkin sekali sahaja
telah dipraproses ratusan kali. Selain itu, setiap sumber atau fail pengepala adalah sekarang
dimampatkan sekali sahaja, kerana pelayan sertakan memoize fail yang dimampatkan. Sebagai
Hasilnya, masa yang digunakan untuk menyediakan kompilasi mungkin berkurangan sehingga satu urutan magnitud
atas prapemprosesan distcc biasa.

Oleh kerana distcc dalam mod pam mampu menolak fail sehingga kira-kira sepuluh kali lebih pantas, bina
kelajuan boleh meningkat 3X atau lebih untuk binaan besar berbanding mod distcc biasa.

Sekatan UNTUK Pam MODE


Menggunakan mod pam memerlukan kedua-dua pelanggan dan pelayan menggunakan keluaran 3.0 atau lebih baru distcc dan
distccd (masing-masing).

Analisis termasuk tambahan bagi mod pam distc terletak pada andaian asas
bahawa fail sumber dan pengepala tidak berubah semasa proses binaan. Beberapa binaan kompleks
sistem, seperti itu untuk kernel Linux 2.6, tidak cukup memenuhi keperluan ini. Kepada
mengatasi isu sedemikian, dan kes sudut lain seperti laluan fail mutlak dalam termasuk, lihat
yang include_server(1) laman lelaki.

Satu lagi andaian penting ialah konfigurasi termasuk semua mesin mestilah
sama. Oleh itu, pengepala di bawah laluan sistem lalai mestilah sama pada semua pelayan
dan semua pelanggan. Jika pemasangan pengkompil GNU standard digunakan, maka keperluan ini
terpakai kepada semua perpustakaan yang fail pengepalanya dipasang di bawahnya / usr / sertakan or
/usr/local/include/. Ambil perhatian bahawa memasang pakej perisian selalunya membawa kepada tambahan
fail pengepala diletakkan dalam subdirektori sama ada.

Jika andaian ini tidak berlaku, maka adalah mungkin untuk memecahkan binaan dengan pam distcc
mod, atau lebih teruk, untuk mendapatkan hasil yang salah tanpa amaran. Pada masa ini keadaan ini tidak
disahkan, dan terdapat dalam senarai TODO kami untuk menangani isu ini.

Cara mudah untuk menjamin bahawa konfigurasi termasuk adalah sama adalah dengan menggunakan
pengkompil yang mentakrifkan laluan carian sistem lalai terhad kepada direktori
pemasangan pengkompil.

Melihat include_server(1) manual untuk maklumat lanjut tentang gejala dan punca pelanggaran
andaian mod pam distcc.

OPTION RINGKASAN


Kebanyakan pilihan yang dihantar kepada distcc ditafsirkan sebagai pilihan pengkompil. Pilihan berikut
difahami oleh distcc sendiri. Jika mana-mana pilihan ini dinyatakan, distcc tidak akan
memanggil pengkompil.

- membantu Memaparkan arahan ringkasan.

--versi
Memaparkan versi klien distcc.

--tuan rumah rancangan
Memaparkan senarai hos yang akan digunakan oleh distcc. Lihat bahagian Spesifikasi Hos.

--imbasan-termasuk
Memaparkan senarai fail yang distcc akan hantar ke mesin jauh, sebagai
dikira oleh pelayan termasuk. Ini adalah anggaran konservatif (lebih-) bagi
fail yang akan dibaca oleh pengkompil C. Pilihan ini hanya berfungsi dalam mod pam.
Lihat bahagian "Cara Mod Distcc-pump Berfungsi" untuk butiran tentang cara ini dikira.

Senarai keluaran oleh distcc --imbasan-termasuk akan mengandungi satu entri setiap baris. setiap satu
baris mengandungi kategori diikuti dengan laluan. Kategori tersebut ialah salah satu daripada FILE, SYMLINK,
DIRECTORY, atau SYSTEMDIR:

FAIL menunjukkan fail sumber atau fail pengepala yang akan dihantar ke pelayan distcc
tuan rumah.

SYMLINK menunjukkan pautan simbolik yang akan dihantar ke hos pelayan distcc.

DIREKTORI menunjukkan direktori yang mungkin diperlukan untuk menyusun sumber
fail. Sebagai contoh, direktori "foo" mungkin diperlukan kerana disertakan dengan
borang #include "foo/../bar.h". Direktori sedemikian akan dibuat pada distcc
hos pelayan.

SYSTEMDIR menunjukkan sistem termasuk direktori, iaitu direktori yang berada di
lalai pengkompil termasuk laluan, seperti "/ usr / sertakan"; direktori tersebut ialah
diandaikan hadir pada hos pelayan distcc, dan oleh itu tidak akan dihantar ke
hos pelayan distcc.

-j Memaparkan tahap konkurensi distcc, seperti yang dikira daripada senarai hos; ia adalah
bilangan maksimum kerja tertunggak yang dikeluarkan oleh pelanggan ini kepada semua pelayan. Oleh
lalai ini akan menjadi empat kali ganda bilangan hos dalam senarai hos, melainkan jika
/LIMIT pilihan telah digunakan dalam senarai hos. Lihat bahagian Spesifikasi Hos.

MEMASANG DISTCC


Terdapat tiga cara berbeza untuk memanggil distcc, untuk disesuaikan dengan keadaan yang berbeza:

distcc boleh dipasang di bawah nama pengkompil sebenar, untuk memintas panggilan ke
itu dan jalankannya dari jauh. Penyusun "menyamar" ini mempunyai keserasian yang paling luas
dengan pokok sumber sedia ada, dan mudah apabila anda ingin menggunakan distcc untuk semua
kompilasi. Fakta bahawa distcc sedang digunakan adalah telus kepada makefiles.

distcc boleh ditambah kepada baris arahan pengkompil, seperti "distcc cc -c hello.c"
atau CC="distcc gcc". Ini mudah apabila anda ingin menggunakan distcc untuk beberapa sahaja
kompilasi atau untuk mencubanya, tetapi boleh menyebabkan masalah dengan beberapa makefiles atau
versi libtool yang menganggap $CC tidak mengandungi ruang.

Akhirnya, distcc boleh digunakan secara langsung sebagai pengkompil. "cc" sentiasa digunakan sebagai
nama pengkompil sebenar dalam mod "tersirat" ini. Ini boleh menjadi mudah untuk
penggunaan interaktif apabila mod "eksplisit" tidak berfungsi tetapi tidak benar-benar disyorkan
untuk kegunaan baru.

Ingat bahawa anda tidak seharusnya menggunakan dua kaedah untuk memanggil distcc pada masa yang sama. Jika awak
sedang menggunakan direktori penyamaran, jangan tukar CC dan/atau CXX, letakkan direktori itu lebih awal
pada PATH anda. Jika anda tidak menggunakan direktori penyamaran, anda perlu sama ada menukar CC
dan/atau CXX, atau ubah suai makefile untuk memanggil distcc secara eksplisit.

MASQUERADING


Idea asas adalah untuk mencipta "direktori penyamaran" yang mengandungi pautan dari nama
pengkompil sebenar kepada binari distcc. Direktori ini dimasukkan awal pada PATH, jadi
bahawa panggilan kepada pengkompil dipintas dan distcc dijalankan sebaliknya. distcc kemudian mengeluarkan
sendiri dari PATH untuk mencari pengkompil sebenar.

Sebagai contoh:

# mkdir /usr/lib/distcc/bin
# cd /usr/lib/distcc/bin
# ln -s ../../../bin/distcc gcc
# ln -s ../../../bin/distcc cc
# ln -s ../../../bin/distcc g++
# ln -s ../../../bin/distcc c++

Kemudian, untuk menggunakan distcc, pengguna hanya perlu meletakkan direktori /usr/lib/distcc/bin awal
PATH, dan telah menetapkan senarai hos dalam DISTCC_HOSTS atau fail. distcc akan mengendalikan
berehat.

Ambil perhatian bahawa direktori penyamaran ini mesti berlaku pada PATH lebih awal daripada direktori itu
mengandungi penyusun sebenar nama yang sama, dan mana-mana program tambahan yang
panggilan pengkompil ini (seperti sebagai atau ld) juga mesti ditemui pada PATH dalam direktori
selepas direktori penyamaran sejak distcc memanggil pengkompil sebenar dengan PATH
nilai yang mempunyai semua direktori sehingga dan termasuk direktori penyamaran dipangkas.

Ada kemungkinan untuk mendapatkan "ralat rekursi" dalam mod penyamaran, yang bermaksud bahawa distcc adalah
entah bagaimana mendapati dirinya semula, bukan pengkompil sebenar. Ini boleh menunjukkan bahawa anda mempunyai dua
menyamar direktori pada PATH, mungkin kerana mempunyai dua pemasangan distcc masuk
lokasi yang berbeza. Ia juga boleh menunjukkan bahawa anda cuba mencampurkan "menyamar" dan
operasi "eksplisit".

Ralat rekursi boleh dielakkan dengan menggunakan skrip shell dan bukannya pautan. Contohnya, dalam
/usr/lib/distcc/bin buat fail cc yang mengandungi:

#!/ Bin / sh
distcc /usr/bin/gcc "$@"

Dengan cara ini, kami tidak bergantung kepada distcc yang perlu mencari gcc sebenar dengan menyiasat
pembolehubah PATH. Sebaliknya, lokasi pengkompil disediakan dengan jelas.

MENGGUNAKAN DISTCC DENGAN CCACHE


ccache ialah program yang mempercepatkan binaan perisian dengan menyimpan cache hasil kompilasi.
ccache biasanya dipanggil sebelum distcc, supaya keputusan diambil dari normal
cache. Sesetengah percubaan mungkin diperlukan untuk membuat fail buatan yang istimewa
semuanya berfungsi bersama.

Kaedah yang paling boleh dipercayai adalah untuk menetapkan

CCACHE_PREFIX="distcc"

Ini memberitahu ccache untuk menjalankan distcc sebagai pembalut di sekeliling pengkompil sebenar. ccache masih menggunakan
pengkompil sebenar untuk mengesan peningkatan pengkompil.

ccache kemudiannya boleh dijalankan menggunakan sama ada direktori penyamaran or dengan menetapkan

CC="ccache gcc"

Mulai versi 2.2, ccache tidak menyimpan cache kompilasi daripada sumber praproses dan begitu juga
jangan sekali-kali mendapat hit cache jika ia dijalankan dari distccd atau distcc. Ia mesti dijalankan hanya pada
sisi pelanggan dan sebelum distcc menjadi sebarang kegunaan.

mod pam distcc tidak serasi dengan ccache.

HOST SPESIFIKASI


"Senarai hos" memberitahu distcc mesin yang hendak digunakan untuk penyusunan. Dalam susunan, distcc kelihatan
dalam $DISTCC_HOSTS pembolehubah persekitaran, pengguna $DISTCC_DIR/hosts fail, dan
fail hos seluruh sistem. Jika tiada senarai hos boleh ditemui, distcc mengeluarkan amaran dan menyusun
tempatan.

Senarai hos ialah senarai spesifikasi hos yang dipisahkan ruang putih ringkas. Yang paling mudah
dan bentuk yang paling biasa ialah nama hos, seperti

localhost merah hijau biru

distcc lebih suka hos ke arah permulaan senarai, jadi mesin harus disenaraikan dalam
susunan kelajuan menurun. Khususnya, apabila hanya satu kompilasi boleh dijalankan (seperti
seperti dari skrip konfigurasi), mesin pertama yang disenaraikan digunakan (tetapi lihat --rawak di bawah).

Meletak localhost pada titik yang betul dalam senarai adalah penting untuk mendapatkan prestasi yang baik.
Oleh kerana overhed untuk menjalankan kerja secara tempatan adalah rendah, localhost biasanya harus menjadi yang pertama.
Walau bagaimanapun, adalah penting bahawa pelanggan mempunyai kitaran yang mencukupi untuk menjalankan pekerjaan tempatan dan
pelanggan distcc. Jika pelanggan lebih perlahan daripada sukarelawan, atau jika terdapat ramai
sukarelawan, maka pelanggan perlu dimasukkan kemudian dalam senarai atau tidak sama sekali. Sebagai seorang jeneral
peraturan, jika kelajuan CPU agregat pelanggan adalah kurang daripada satu perlima daripada jumlah, maka
pelanggan harus ditinggalkan daripada senarai.

Jika anda mempunyai kluster binaan kongsi yang besar dan satu fail hos kongsi, peraturan di atas
akan menyebabkan beberapa mesin pertama dalam fail hos dicuba terlebih dahulu walaupun mereka
berkemungkinan lebih sibuk daripada mesin kemudian dalam senarai. Untuk mengelakkan ini, letakkan kata kunci
--rawak ke dalam senarai hos. Ini akan menyebabkan senarai hos menjadi rawak, yang
harus meningkatkan sedikit prestasi untuk kelompok binaan yang besar.

Terdapat dua nama hos khas --localslots and --localslots_cpp yang berguna untuk
melaraskan beban pada mesin tempatan. The --localslots hos menentukan berapa banyak pekerjaan itu
tidak boleh dijalankan dari jauh yang boleh dijalankan serentak pada mesin tempatan, manakala
--localslots_cpp mengawal bilangan prapemproses akan berjalan selari pada tempatan
mesin. Penalaan nilai ini boleh meningkatkan prestasi. Memautkan pada projek besar boleh mengambil masa
jumlah ingatan yang besar. Menjalankan pemaut selari, yang tidak boleh dilaksanakan dari jauh,
mungkin memaksa mesin untuk menukar, yang mengurangkan prestasi berbanding hanya menjalankan tugas
urutan tanpa bertukar-tukar. Mendapatkan bilangan prapemproses selari dengan tepat
membolehkan anda menggunakan faktor selari yang lebih besar dengan make, kerana mesin tempatan kini mempunyai beberapa
mekanisme untuk mengukur penggunaan sumber tempatan.

Akhirnya ada entri tuan rumah

Prestasi bergantung pada butiran sumber dan fail yang digunakan untuk projek, dan
kelajuan mesin dan rangkaian. Bereksperimen dengan tetapan berbeza untuk senarai hos
and -j faktor boleh meningkatkan prestasi.

Sintaksnya ialah

DISTCC_HOSTS = HOSTSPEC ...
HOSTSPEC = LOCAL_HOST | SSH_HOST | TCP_HOST | OLDSTYLE_TCP_HOST
| GLOBAL_OPTION
| ZEROCONF
LOCAL_HOST = localhost[/LIMIT]
| --localslots=
| --localslots_cpp=
SSH_HOST = [USER]@HOSTID[/LIMIT][:COMMAND][OPTIONS]
TCP_HOST = HOSTID[:PORT][/LIMIT][OPTIONS]
OLDSTYLE_TCP_HOST = HOSTID[/LIMIT][:PORT][OPTIONS]
HOSTID = HOSTNAME | IPV4 | IPV6
PILIHAN = ,PILIHAN[PILIHAN]
PILIHAN = lzo | cpp
GLOBAL_OPTION = --rawak
ZEROCONF = +zeroconf

Berikut ialah beberapa contoh individu sintaks:

localhost
Perkataan literal "localhost" ditafsirkan khas untuk menyebabkan kompilasi menjadi
dilaksanakan secara langsung, bukannya diserahkan kepada daemon pada mesin tempatan. Jika anda lakukan
ingin menyambung kepada daemon pada mesin tempatan untuk ujian, kemudian berikan
alamat IP mesin atau nama hos sebenar. (Ini akan menjadi lebih perlahan.)

IPV6 Alamat IPv6 literal yang disertakan dalam kurungan segi empat sama, seperti [::1]

IPV4 Alamat IPv4 literal, seperti 10.0.0.1

HOSTNAME
Nama hos untuk dicari menggunakan penyelesai.

: PELABUHAN Sambung ke nombor port perpuluhan yang ditentukan, bukannya lalai 3632.

@HOSTID
Sambung ke hos melalui SSH, bukannya TCP. Pilihan untuk sambungan SSH boleh
ditetapkan dalam ~ / .ssh / config

PENGGUNA@ Sambung ke hos melalui SSH sebagai nama pengguna yang ditentukan.

:PERINTAH
Sambung melalui SSH, dan gunakan laluan yang ditentukan untuk mencari pelayan distccd. Ini adalah
biasanya hanya diperlukan jika atas sebab tertentu anda tidak boleh memasang distccd ke dalam direktori
pada PATH lalai untuk sambungan SSH. Gunakan ini jika anda mendapat ralat seperti "distccd:
arahan tidak dijumpai" dalam mod SSH.

/HAD Had perpuluhan boleh ditambah pada mana-mana spesifikasi hos untuk mengehadkan bilangan
pekerjaan yang akan dihantar oleh pelanggan ini ke mesin. Had lalai kepada empat setiap
hos (dua untuk localhost), tetapi mungkin dihadkan lagi oleh pelayan. Kamu patut
hanya perlu meningkatkan ini untuk pelayan yang mempunyai lebih daripada dua pemproses.

,lzo Mendayakan pemampatan LZO untuk hos TCP atau SSH ini.

,cpp Mendayakan mod pam distcc untuk hos ini. Nota: arahan bina mesti dibungkus
skrip distcc-pump untuk memulakan pelayan include.

--rawak
Rawak susunan senarai hos sebelum pelaksanaan.

+zeroconf
ini pilihan is hanyalah tersedia if distcc adalah disusun bersama avahi menyokong membolehkan at
mengkonfigurasi pada bila-bila masa. Apabila entri khas ini terdapat dalam senarai hos, distcc akan
gunakan Avahi Zeroconf DNS Service Discovery (DNS-SD) untuk mencari mana-mana distccd yang tersedia
pelayan pada rangkaian tempatan. Ini mengelakkan keperluan untuk menyenaraikan hos secara eksplisit
nama atau alamat IP mesin pelayan distcc. Pelayan distccd mesti ada
telah dimulakan dengan pilihan "--zeroconf" untuk distccd. Kaveat penting ialah
dalam pelaksanaan semasa, mod pam (",cpp") dan mampatan (",lzo") akan
jangan sekali-kali digunakan untuk hos yang terletak melalui zeroconf.

Berikut ialah contoh yang menunjukkan beberapa kemungkinan:

localhost/2 @bigman/16:/opt/bin/distccd mesin lama: 4200/1
# cartman is turun
jauh/3,lzo

Komen dibenarkan dalam spesifikasi hos. Komen bermula dengan tanda cincang/paun (#)
dan berlari ke hujung barisan.

Jika hos dalam senarai tidak dapat dihubungi, distcc akan mengeluarkan amaran dan mengabaikan hos itu
kira-kira satu minit.

KOMPRESI


. lzo pilihan hos menentukan bahawa pemampatan LZO harus digunakan untuk pemindahan data,
termasuk sumber praproses, kod objek dan mesej ralat. Mampatan biasanya
menjimatkan pada rangkaian lebih perlahan daripada 100Mbps, tetapi keputusan mungkin berbeza-beza bergantung pada rangkaian,
pemproses dan pokok sumber.

Mendayakan pemampatan menjadikan klien dan pelayan distcc menggunakan lebih banyak masa CPU, tetapi kurang
trafik rangkaian. Masa CPU tambahan adalah tidak penting untuk mod pam. Mampatan
nisbah biasanya 4:1 untuk sumber dan 2:1 untuk kod objek.

Menggunakan pemampatan memerlukan kedua-dua klien dan pelayan menggunakan sekurang-kurangnya keluaran 2.9 distcc.
Tiada konfigurasi pelayan diperlukan: pelayan sentiasa bertindak balas dengan balasan termampat kepada
permintaan termampat.

Mod pam memerlukan pelayan untuk menghidupkan pilihan hos lzo.

CARIAN LALUAN


Jika nama pengkompil ialah laluan mutlak, ia dihantar secara verbatim kepada pelayan dan
pengkompil dijalankan dari direktori itu. Sebagai contoh:

distcc /usr/local/bin/gcc-3.1415 -c hello.c

Jika nama pengkompil tidak mutlak, atau tidak layak sepenuhnya, PATH distccd dicari.
Apabila distcc dijalankan dari direktori penyamaran, hanya nama asas pengkompil itu
digunakan. PATH pelanggan digunakan hanya untuk menjalankan prapemproses dan tidak mempunyai kesan pada
laluan pelayan.

WAKTU MASA


Kedua-dua klien dan pelayan distcc mengenakan tamat masa pada pemindahan data merentasi rangkaian.
Ini bertujuan untuk mengesan hos yang tidak berfungsi atau tidak dapat dicapai, dan untuk mengelakkan penyusunan
tergantung selama-lamanya jika pelayan diputuskan sambungan semasa digunakan. Jika tamat masa pihak pelanggan
tamat tempoh, kerja akan dijalankan semula secara tempatan.

Tamat masa tidak boleh dikonfigurasikan pada masa ini.

DIAGNOSTIK


Mesej ralat atau amaran daripada penyusun tempatan atau jauh dihantar ke diagnostik
output pada klien.

distcc boleh membekalkan maklumat penyahpepijatan yang meluas apabila pilihan verbose digunakan. ini
dikawal oleh DISTCC_VERBOSE pembolehubah persekitaran pada klien, dan --verbose
pilihan pada pelayan. Untuk penyelesaian masalah, periksa kedua-dua ralat klien dan pelayan
mesej.

EXIT KOD


Kod keluar distcc biasanya adalah kod pengkompil: sifar untuk penyusunan yang berjaya
dan bukan sifar sebaliknya.

distcc membezakan antara ralat "tulen" seperti ralat sintaks dalam sumber, dan
ralat "tidak sengaja" seperti masalah rangkaian menyambung kepada sukarelawan. Dalam hal
daripada ralat tidak sengaja, distcc akan mencuba semula kompilasi secara setempat melainkan DISTCC_FALLBACK
pilihan telah dilumpuhkan.

Jika pengkompil keluar dengan isyarat, distcc mengembalikan kod keluar 128 ditambah isyarat
nombor.

ralat dalaman distcc menyebabkan kod keluar antara 100 dan 127. Khususnya

100 Kegagalan distcc am.

101 hujah yang buruk.

102 Ikatan gagal.

103 Sambungan gagal.

104 Penyusun ranap.

105 Habis ingatan.

106 SPEC Hos Buruk

107 Ralat I/O

108 Dipotong.

109 Ralat Protokol.

110 Pengkompil yang diberikan tidak ditemui pada hos jauh. Semak bahawa $CC ditetapkan
sewajarnya dan ia dipasang dalam direktori pada laluan carian untuk
distccd.

111 Panggilan rekursif ke distcc.

112 Gagal membuang keistimewaan.

113 Akses rangkaian ditolak.

114 Digunakan oleh proses lain.

115 Tiada fail sedemikian.

116 Tiada hos ditakrifkan dan sandaran dilumpuhkan.

118 Tamat masa.

Gunakan distcc dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

  • 1
    Firebird
    Firebird
    Firebird RDBMS menawarkan ciri ANSI SQL
    & berjalan pada Linux, Windows &
    beberapa platform Unix. ciri-ciri
    konkurensi & prestasi cemerlang
    & kuasa...
    Muat turun Firebird
  • 2
    KompoZer
    KompoZer
    KompoZer ialah editor HTML wysiwyg menggunakan
    pangkalan kod Mozilla Composer. Sebagai
    Pembangunan Nvu telah dihentikan
    pada tahun 2005, KompoZer membetulkan banyak pepijat dan
    menambah f...
    Muat turun KompoZer
  • 3
    Muat turun Manga Percuma
    Muat turun Manga Percuma
    The Free Manga Downloader (FMD) ialah sebuah
    aplikasi sumber terbuka yang ditulis dalam
    Objek-Pascal untuk mengurus dan
    memuat turun manga dari pelbagai laman web.
    Ini adalah cermin...
    Muat turun Manga Downloader Percuma
  • 4
    Aetbootin
    Aetbootin
    UNetbootin membolehkan anda mencipta boleh boot
    Pemacu USB langsung untuk Ubuntu, Fedora dan
    pengedaran Linux lain tanpa
    membakar CD. Ia berjalan pada Windows, Linux,
    dan ...
    Muat turun UNetbootin
  • 5
    Dolibar ERP - CRM
    Dolibar ERP - CRM
    Dolibarr ERP - CRM adalah mudah untuk digunakan
    Pakej perisian sumber terbuka ERP dan CRM
    (jalankan dengan pelayan php web atau sebagai
    perisian kendiri) untuk perniagaan,
    asas...
    Muat turun Dolibar ERP - CRM
  • 6
    Pelanggan SQL SQuirreL
    Pelanggan SQL SQuirreL
    SQuirreL SQL Client ialah SQL grafik
    klien yang ditulis dalam Java yang akan membolehkan
    anda untuk melihat struktur JDBC
    pangkalan data yang mematuhi, semak imbas data dalam
    meja...
    Muat turun SQuirreL SQL Client
  • Lebih »

Arahan Linux

Ad