InggrisPerancisSpanyol

Ad


favorit OnWorks

distcc - Online di Cloud

Jalankan distcc di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah distcc yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


distcc - kompiler C/C++/ObjC terdistribusi dengan ekstensi pompa distcc

RINGKASAN


distcc [PENYUSUN PILIHAN]

distcc [PENYUSUN PILIHAN]

[PENYUSUN PILIHAN]

distcc [DISTCC PILIHAN]

DESKRIPSI


distcc mendistribusikan kompilasi kode C di beberapa mesin di jaringan. distcc
harus selalu menghasilkan hasil yang sama dengan kompilasi lokal, mudah dipasang dan
gunakan, dan seringkali jauh lebih cepat daripada kompilasi lokal.

Versi ini menggabungkan distcc biasa serta peningkatan yang disebut mode pompa atau
distcc-pompa.

Untuk setiap pekerjaan, distcc dalam mode biasa mengirimkan kode sumber lengkap yang telah diproses sebelumnya dan
argumen compiler di seluruh jaringan dari klien ke server kompilasi. Di pompa
mode, distcc mengirimkan kode sumber dan menyertakan file header secara rekursif (tidak termasuk yang
dari direktori tajuk sistem default), sehingga prapemrosesan dan kompilasi
dapat terjadi di server kompilasi. Ini mempercepat pengiriman kompilasi dengan
hingga urutan besarnya di atas distcc biasa.

Kompilasi digerakkan oleh mesin klien, yang biasanya merupakan workstation pengembang
atau laptop. Klien distcc berjalan pada mesin ini, seperti halnya membuat, preprosesor (jika
mode pompa distcc tidak digunakan), linker, dan tahapan proses pembuatan lainnya. Setiap
sejumlah mesin sukarelawan bertindak sebagai server kompilasi dan membantu klien untuk membangun
program, dengan menjalankan disccd(1) daemon, kompiler C, dan assembler sesuai kebutuhan.

distcc dapat berjalan melintasi soket TCP (pada port 3632 secara default), atau melalui terowongan
perintah seperti ssh(1). Untuk koneksi TCP, para sukarelawan harus menjalankan disccd(1) dasmon
baik secara langsung atau dari inetd. Untuk koneksi SSH distccd harus diinstal tetapi harus
tidak mendengarkan koneksi.

Koneksi TCP hanya boleh digunakan pada jaringan aman karena tidak ada pengguna
otentikasi atau perlindungan kode sumber atau objek. Koneksi SSH biasanya 25%
lebih lambat karena overhead prosesor untuk enkripsi, meskipun ini bisa sangat bervariasi
tergantung pada CPU, jaringan dan program yang sedang dibangun.

distcc dimaksudkan untuk digunakan dengan GNU Make's -j opsi, yang menjalankan beberapa kompiler
proses secara bersamaan. distcc menyebarkan pekerjaan di kedua CPU lokal dan jarak jauh.
Karena distcc mampu mendistribusikan sebagian besar pekerjaan di seluruh jaringan, lebih tinggi
tingkat konkurensi dapat digunakan daripada untuk build lokal. Sebagai aturan praktis, -j nilai
harus diatur ke sekitar dua kali jumlah total CPU server yang tersedia tetapi tunduk pada
keterbatasan klien. Pengaturan ini memungkinkan interleaving maksimal dari tugas yang diblokir
menunggu disk atau jaringan IO. Perhatikan bahwa distcc juga dapat bekerja dengan kontrol build lainnya
alat, seperti SCons, di mana pengaturan konkurensi serupa harus disesuaikan.

Grafik -j pengaturan, terutama untuk nilai besar -J, harus memperhitungkan beban CPU pada
klien. Tindakan tambahan mungkin diperlukan untuk mengurangi beban klien. Sebagai contoh,
menghubungkan bersamaan harus sangat dibatasi menggunakan kunci tambahan. Efek dari
aktivitas build lainnya, seperti kompilasi Java saat membuat kode campuran, harus
dipertimbangkan. NS --localslots_cpp parameter secara default diatur ke 16. Ini membatasi
jumlah proses bersamaan yang melakukan preprocessing dalam mode plain distcc (non-pompa).
Oleh karena itu, lebih besar -j nilai dari 16 dapat digunakan tanpa membebani klien CPU tunggal
karena pra-pemrosesan. Nilai besar seperti itu dapat mempercepat bagian bangunan yang tidak
melibatkan kompilasi C, tetapi mungkin tidak berguna untuk membedakan efisiensi dalam mode biasa.

