abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 2
    dnes 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 1
    dnes 01:22 | Nová verze

    Byl vydán Linux Mint 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 1
    včera 21:33 | Nová verze

    Wine bylo po roce vývoje od vydání verze 10.0 vydáno v nové stabilní verzi 11.0. Přehled novinek na GitLabu. Vypíchnuta je podpora NTSYNC a dokončení architektury WoW64.

    Ladislav Hagara | Komentářů: 5
    včera 16:11 | Nová verze

    Byl vydán Mozilla Firefox 147.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Firefox nově podporuje Freedesktop.org XDG Base Directory Specification. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 147 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Humor

    Asociace repair.org udělila anticeny těm nejhorším produktům představeným na veletrhu CES 2026. Oceněnými jsou například šmírující kamery Amazon Ring AI, chytrý běžecký pás od společnosti Merach, která otevřeně přiznává, že nedokáže zabezpečit osobní data uživatelů, případně jednorázové lízátko, které rozvibrovává čelisti uživatele a tak přehrává hudbu. Absolutním vítězem je lednička od Samsungu, která zobrazuje reklamy a kterou lze otevřít pouze hlasovým příkazem přes cloudovou službu.

    NUKE GAZA! 🎆 | Komentářů: 11
    včera 12:00 | IT novinky

    Íránští protirežimní aktivisté si všímají 30% až 80% ztráty packetů při komunikaci se satelity služby Starlink. Mohlo by se jednat o vedlejší důsledek rušení GPS, kterou pozemní přijímače Starlinku používají k výpočtu polohy satelitů a kterou se režim rovněž snaží blokovat, podle bezpečnostního experta a iranisty Amira Rashidiho je ale pravděpodobnější příčinou terestrické rušení přímo satelitní komunikace Starlinku podobnou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 13
    včera 00:55 | IT novinky

    Evropská komise (EK) zvažuje, že zařadí komunikační službu WhatsApp americké společnosti Meta mezi velké internetové platformy, které podléhají přísnější regulaci podle unijního nařízení o digitálních službách (DSA). Firmy s více než 45 miliony uživatelů jsou podle DSA považovány za velmi velké on-line platformy (Very Large Online Platforms; VLOP) a podléhají přísnějším pravidlům EU pro internetový obsah. Pravidla po

    … více »
    Ladislav Hagara | Komentářů: 22
    včera 00:44 | IT novinky

    Tržní hodnota technologické společnosti Alphabet poprvé v historii přesáhla čtyři biliony dolarů (83 bilionů Kč). Stalo se tak poté, co Apple oznámil, že bude na poli umělé inteligence (AI) spolupracovat s dceřinou firmou Alphabetu, společností Google.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (5%)
     (0%)
     (8%)
     (19%)
     (3%)
     (6%)
     (3%)
     (11%)
     (45%)
    Celkem 430 hlasů
     Komentářů: 12, poslední dnes 21:12
    Rozcestník

    Gentoo Linux - rýchlosť kompilácie (ccache a distcc)

    22. 2. 2006 | Matej Gagyi | Systém | 8805×

    Ako dlho sa na vašom počítači kompiluje nová verzia prehliadača Mozilla Firefox, prehrávača MPlayer alebo celé KDE, či Gnome? Pár minút? Tak to už asi poznáte programy ccache a distcc.

    ccache

    ccache dokáže zrýchliť opakované kompilovanie 5 až 10krát. Je výtvorom Andrewa Tridgella z projektu Samba, ktorý sa inšpiroval ideou projektu compilercache.

    Pred každým spustením gcc sa ccache pozrie do svojej databázy a pokúsi sa v nej nájsť skompilovaný súbor. Ak výsledok kompilácie nenájde, spustí gcc a jeho výsledok vloží do databázy. Pri vývoji aplikácií sa medzi dvoma verziami aplikácie často mení iba zopár súborov a ostatné zostávajú nedotknuté. Pri kompilovaní novšej verzie už raz kompilovaného programu má ccache veľkú šancu usporiť čas potrebný pre kompiláciu už raz skompilovaných súborov.

    Portage dokáže ccache používať automaticky. Stačí ho len nainštalovať:

    # emerge ccache

    a pridať do súboru /etc/make.conf do premennej FEATURES:

    FEATURES="ccache"

    Ak chcete ccache používať mimo Portage (v inej distribúcii alebo pri programovaní), musíte dať cestu k binárkam ccache do premennej prostredia PATH (pred cestou ku gcc):

    # export PATH=/usr/lib/ccache/bin:$PATH

    Databáza ccache bude rásť a rásť, preto je dobré stanoviť jej nejaký limit:

    # ccache -M 1G

    Používatelia Gentoo si tento údaj môžu nastaviť aj v súbore /etc/make.conf:

    CCACHE_SIZE="1G"

    distcc

    Z dielne Samby pochádza aj program distcc, tentokrát je jeho autorom Martin Pool. Distcc distribuuje kompiláciu medzi viacerými počítačmi. To sa oplatí hlavne, pokiaľ chcete inštalovať Gentoo na pomalý počítač a máte k dispozícii jeden, alebo viac rýchlejších strojov.

    Program distcc najprv spracuje vstupný zdrojový súbor preprocesorom (gcc -E). Vznikne tak zdrojový súbor, ktorý obsahuje všetky hlavičkové súbory, ktoré sú potrebné na jeho skompilovanie. Program distcc tento súbor pošle na niektorý zo vzdialených počítačov, kde sa spustí kompilácia. Skompilovaný súbor s príponou .o (object), sa vráti späť na klientsky počítač a distcc sa ukončí.

    Aby tento postup kompiláciu urýchlil, musí byť kompilovaných viacero zdrojových súborov naraz. Program make podporuje paralelnú kompiláciu. Počet súčasne spustených kompilácií sa nastavuje parametrom -jN (N - počet paralelných kompilácií). Používatelia Gentoo si tento parameter môžu nastaviť v súbore /etc/make.conf:

    MAKEOPTS="-j2"

    S počtom paralelných kompilácií sa musíte trochu pohrať. Začať môžete s hodnotou rovnou počtu procesorov na kompilovanie plus jeden (napríklad ak kompilujete na dvoch dvoj-procesorových počítačoch nastavte MAKEOPTS="-j5"). Tento počet vám pomôže doladiť grafický monitor distccmon-gui.

    Distcc treba samozrejme nainštalovať, v Gentoo jednoducho:

    # emerge distcc

    Portage vie používať distcc automaticky, len ho musíte pridať do súboru /etc/make.conf do premennej FEATURES:

    FEATURES="distcc"

    Ak nepoužívate Gentoo, musíte si binárky distcc pridať do premennej PATH ešte pred cestou ku gcc. Ale pozor, ak používate aj ccache, najprv musí ísť cesta k ccache, potom k distcc a až potom všetko ostatné:

    # export PATH=/usr/lib/ccache/bin:/usr/lib/distcc/bin:$PATH

    Na vzdialených počítačoch musíte buď spustiť démona distccd, nakonfigurovať initd server alebo sprístupniť počítač cez ssh. Odporúčané je spustiť démona distccd:

    # distccd --allow 192.168.1.0/24

    Používatelia Gentoo budú mať po inštalácii k dispozícii rc skript:

    # rc-update add distccd default
    # /etc/init.d/distccd start

    Parameter --allow je veľmi dôležitý. Určuje, ktoré IP adresy budú mať prístup k distccd serveru. Používatelia Gentoo si tento a ďalšie parametre distcc môžu nastaviť v súbore /etc/conf.d/distccd.

    Nakoniec na klientskom počítači nastavte zoznam a limity pre vzdialené servery. To sa robí pomocou premennej prostredia DISTCC_HOSTS:

    # export DISTCC_HOSTS="localhost/2 192.168.1.1/2 superserver.com/8"

    V Gentoo použite konfiguračný nástroj distcc-config:

    # distcc-config --set-hosts "localhost/2 192.168.1.1/2 \
    superserver.com/8"
    # env-update
    # source /etc/profile

    Záver

    Ešte musím upozorniť, že ccache je citlivý na to, či používate distcc alebo nie. Ak ste prvú verziu kompilovali distribuovane a pri kompilácii novej verzie už nemáte k dispozícii viac počítačov a distcc vymažete za súboru /etc/make.conf, ccache si bude myslieť, že ste zmenili verziu gcc a medzivýsledky kompilácie vo svojej databáze jednoducho nenájde.

    Ak hrozí, že nebudete môcť kompilovať na viacerých počítačoch pomocou distcc, je lepšie distcc do súboru /etc/make.conf nedávať a spúšťať distribuované kompilovanie nasledovne:

    # FEATURES="distcc" emerge parametre        

    Hodnocení: 87 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    22.2.2006 09:05 Pet
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    A co kdyz mam pomaly pocitac x686 a rychly amd64? Nestalo by za alespon zminku, ze v takovychto pripadech je to o neco slozitejsi?
    22.2.2006 09:15 Wolf | skóre: 7
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    Je potreba pri pouziti distcc aby na obou pocitacich byl x86 procesor? Nebo se da nejak zaridit abych mohl na AMD64 kompilovat pres distcc pro Durona? Diky
    22.2.2006 09:25 Pet
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    Samozrejme to jde, ale musite instalovat kroskompiler :-( http://www.gentoo.org/doc/en/cross-compiling-distcc.xml
    Vykook avatar 22.2.2006 09:30 Vykook | skóre: 23 | blog: Tomas
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    na kompilaci i686 - i586 predpokladam taky potrebuju crosscompiler, ze?
    Nejde nám o dobro druhých. Nejde nám o bohatství. Jde o čisté opojení mocí.
    22.2.2006 09:36 lizard
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    ne. je to stejna architektur x86... jedine co je potreba jsou parametry -march, -mcpu nebo -mtune
    22.2.2006 17:52 Radek Podgorny | skóre: 16
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    Omyl, na kompilace i586 vs. i686 je potreba crosscompiler.
    Luboš Doležel (Doli) avatar 22.2.2006 22:37 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    Podle mě je to taky jen otázka CFLAGS...
    22.2.2006 22:41 Radek Podgorny | skóre: 16
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    To jsem si taky myslel, ale mam vyzkouseno, ze to tak nejde. (Nebo jsem prilis hloupy :-) )
    Yin avatar 25.2.2006 21:14 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    Verzie gcc musia byť pri distribouvanom kompilovaní rovnaké na všetkých strojoch. Osobne som mal s týmto problémi, ale neviem, prečo som sa o probléme a riešení nezmienil v článku. Ospravedlňujem sa.
    Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.
    22.2.2006 22:44 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    22.2.2006 09:34 lizard
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    Zapomel jste zminit jednu velice dulezitou vec. A to ze k provozu distcc si musite hlidat verze kompilatoru (gcc) na masinkach na ktere budete distcc postvavat (DISTCC_HOSTS). Tam kde se pouzivaji stejna Linuxova distra (popr. FreeBSD) je to celkem jedno. Ale tam kde je kazdy pes jina ves to nemusi fungovat. Odzkouseno :).

    viz. : http://distcc.samba.org/faq.html#mixed-gcc

    Nebylo by na skodu rici ze je to jen pro trusted site a ze se to da pouzit i cez ssh... ale to si asi kazdy najde sam :)
    22.2.2006 10:19 j3nda | skóre: 14 | ostrava/brno
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    jak je to s verzemi gcc? musi byt pri pouziti distcc stejne verze gcc a knihoven? (ono je to dost logicke, aby byly. jen se chci zeptat, zda v tom neni jeste nejak podrobneji zakopana bota?) diky.
    ___---==~[ uxunilcba | baclniuxu ]~==---__sevrer_pnly_liunx-lkie_hcaricku__/libGDX-rulez-the-W0R7D!___
    22.2.2006 10:20 j3nda | skóre: 14 | ostrava/brno
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    predchozi komentar uz mi dopovedel, diky.
    ___---==~[ uxunilcba | baclniuxu ]~==---__sevrer_pnly_liunx-lkie_hcaricku__/libGDX-rulez-the-W0R7D!___
    22.2.2006 14:18 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    knihovny nemusi byt stejne (distcc s knihovanmi vubec nepracuje) a u prekladace je dobre mit stejne verze - obcas to zlobi
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    22.2.2006 10:31 Kodl
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    Databáza ccache bude rásť a rásť, preto je dobré stanoviť jej nejaký limit

    Jak se bude ccache chovat az se databaze naplni? Nejstarsi soubory budou postupne odmazavany tak, jak budou prichazet nove, nebo se zobrazi nejake chybove hlaseni a bude nutno databazi promazat nejakym "primazavacim prikazem"? Diky. Karel
    22.2.2006 10:51 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    Wikipedia:cache

    Pravdepodobne tam pouziji LRU algoritmus, ale je to celkem jedno. Dulezite je, ze se to "nezablokuje".

    Doporucuji mit ccache na samostatnem oddilu o velikosti stejne, jako ma samotna ccache. Vytuneny filesystem je nutnosti. Je to pak opravdu bleskove.
    22.2.2006 11:32 Z
    Rozbalit Rozbalit vše distcc -> icecream
    Daleko lepsi nez distcc je icecream

    - ma centralni scheduler, takze na rozdil od distcc rozdeluje ulohy na jine pocitace inteligentne (nepouziva zatizene pocitace, snazi se pouzivat nejrychlejsi nejdrive, sam hleda ostatni pocitace,...)

    - dokaze jednoduse mixovat ruzne druhy gcc a pocitacu (mit treba i686+gcc-3.x a nechat si prekladat na amd64+gcc-4.x neni problem)

    22.2.2006 12:45 lizard
    Rozbalit Rozbalit vše Re: distcc -> icecream
    a nezastavil se vyvoj? posledni verzi tam vidim z 13. 04. 2005 :/
    22.2.2006 15:26 EiFFeL | skóre: 27 | blog: EiFFeL | Vranovská Ves
    Rozbalit Rozbalit vše Re: distcc -> icecream
    nechci nic rikat, ale uz jen to ze mam sys-devel/icecream masked by mohlo o necem vypovidat...
    David Watzke avatar 23.2.2006 02:52 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: distcc -> icecream
    O čempak?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    23.2.2006 12:34 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše Re: distcc -> icecream
    O nepochopeni manualu:
    slon ~ # emerge -pv sys-devel/icecream
    
    These are the packages that I would merge, in order:
    
    Calculating dependencies
    !!! All ebuilds that could satisfy "sys-devel/icecream" have been masked.
    !!! One of the following masked packages is required to complete your request:
    - sys-devel/icecream-0.6.20040829 (masked by: ~x86 keyword)
    
    For more information, see MASKED PACKAGES section in the emerge man page or
    refer to the Gentoo Handbook.
    
    David Watzke avatar 24.2.2006 20:57 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: distcc -> icecream
    Jasně, ale vůbec nechápu co tím autor příspěvku myslel... o čem to asi může vypovídat :/
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    27.2.2006 09:22 J
    Rozbalit Rozbalit vše Re: distcc -> icecream
    No, zamaskovany balicky sou bud v nejakem velmi brzkem alpha nebo dokonce prealpha stadiu vyvoje, nebo naopak ve stadiu kdy uz zadny vyvoj neexistuje. Takze to vypovida o tom, ze asi neni zrovna doporucovano je pouzivat, protoze bud nejsou moc odladene nebo mohou obsahovat bugy, ktere nikdo neopravi.
    27.2.2006 18:19 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše Re: distcc -> icecream
    Ale ty ebuildy nejsou zamaskovany. RTFM, link mas nahore.
    22.2.2006 22:44 Z
    Rozbalit Rozbalit vše Re: distcc -> icecream
    Ten download link je asi drobet out-of-date, ale v README tam jsou instrukce, jak to prelozit z KDE SVN. A tady je navod na anonymni KDE SVN pristup, icecream je v trunk/kdenonbeta/icecream. Nebo se to vsechno da vytahnout z src.cpm pro SUSE :-).
    22.2.2006 19:10 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    Je skoda, ze ackoli jsem k tomuto clanku posilal 9. unora mailem komentar, autor se jim neridil. Inu zde je:
    Limit ccache nastaveny pres `ccache -M 1G` *neovlivni* Portage, protoze Portage pouziva jiny $CCACHE_DIR nez root (defaultne je to "~/.ccache" iirc). Reseni je pri *kazdem* spusteni cehokoliv, co saha na ccache, at uz velikosti cache nebo monitory, nastavit spravnou $CCACHE_DIR (nekde pod /var/portage asi, nevim, nepouzivam, jsem liny zjistovat).

    Jinak u "distcc" je dobry zminit, ze se ma pouzivat jenom tehdy, pokud bychom uzivatelum kompilujicim z danych klientu poskytli na dalsich distcc nodech shell access, viz http://distcc.samba.org/security.html :

    "Anyone who can connect to the distcc server port can run arbitrary commands on that machine as the distccd user. If you are not using SSH, you must use the --allow rule and/or firewall rules to limit access to port 3632."

    Dale mi neni jasne, co autor minil doporucenim pouzivat `FEATURES="distcc" emerge foo` misto adekvatni zmeny make.conf, zejmena v kontextu predchoziho odstavce.
    1.7.2008 09:52 rellix
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    odporucam skor pouzivat na kompilovanie s distcc alias pre emerge

    alias demerge="FEATURES='$FEATURES distcc' emerge"
    12.7.2008 18:51 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše Re: Gentoo Linux - rýchlosť kompilácie (ccache a distcc)
    ...a nebo si precist manual a zjistit, ze se $FEATURES nastavuji v /etc/make.conf, ze...

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.