Sebaliknya, menggunakan mode pompa dan katakanlah 40 server, pengaturan -j80 atau lebih besar mungkin
sesuai bahkan untuk klien CPU tunggal.

Sangat disarankan agar Anda menginstal versi kompiler yang sama di semua mesin
berpartisipasi dalam membangun. Kompiler yang tidak kompatibel dapat menyebabkan kompilasi atau tautan misterius
kegagalan.

MULAI CEPAT


1 Untuk setiap mesin, unduh distcc, buka kemasan, dan instal.

2 Di setiap server, jalankan disccd --daemon dengan --mengizinkan pilihan untuk membatasi
mengakses.

3 Masukkan nama server di lingkungan Anda:
$ export DISTCC_HOSTS='localhost merah hijau biru'

4 Bangun!
$ membuat -j8 CC=distcc

MULAI CEPAT UNTUK POMPA DISTCC MODE


Lanjutkan seperti di atas, tetapi pada Langkah 3, tentukan bahwa host jarak jauh akan memikul beban
prapemrosesan dan bahwa file yang dikirim melalui jaringan harus dikompresi:

$ export DISTCC_HOSTS='--mengacak localhost red,cpp,lzo green,cpp,lzo
biru, cpp, lzo'

Grafik --acak opsi memberlakukan penggunaan server kompilasi yang seragam. Sementara Anda akan mendapatkan
beberapa manfaat dari mode pompa distcc dengan hanya beberapa server, Anda mendapatkan manfaat yang meningkat
dengan lebih banyak CPU server (hingga ratusan!). Bungkus bangunan Anda di dalam perintah pompa,
di sini dengan asumsi 10 server:

$ distcc-pompa membuat -j20 CC=distcc

BAGAIMANA PLAIN (NON-POMPA) DISTCC KARYA


distcc hanya menjalankan compiler dan assembler dari jarak jauh. Dengan distcc biasa,
preprocessor harus selalu berjalan secara lokal karena perlu mengakses berbagai file header di
mesin lokal yang mungkin tidak ada, atau mungkin tidak sama, pada sukarelawan. NS
linker juga perlu memeriksa pustaka dan file objek, dan karenanya harus dijalankan secara lokal.

Kompiler dan assembler hanya mengambil satu file input (sumber yang telah diproses sebelumnya) dan
menghasilkan satu output (file objek). distcc mengirimkan dua file ini ke seluruh
jaringan dan karena itu dapat menjalankan compiler/assembler dari jarak jauh.

Untungnya, untuk sebagian besar program yang menjalankan praprosesor relatif murah, dan
linker disebut relatif jarang, sehingga sebagian besar pekerjaan dapat didistribusikan.

distcc memeriksa baris perintahnya untuk menentukan fase mana yang dipanggil, dan
apakah pekerjaan dapat didistribusikan.

BAGAIMANA POMPA DISTCC MODE KARYA


Dalam mode pompa, distcc juga menjalankan praprosesor dari jarak jauh. Untuk melakukannya, praprosesor harus
memiliki akses ke semua file yang akan diakses jika dijalankan secara lokal. Di dalam
mode pompa, oleh karena itu, distcc mengumpulkan semua header yang disertakan secara rekursif, kecuali:
yang merupakan header sistem default, dan mengirimkannya bersama dengan file sumber ke
server kompilasi.

Dalam mode pompa distcc, server membongkar kumpulan semua file sumber secara sementara
direktori, yang berisi pohon direktori yang mencerminkan bagian dari sistem file yang
relevan dengan preprocessing, termasuk tautan simbolik.

Kompiler kemudian dijalankan dari jalur di direktori sementara yang sesuai dengan
direktori kerja saat ini pada klien. Untuk menemukan dan mengirimkan ratusan file
yang sering menjadi bagian dari kompilasi tunggal, mode pompa menggunakan inkremental termasuk
algoritma analisis. Server include adalah program Python yang mengimplementasikan ini
algoritma. Perintah distcc-pump memulai server penyertaan sehingga seluruh build
itu bisa menjawab termasuk pertanyaan dengan perintah distcc.

Server termasuk menggunakan analisis statis bahasa makro untuk menangani kondisional
kompilasi dan dihitung termasuk. Ia menggunakan properti yang ketika file header yang diberikan memiliki
sudah dianalisis untuk termasuk, tidak perlu melakukannya lagi jika semua termasuk
opsi (-I) tidak berubah (bersama dengan kondisi lainnya).

Untuk build besar, file header disertakan, rata-rata, masing-masing ratusan kali. Dengan
mode distcc-pump setiap file tersebut dianalisis hanya beberapa kali, mungkin hanya sekali, sebagai gantinya
yang telah diproses ratusan kali. Juga, setiap file sumber atau header sekarang
dikompresi hanya sekali, karena server penyertaan memoize file terkompresi. Sebagai
akibatnya, waktu yang digunakan untuk menyiapkan kompilasi bisa turun hingga urutan besarnya
selama preprocessing distcc biasa.

Karena distcc dalam mode pompa mampu mendorong keluar file hingga sekitar sepuluh kali lebih cepat, build
kecepatan dapat meningkat 3X atau lebih untuk build besar dibandingkan dengan mode distcc biasa.

BATASAN UNTUK PUMP MODE


Menggunakan mode pompa mengharuskan klien dan server untuk menggunakan rilis 3.0 atau lebih baru dari distcc dan
distccd (masing-masing).

Inkremental termasuk analisis mode distc-pompa bertumpu pada asumsi dasar
bahwa file sumber dan header tidak berubah selama proses pembuatan. Beberapa bangunan kompleks
sistem, seperti untuk kernel Linux 2.6, tidak cukup memenuhi persyaratan ini. Ke
mengatasi masalah seperti itu, dan kasus sudut lainnya seperti path file absolut dalam include, lihat
itu sertakan_server(1) halaman manual.

Asumsi penting lainnya adalah bahwa konfigurasi include dari semua mesin harus
identik. Jadi header di bawah jalur sistem default harus sama di semua server
dan semua klien. Jika instalasi kompiler GNU standar digunakan, maka persyaratan ini
berlaku untuk semua perpustakaan yang file headernya diinstal di bawah / usr / include or
/usr/local/include/. Perhatikan bahwa menginstal paket perangkat lunak sering menyebabkan tambahan
file header ditempatkan di subdirektori dari keduanya.

Jika asumsi ini tidak berlaku, maka dimungkinkan untuk menghancurkan build dengan distcc-pump
mode, atau lebih buruk, untuk mendapatkan hasil yang salah tanpa peringatan. Saat ini kondisi ini tidak
diverifikasi, dan ada di daftar TODO kami untuk mengatasi masalah ini.

Cara mudah untuk menjamin bahwa konfigurasi include identik adalah dengan menggunakan cross-
compiler yang mendefinisikan jalur pencarian sistem default terbatas pada direktori dari
instalasi kompiler.

Lihat sertakan_server(1) manual untuk informasi lebih lanjut tentang gejala dan penyebab pelanggaran
asumsi mode pompa distcc.

PILIHAN RINGKASAN


Sebagian besar opsi yang diteruskan ke distcc ditafsirkan sebagai opsi kompiler. Opsi berikut
dipahami oleh distcc itu sendiri. Jika salah satu dari opsi ini ditentukan, distcc tidak akan
memanggil kompiler.

--membantu Menampilkan instruksi ringkasan.

--Versi: kapan
Menampilkan versi klien distcc.

--show-host
Menampilkan daftar host yang akan digunakan distcc. Lihat bagian Spesifikasi Host.

--scan-termasuk
Menampilkan daftar file yang akan dikirim distcc ke mesin jarak jauh, sebagai
dihitung oleh server yang disertakan. Ini adalah pendekatan konservatif (over-) dari
file yang akan dibaca oleh compiler C. Opsi ini hanya berfungsi dalam mode pompa.
Lihat bagian "Cara Kerja Mode Pompa Distcc" untuk detail tentang cara penghitungannya.

Daftar keluaran oleh distcc --scan-termasuk akan berisi satu entri per baris. Setiap
baris berisi kategori yang diikuti oleh jalur. Kategorinya adalah salah satu FILE, SYMLINK,
DIRECTORY, atau SYSTEMDIR:

FILE menunjukkan file sumber atau file header yang akan dikirim ke server distcc
tuan rumah.

SYMLINK menunjukkan tautan simbolis yang akan dikirim ke host server distcc.

DIREKTORI menunjukkan direktori yang mungkin diperlukan untuk mengkompilasi sumber
mengajukan. Misalnya, direktori "foo" mungkin diperlukan karena menyertakan
formulir #include "foo/../bar.h". Direktori semacam itu akan dibuat di distcc
tuan rumah server.

SISTEMDIR menunjukkan direktori termasuk sistem, yaitu direktori yang ada di
default kompiler termasuk jalur, seperti "/ usr / include"; direktori tersebut adalah
diasumsikan hadir di host server distcc, dan karenanya tidak akan dikirim ke
host server distcc.

-j Menampilkan tingkat konkurensi distcc, seperti yang dihitung dari daftar host; ini adalah
jumlah maksimum pekerjaan luar biasa yang dikeluarkan oleh klien ini ke semua server. Oleh
default ini akan menjadi empat kali jumlah host dalam daftar host, kecuali jika
/LIMIT opsi digunakan dalam daftar host. Lihat bagian Spesifikasi Host.

INSTAL DISTCC


Ada tiga cara berbeda untuk memanggil distcc, agar sesuai dengan keadaan yang berbeda:

distcc dapat diinstal dengan nama kompiler asli, untuk mencegat panggilan ke
itu dan menjalankannya dari jarak jauh. Kompiler "menyamar" ini memiliki kompatibilitas terluas
dengan pohon sumber yang ada, dan nyaman ketika Anda ingin menggunakan distcc untuk semua
kompilasi. Fakta bahwa distcc sedang digunakan transparan ke makefiles.

distcc dapat ditambahkan ke baris perintah compiler, seperti "distcc cc -c hello.c"
atau CC="distcc gcc". Ini nyaman ketika Anda ingin menggunakan distcc hanya untuk beberapa
kompilasi atau untuk mencobanya, tetapi dapat menyebabkan masalah dengan beberapa makefile atau
versi libtool yang menganggap $CC tidak mengandung spasi.

Akhirnya, distcc dapat digunakan secara langsung sebagai compiler. "cc" selalu digunakan sebagai
nama kompiler asli dalam mode "implisit" ini. Ini bisa nyaman untuk
penggunaan interaktif ketika mode "eksplisit" tidak berfungsi tetapi tidak terlalu direkomendasikan
untuk penggunaan baru.

Ingatlah bahwa Anda tidak boleh menggunakan dua metode untuk memanggil distcc secara bersamaan. Jika kamu
menggunakan direktori masquerade, jangan ubah CC dan/atau CXX, cukup letakkan direktori lebih awal
pada PATH Anda. Jika Anda tidak menggunakan direktori masquerade, Anda harus mengubah CC
dan/atau CXX, atau ubah makefile untuk memanggil distcc secara eksplisit.

MASQUERADING


Ide dasarnya adalah membuat "direktori penyamaran" yang berisi tautan dari nama
kompiler nyata ke biner distcc. Direktori ini dimasukkan lebih awal di PATH, jadi
bahwa panggilan ke kompiler dicegat dan distcc dijalankan sebagai gantinya. distcc lalu hapus
sendiri dari PATH untuk menemukan kompiler yang sebenarnya.

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 di awal
PATH, dan telah menetapkan daftar host di DISTCC_HOSTS atau file. distcc akan menangani
beristirahat.

Perhatikan bahwa direktori penyamaran ini harus muncul di PATH lebih awal dari direktori yang
berisi kompiler sebenarnya dengan nama yang sama, dan bahwa setiap program tambahan yang
panggilan kompiler ini (seperti as atau ld) juga harus ditemukan di PATH dalam direktori
setelah direktori masquerade sejak distcc memanggil kompiler asli dengan PATH
nilai yang memiliki semua direktori hingga dan termasuk direktori masquerade dipangkas.

Dimungkinkan untuk mendapatkan "kesalahan rekursi" dalam mode penyamaran, yang berarti bahwa distcc adalah
entah bagaimana menemukan dirinya lagi, bukan kompiler yang sebenarnya. Ini dapat menunjukkan bahwa Anda memiliki dua
menyamarkan direktori di PATH, mungkin karena memiliki dua instalasi distcc di
lokasi yang berbeda. Ini juga dapat menunjukkan bahwa Anda mencoba untuk mencampur "menyamar" dan
operasi "eksplisit".

Kesalahan rekursi dapat dihindari dengan menggunakan skrip shell alih-alih tautan. Misalnya, di
/usr/lib/distcc/bin membuat file cc yang berisi:

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

Dengan cara ini, kita tidak bergantung pada distcc yang harus menemukan gcc yang sebenarnya dengan menyelidiki
variabel PATH. Sebagai gantinya, lokasi kompiler disediakan secara eksplisit.

MENGGUNAKAN DISTCC DENGAN CCACHE


ccache adalah program yang mempercepat pembuatan perangkat lunak dengan men-cache hasil kompilasi.
ccache biasanya dipanggil sebelum distcc, sehingga hasilnya diambil dari normal
cache. Beberapa eksperimen mungkin diperlukan untuk membuat makefile istimewa
semuanya bekerja sama.

Metode yang paling dapat diandalkan adalah mengatur

CCACHE_PREFIX="distcc"

Ini memberitahu ccache untuk menjalankan distcc sebagai pembungkus di sekitar kompiler yang sebenarnya. ccache masih menggunakan
kompiler nyata untuk mendeteksi peningkatan kompiler.

ccache kemudian dapat dijalankan menggunakan salah satu direktori masquerade or dengan mengatur

CC="ccache gcc"

Pada versi 2.2, ccache tidak meng-cache kompilasi dari sumber yang telah diproses sebelumnya dan akan
tidak pernah mendapatkan cache hit jika dijalankan dari distccd atau distcc. Itu harus dijalankan hanya di
sisi klien dan sebelum distcc untuk digunakan.

mode pompa distcc tidak kompatibel dengan ccache.

HOST SPESIFIKASI


Sebuah "daftar host" memberitahu distcc mesin mana yang digunakan untuk kompilasi. Secara berurutan, distcc terlihat
dalam $DISTCC_HOSTS variabel lingkungan, pengguna $DISTCC_DIR/host file, dan
file host seluruh sistem. Jika tidak ada daftar host yang dapat ditemukan, distcc mengeluarkan peringatan dan mengkompilasi
secara lokal.

Daftar host adalah daftar spesifikasi host sederhana yang dipisahkan spasi. Yang paling sederhana
dan bentuk yang paling umum adalah nama host, seperti

localhost merah hijau biru

distcc lebih memilih host menjelang awal daftar, jadi mesin harus terdaftar di
urutan kecepatan menurun. Khususnya, ketika hanya satu kompilasi yang dapat dijalankan (seperti
seperti dari skrip konfigurasi), mesin pertama yang terdaftar digunakan (tetapi lihat --acak bawah).

Penempatan localhost pada titik yang tepat dalam daftar penting untuk mendapatkan kinerja yang baik.
Karena overhead untuk menjalankan pekerjaan secara lokal rendah, localhost biasanya harus menjadi yang pertama.
Namun, penting bahwa klien memiliki cukup siklus bebas untuk menjalankan pekerjaan lokal dan
klien distcc. Jika klien lebih lambat dari relawan, atau jika ada banyak
relawan, maka klien harus dimasukkan kemudian dalam daftar atau tidak sama sekali. Sebagai seorang jenderal
aturan, jika kecepatan CPU agregat klien kurang dari seperlima dari total, maka
klien harus dikeluarkan dari daftar.

Jika Anda memiliki cluster build bersama yang besar dan satu file host bersama, aturan di atas
akan menyebabkan beberapa mesin pertama di file host dicoba terlebih dahulu meskipun mereka
kemungkinan akan lebih sibuk daripada mesin di kemudian hari dalam daftar. Untuk menghindari ini, tempatkan kata kunci
--acak ke dalam daftar tuan rumah. Ini akan menyebabkan daftar host menjadi acak, yang
harus sedikit meningkatkan kinerja untuk cluster build besar.

Ada dua nama host khusus --slot lokal dan --localslots_cpp yang berguna untuk
menyesuaikan beban pada mesin lokal. NS --slot lokal tuan rumah menentukan berapa banyak pekerjaan yang
tidak dapat dijalankan dari jarak jauh yang dapat dijalankan secara bersamaan di mesin lokal, sementara
--localslots_cpp mengontrol berapa banyak preprocessor yang akan berjalan secara paralel di local
mesin. Menyetel nilai-nilai ini dapat meningkatkan kinerja. Menautkan pada proyek besar dapat dilakukan
memori dalam jumlah besar. Menjalankan linker paralel, yang tidak dapat dijalankan dari jarak jauh,
dapat memaksa mesin untuk bertukar, yang mengurangi kinerja hanya dengan menjalankan pekerjaan di
urutan tanpa bertukar. Mendapatkan jumlah preprosesor paralel yang tepat
memungkinkan Anda untuk menggunakan faktor paralel yang lebih besar dengan make, karena mesin lokal sekarang memiliki beberapa
mekanisme untuk mengukur penggunaan sumber daya lokal.

Akhirnya ada entri host

Kinerja tergantung pada detail sumber dan makefile yang digunakan untuk proyek, dan
kecepatan mesin dan jaringan. Bereksperimen dengan pengaturan yang berbeda untuk daftar host
dan -j faktor dapat meningkatkan kinerja.

Sintaksnya adalah

DISTCC_HOSTS = HOSTSPEC ...
HOSTSPEC = LOCAL_HOST | SSH_HOST | TCP_HOST | GAYA LAMA_TCP_HOST
| GLOBAL_OPTION
| NOL KONF
LOCAL_HOST = host lokal[/LIMIT]
| --localslots=
| --localslots_cpp=
SSH_HOST = [USER]@HOSTID[/LIMIT][:COMMAND][OPTIONS]
TCP_HOST = HOSTID[:PORT][/LIMIT][OPSI]
OLDSTYLE_TCP_HOST = HOSTID[/LIMIT][:PORT][OPTIONS]
HOSTID = NAMA HOST | IPv4 | IPV6
OPSI = ,OPSI[OPSI]
OPSI = lzo | cpp
GLOBAL_OPTION = --acak
ZEROCONF = +nolconf

Berikut adalah beberapa contoh individu dari sintaks:

localhost
Kata literal "localhost" ditafsirkan secara khusus untuk menyebabkan kompilasi menjadi
langsung dieksekusi, daripada diteruskan ke daemon di mesin lokal. Jika kamu melakukan
ingin terhubung ke daemon di mesin lokal untuk pengujian, lalu berikan
alamat IP mesin atau nama host asli. (Ini akan lebih lambat.)

IPV6 Alamat IPv6 literal yang diapit tanda kurung siku, seperti: [::1]

IPV4 Alamat IPv4 literal, seperti 10.0.0.1

HOSTNAME
Nama host yang akan dicari menggunakan resolver.

:PELABUHAN Hubungkan ke nomor port desimal yang ditentukan, bukan default 3632.

@HOSTID
Hubungkan ke host melalui SSH, bukan TCP. Opsi untuk koneksi SSH dapat
diatur dalam ~ / .ssh / config

PENGGUNA@ Hubungkan ke host melalui SSH sebagai nama pengguna yang ditentukan.

:MEMERINTAH
Hubungkan melalui SSH, dan gunakan jalur yang ditentukan untuk menemukan server distccd. Ini adalah
biasanya hanya diperlukan jika karena alasan tertentu Anda tidak dapat menginstal distccd ke dalam direktori
pada PATH default untuk koneksi SSH. Gunakan ini jika Anda mendapatkan kesalahan seperti "distccd:
perintah tidak ditemukan" dalam mode SSH.

/MEMBATASI Batas desimal dapat ditambahkan ke spesifikasi host apa pun untuk membatasi jumlah
pekerjaan yang akan dikirim klien ini ke mesin. Batas default ke empat per
host (dua untuk localhost), tetapi mungkin lebih dibatasi oleh server. Anda harus
hanya perlu meningkatkan ini untuk server dengan lebih dari dua prosesor.

,lzo Mengaktifkan kompresi LZO untuk host TCP atau SSH ini.

, cpp Mengaktifkan mode pompa distcc untuk host ini. Catatan: perintah build harus dibungkus
skrip distcc-pump untuk memulai server penyertaan.

--acak
Acak urutan daftar host sebelum eksekusi.

+zeroconf
Kredensial mikro Option is hanya tersedia if distcc adalah dikompilasi dengan avahi mendukung diaktifkan at
mengkonfigurasi waktu. Ketika entri khusus ini ada di daftar host, distcc akan
gunakan Avahi Zeroconf DNS Service Discovery (DNS-SD) untuk menemukan distccd yang tersedia
server di jaringan lokal. Ini menghindari kebutuhan untuk secara eksplisit mencantumkan host
nama atau alamat IP dari mesin server distcc. Server distccd harus memiliki
telah dimulai dengan opsi "--zeroconf" ke distccd. Peringatan penting adalah bahwa
dalam implementasi saat ini, mode pompa (",cpp") dan kompresi (",lzo") akan
tidak pernah digunakan untuk host yang terletak melalui zeroconf.

Berikut adalah contoh yang menunjukkan beberapa kemungkinan:

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

Komentar diperbolehkan dalam spesifikasi host. Komentar dimulai dengan tanda hash/pound (#)
dan lari ke akhir baris.

Jika host dalam daftar tidak dapat dijangkau, distcc akan mengeluarkan peringatan dan mengabaikan host tersebut untuk
sekitar satu menit.

KOMPRESI


Grafik lzo opsi host menentukan bahwa kompresi LZO harus digunakan untuk transfer data,
termasuk sumber yang telah diproses sebelumnya, kode objek, dan pesan kesalahan. Kompresi biasanya
ekonomis pada jaringan yang lebih lambat dari 100Mbps, tetapi hasilnya dapat bervariasi tergantung pada jaringan,
prosesor dan pohon sumber.

Mengaktifkan kompresi membuat klien dan server distcc menggunakan lebih banyak waktu CPU, tetapi lebih sedikit
lalu lintas jaringan. Waktu CPU yang ditambahkan tidak signifikan untuk mode pompa. Kompresi
rasio biasanya 4:1 untuk sumber dan 2:1 untuk kode objek.

Menggunakan kompresi mengharuskan klien dan server untuk menggunakan setidaknya rilis 2.9 dari distcc.
Tidak diperlukan konfigurasi server: server selalu merespons dengan balasan terkompresi ke
permintaan terkompresi.

Mode pompa mengharuskan server untuk mengaktifkan opsi host lzo.

CARI JALAN


Jika nama kompiler adalah jalur absolut, itu diteruskan kata demi kata ke server dan
compiler dijalankan dari direktori itu. Sebagai contoh:

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

Jika nama kompiler tidak mutlak, atau tidak sepenuhnya memenuhi syarat, PATH distccd akan dicari.
Ketika distcc dijalankan dari direktori masquerade, hanya nama dasar dari kompilator adalah
digunakan. PATH klien hanya digunakan untuk menjalankan praprosesor dan tidak berpengaruh pada
jalur server.

TIMEOUT


Baik klien dan server distcc memberlakukan batas waktu pada transfer data di seluruh jaringan.
Ini dimaksudkan untuk mendeteksi host yang sedang down atau tidak dapat dijangkau, dan untuk mencegah kompilasi
menggantung tanpa batas waktu jika server terputus saat digunakan. Jika batas waktu sisi klien
kedaluwarsa, pekerjaan akan dijalankan kembali secara lokal.

Batas waktu tidak dapat dikonfigurasi saat ini.

DIAGNOSTIK


Pesan kesalahan atau peringatan dari kompiler lokal atau jarak jauh diteruskan ke diagnostik
keluaran pada klien.

distcc dapat menyediakan informasi debug ekstensif ketika opsi verbose digunakan. Ini
dikendalikan oleh DISTCC_VERBOSE variabel lingkungan pada klien, dan --bertele-tele
pilihan di server. Untuk pemecahan masalah, periksa kesalahan klien dan server
pesan.

EXIT KODE


Kode keluar distcc biasanya dari kompiler: nol untuk kompilasi yang berhasil
dan bukan nol sebaliknya.

distcc membedakan antara kesalahan "asli" seperti kesalahan sintaks pada sumber, dan
kesalahan "tidak disengaja" seperti masalah jaringan yang menghubungkan ke sukarelawan. Dalam kasus ini
kesalahan yang tidak disengaja, distcc akan mencoba lagi kompilasi secara lokal kecuali DISTCC_FALLBACK
opsi telah dinonaktifkan.

Jika kompiler keluar dengan sinyal, distcc mengembalikan kode keluar 128 ditambah sinyal
nomor.

kesalahan internal distcc menyebabkan kode keluar antara 100 dan 127. Secara khusus

100 Kegagalan umum distcc.

101 Argumen buruk.

102 Pengikatan gagal.

103 Sambungan gagal.

104 Kompilator macet.

105 Kehabisan memori.

106 SPEC Tuan Rumah Buruk

107 Kesalahan I/O

108 Terpotong.

109 Kesalahan Protokol.

110 Kompilator yang diberikan tidak ditemukan pada host jarak jauh. Periksa apakah $CC sudah disetel
dengan tepat dan itu diinstal di direktori di jalur pencarian untuk
disccd.

111 Panggilan rekursif ke distcc.

112 Gagal membuang hak istimewa.

113 Akses jaringan ditolak.

114 Digunakan oleh proses lain.

115 Tidak ada file seperti itu.

116 Tidak ada host yang ditentukan dan fallback dinonaktifkan.

118 Waktu habis.

Gunakan distcc online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    Burung api
    Burung api
    Firebird RDBMS menawarkan fitur ANSI SQL
    & berjalan di Linux, Windows &
    beberapa platform Unix. Fitur
    konkurensi & kinerja yang sangat baik
    & kekuasaan...
    Unduh Firebird.dll
  • 2
    KompoZer
    KompoZer
    KompoZer adalah editor HTML wysiwyg menggunakan
    basis kode Mozilla Composer. Sebagai
    Pengembangan Nvu telah dihentikan
    pada tahun 2005, KompoZer memperbaiki banyak bug dan
    menambahkan f...
    Unduh KompoZer.dll
  • 3
    Pengunduh Manga Gratis
    Pengunduh Manga Gratis
    Pengunduh Manga Gratis (FMD) adalah
    aplikasi sumber terbuka ditulis dalam
    Object-Pascal untuk mengelola dan
    mengunduh manga dari berbagai situs web.
    Ini cermin...
    Unduh Pengunduh Manga Gratis
  • 4
    Aetbootin
    Aetbootin
    UNetbootin memungkinkan Anda membuat bootable
    Drive USB langsung untuk Ubuntu, Fedora, dan
    distribusi Linux lainnya tanpa
    membakar CD. Ini berjalan di Windows, Linux,
    dan ...
    Unduh UNetbootin.dll
  • 5
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM mudah digunakan
    Paket perangkat lunak open source ERP dan CRM
    (dijalankan dengan server php web atau sebagai
    perangkat lunak mandiri) untuk bisnis,
    yayasan...
    Unduh Dolibarr ERP - CRM
  • 6
    Klien SQL SQuirreL
    Klien SQL SQuirreL
    SQuirreL SQL Client adalah SQL grafis
    klien yang ditulis dalam Java yang memungkinkan
    Anda untuk melihat struktur JDBC
    database yang sesuai, jelajahi data di
    meja...
    Unduh SQuirreL SQL Client
  • Lebih banyak lagi »

Perintah Linux

Ad