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:00 | Bezpečnostní upozornění

    Ve správci balíčků APT, používaném v Debianu a odvozených distribucích, byla nalezena a opravena kritická zranitelnost CVE-2026-109518. Vzdálený útočník může obejít ověření stažených balíčků pomocí přesměrování a dočasných chyb HTTP serveru.

    Ladislav Hagara | Komentářů: 2
    dnes 13:11 | IT novinky

    Nejvyšší kontrolní úřad (NKÚ) vydal zprávu o finančním řízení prostředků EU v ČR (pdf). Dočíst se lze například, že přes 8 miliard korun na digitální vzdělávání nepřineslo naplnění žádného z prioritních cílů programu. Peněžní prostředky z fondů EU sice byly vynaloženy formálně v souladu s právními předpisy, avšak s minimálním nebo neprokazatelným dopadem na proklamované cíle ve vzdělávání. Na Metodickém portálu RVP.CZ bylo ke konci

    … více »
    Ladislav Hagara | Komentářů: 13
    dnes 11:33 | Nová verze

    Emulátor terminálu kitty (Wikipedie, GitHub) byl vydán v nové verzi 0.50.

    Ladislav Hagara | Komentářů: 2
    dnes 09:00 | Bezpečnostní upozornění

    Vývojáři C-Kermit oznámili několik dlouhodobě přítomných zranitelností. Patří mezi ně buffer overflow v Telnet/FTP klientovi a command injection v Kermit serveru. Dotčené verze: C-Kermit 11.0.514 a starší. Fix: 11.1.515 [oss-security].

    vencour | Komentářů: 1
    dnes 02:44 | Nová verze

    Byla vydána nová verze 3.2.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Projekt openSUSE dnes, 3. listopadu 2026, oficiálně vydal openSUSE Leap 16.1, novou verzi své stabilní linuxové distribuce. Novinkou je také Immutable Mode, který nahrazuje dosavadní samostatnou distribuci openSUSE Leap Micro. Podrobnosti o novém vydání najdete v oficiálním oznámení nebo v českém překladu oznámení. Instalační obrazy jsou již dostupné na get.opensuse.org. Vydání společně oslavíme v pátek ve virtuálním baru a na … více »

    lkocman | Komentářů: 1
    včera 16:00 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 45. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora Cloud pro cloudové nasazení, Fedora CoreOS pro ty, kteří preferují neměnné systémy a Fedora IoT pro internet věcí. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 15:44 | Zajímavý článek

    Vědci z MIT CSAIL představili koncept 'weight-space programming' a názorně předvedli, že pokročilé jazykové modely SI dokážou přímo číst a upravovat váhy neuronových sítí. Studie ukazuje, že modely nejen dokážou identifikovat účel sítí z pouhého nahlédnutí do jejich číselných vah, ale mohou i cíleně opravovat chyby a nedostatky, například GPT-6 Astra se změnou pouhých 0,016% vah open-weight modelu Qwen3.5-0.8B podařilo odstranit

    … více »
    👻 | Komentářů: 5
    včera 14:00 | Komunita

    Organizátoři komunitního setkání nejen českých a slovenských správců sítí CSNOG 2027, které se uskuteční 20. a 21. ledna na půdě zlínské univerzity Tomáše Bati, oznámili prodloužení termínu pro zasílání abstraktů do programu akce. Zájemci se mohou hlásit prostřednictvím webu setkání do úterý 10. listopadu. Programová komise uvítá příspěvky věnované nejen správě sítí, ale také legislativě a regulaci nebo síťařským aktivitám studentů a pedagogů.

    VSladek | Komentářů: 0
    včera 13:55 | IT novinky

    Bylo spuštěno předobjednávání zařízení Flipper One s Linuxem. Za 20 dolarů si lze koupit kupón a zajistit si tím speciální cenu 379 dolarů po spuštění kampaně na Kickstarteru.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2975 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Triky na zvýšenie rýchlosti portage portage

    13.3.2009 17:00 | Přečteno: 1926× | Linux | Výběrový blog | poslední úprava: 13.3.2009 16:42

    Portage na rozidel od väčšiny balíčkovacích systémov nepoužíva žiadnu databázu balíkov. Informácie sú tu roztrúsene v drobných nekomprimovaných textových súboroch. Týchto súborov je štandardne > 100 000 (nie, nepomýlil som si počet núl). Na jednej strane je pridávanie vlastných balíkov do portage veľmi jednoduché a bezbolestné. Načítavanie takého množstva súborov už také ideálne nie je (ak teda nemáme SSD disk). Našťastie existuje riešenie ako tieto obmedzenia (za cenu drobného kompromisu) obísť.

    Rýchle vyhľadávanie balíkov pomocou eix

    Nástroj eix umožňuje veľmi rýchle vyhľadávanie v balíkoch. Informácie o balíkoch sú podrobnejšie než tie, ktoré poskytuje emerge.

    Inštalácia je veľmi jednoduchá, stačí nainštalovať nástroj eix a spustiť update-eix. Databáza eix sa neaktualizuje automaticky pri synchronizácii (emerge --sync) preto je nutné po každej synchronizácii spustiť update-eix. Aby sme nemuseli zadávať zasebou emerge --sync a update-eix existuje príkaz eix-sync, ktorý spustí emerge --sync a update-eix a po synchronizácii zobrazí prehľadný zoznam zmien balíkov.

    Paralelné sťahovanie balíkov

    Portage umožňuje paralelné sťahovanie počas kompilácie. Pre zapnutie paralelného sťahovania stačí editovať súbor /etc/make.conf a do premennej FEATURES pridať voľbu parallel-fetch. Odteraz sa budú súbory sťahovať počas kompilácie.

    Pokračovanie v inštalácii pri výskyte chyby

    Toto na prvý pohľad nemá s rýchlosťou moc spoločného. Ak ale nechávate emerge bežať v noci a kompilácia padne pri druhom balíku môže táto technika ušetriť aj niekoľko dní.

    Prvé čo musíme urobiť je inštalácia portage 2.2. Pred inštaláciou je nutné nové portage odmaskovať (pridať sys-apps/portage-2.2* do /etc/portage/package.unmask a sys-apps/portage ~architektúra do /etc/portage/package.keywords). Po inštalácii stačí pri pri použití emerge pridať voľbu --keep-going. Ak ste rovnako leniví ako ja pravdepodobne sa vám to nebude chcieť písať pri každom použití emerge. Práve pre takéto prípady existuje premenná EMERGE_DEFAULT_OPTS v /etc/make.conf. Moja EMERGE_DEFAULT_OPTS vyzerá takto:

    EMERGE_DEFAULT_OPTS="--keep-going"

    Využitie rýchleho filesystému na portage

    Liekom na pomalé portage môže byť presun /usr/portage na rýchlejší filesystém. Nebudem tu rozoberať veľké množstvo filesystémov vhodných na tieto účely (napr. rôzne komprimované filesystémy) alebo písať o tom, ako optimalizovať „bežné” filesystémy na rýchlu prácu s veľkým množstvom malých súborov. Namiesto toho popíšem jedno konkrétne riešenie využívajúce read only filesystém (squashfs).

    Squashfs je komprimovaný filesystém používaný prevažne u live linuxov. Kompresný pomer nie je síce najlepší, ale zato kompresia je rýchla. U mňa sa portage zredukovalo z 555 MB na 46 MB (čo je pri danej rýchlosti kompresie slušná hodnota). Rýchlosť prístupu k súborom je u squashfs výrazne vyššia než u väčšiny bežných filesystémov. Istým problémom môže byť to, že je iba read only (i keď pri istých kompromisoch nie je tento problém neprekonateľný).

    V linuxe existuje niekoľko filesystémov ktoré ktoré dokážu pracovať s pripojeným read only filesystémom ako keby bol zapisovateľný. Tieto filesystémy sú napr. unionfs, fsunionfs, alebo aufs. Unionfs je je trochu zastaralý, jeho náhradou je fsunionfs (unionfs pre FUSE). V podstate môžeme vybrať ktorýkoľvek z týchto filesystémov, ja som sa rozhodol pre aufs z overlaya sunrise.

    Pre tých ktorí ešte nepoužívali overlaye odporúčam pozrieť si nástroj layman.

    Prvá vec ktorú by sme mali urobiť je presun adresára /usr/portage/distfiles na iné miesto (výber ponechám na vás). Po presune na iné miesto upravíme /etc/make.conf a špecifikujeme nové umiestnenie adresára distfiles.

    DISTDIR="nové umiestnenie distfiles"

    Ďalej si z tejto stránky stiahneme súbor initscripts.tar.gz a rozbalíme súbor init.d/squash_dir do /etc/init.d. Tento súbor premenujeme na squash a z neho urobíme odkaz na /etc/init.d/squash_portage (ak ste si istí, že nechcete používať iný adresár okrem portage pre squashfs môžete priamo tento súbor pomenovať /etc/init.d/squash_portage). Názov súboru squash_adresár nie je povinný, dané pomenovanie som zvolil len pre zvýšenie prehľadnosti.

    Teraz vytvoríme súbor /etc/conf.d/squash_portage s takýmto obsahom:

    DIRECTORY="/usr/portage"
    DIR_CHANGE="/tmp/portage"
    DIR_SQUASH="/tmp/portage_ro"
    VERBOSE_MODE=1

    V premennej DIRECTORY je adresár ktorý chceme chceme dať do squashfs. V DIR_CHANGE je adresár kde sa ukladajú zmeny (keďže samotný squashfs je read only). Adresár môže sa môže nachádzať v ramdisku (ak chceme maximálny výkon). Do adresára DIR_SQUASH sa pripája read only časť portage. Ak chceme pri odpájaní vidieť progress bar môžeme zapnúť voľbu VERBOSE_MODE [na to je potrebný patch, ktorý je v adresári squash_dir_utils (z rovnakého archívu v ktorom sa nachádzal init skript)]. Modifikácia ebuildu nie je nič zložité.

    Teraz už je všetko nakonfigurované a môžeme smelo spustiť /etc/init.d/squash_portage start. Pri pokuse o prvý štart nám init skript vypíše chybu (keďže zatiaľ nemáme vytvorený súbor so squashfs). Okrem chybovej hlášky rovno ponúka aj riešenie.

    squash_portage    |* You must create /usr/portage.sqfs first. Use e.g.
    squash_portage    |* mksquashfs '/usr/portage' '/usr/portage.sqfs'
    squash_portage    |*    && chmod 644 '/usr/portage.sqfs'
    squash_portage    |*    && rm -rf -- '/usr/portage'                   [ !! ]
    squash_portage    |* ERROR: squash_portage failed to start

    Takže už stačí len systémom copy & paste vytvoriť /usr/portage.sqfs a naštartovať službu /etc/init.d/squash_portage start.

    Pre zápis zmien portage stačí reštartovať službu squash_portage (/etc/init.d/squash_portage restart). Ak nedošlo k modifikácii reštart bude takme okamžitý. V opačnom prípade to bude pár sekúnd trvať (v žiadnom prípade nie tak dlho ako prvé vytvorenie portage.sqfs z celého adresára /usr/portage).

    Podrobnosti môžete nájsť v pôvodnom vlákne na gentoo fóre.

    Na záver ešte spomeniem, že okrem samotného portage je možné urýchliť aj kompiláciu balíkov (pomocou ccache, alebo distcc). Medzi optimalizačné techniky patrí aj confcache (to je ale oproti predchádzajúcim nástrojom veľmi nespoľahlivé).

    Ak máte ďalšie nápady ako zrýchliť portage napíšte prosím postup do diskusie.

           

    Hodnocení: 100 %

            špatné • dobré        

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

    Komentáře

    Vložit další komentář

    David Watzke avatar 13.3.2009 18:24 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage
    --keep-going pro Paludis
    export PALUDIS_OPTIONS="--continue-on-failure if-satisfied"
    Jinak osobně doporučuju zvážit použití rsync_excludes. Prostě si vytvoříte soubor s názvy kategorií balíků, které nepoužíváte a ty se při synchronizaci vynechají. Stačí rsyncu předat --exclude-from. Já jsem tohle zatáhl trochu do extrému a vytvořil jsem si seznam balíků co používám a zbytek ignoruju - do konfiguráku gentoo.conf jsem přidal:
    sync_options = --rsync-option=--prune-empty-dirs --rsync-option=--include-from=/etc/paludis/rsync_includes --exclude=*
    a soubor /etc/paludis/rsync_includes patřičně naplnil (nezapomenout na metadata!)... ukázka:
    app-cdr/                                                                             
    app-cdr/cdrdao/                                                                      
    app-cdr/cdrdao/**
    metadata/
    metadata/*
    metadata/cache/
    metadata/cache/*
    metadata/cache/app-cdr/
    metadata/cache/app-cdr/cdrdao-*
    Problém je, že když pak člověk chce nainstalovat něco novýho tak to holt musí přidat a synchronizovat znova. Výhoda je tak 10x menší strom. Takže se to hodí spíš na nějaký mini systémy.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    13.3.2009 19:15 Scarabeus IV | skóre: 20 | blog: blogisek_o_gentoo | Praha
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage
    Jenom aby se nezapomelo tak portage umi taky sincovat jen cast stromu. Je to v manu tak si to najdete ;]
    15.3.2009 15:20 CET
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    --keep-going pro stable  portage:

    if ! emerge -uvDN world;then while ! emerge --resume --skipfirst;do true;done;fi
    
    Marián Kyral avatar 14.3.2009 09:32 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    Nestabilní portage už používám opravdu hodně dlouho a na problémy jsem nenarazil. Ale to neznamená, že žádné nejsou ;-)

    Squashfs vypadá zajímavě. Asi se do toho brzo pustím. Se 4GB RAM by ramdisk neměl být problém :-)

    mirec avatar 14.3.2009 09:46 mirec | skóre: 33 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage
    No vzhľadom na to, že sa tam ukladajú len zmeny by nemal byť problém ani 512MB.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Marián Kyral avatar 14.3.2009 10:22 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    A vyplatí se ten ramdisk, když těch změn nebude moc?

    mirec avatar 14.3.2009 10:30 mirec | skóre: 33 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage
    No práve som synchronizoval s ramdiskom, vidím, že mi to zožralo 11MB a pri synchronizácii som nevidel žiadnu činnosť disku. Určite to spôsobí mierne zrýchlenie ale pravdu povediac aj tak ma teraz brzdí hlavne server s ktorým synchronizujem.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Marián Kyral avatar 14.3.2009 15:24 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    Tak jsem zkompiloval aufs ale modprobe aufs skončil s chybou. Asi bude třeba ještě nějaká volba v kernelu (gentoo-sources), ale v dokumentaci o tom nic není, google zatím nepomohl.

    Nechal jsem default USE flagy - jen kernel_linux

    aufs: Unknown symbol security_inode_permission
    Marián Kyral avatar 14.3.2009 16:52 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    Aha, aufs opatchoval aktuální kernel, takže ho musím znova přeložit, pak by to mělo fungovat.

    Marián Kyral avatar 14.3.2009 20:56 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    Takže hotovo (zatím bez ramdisku).

    Trochu problém byl s instalací aufs, takže přidám postup, třeba se to někomu bude hodit:

    • layman -a sunrise
    • emerge -av aufs squashfs-utils
    • aufs opatchuje jádro, takže je třeba jej znovu přeložit. Při té příležitosti doporučuji kouknout do sekce "File systems" a povolit squashfs, ať to nemusíte dělat dvakrát jako já :-)
    • Znova přeložíme moduly: emerge -1 @module-rebuild
    • Pak dle návodu, nicméně místo rm -rf -- '/usr/portage'" doporučuji spíše přejmenování a smazat až je vše hotovo

    /usr/portage se smrsklo ze 607 MB na 46MB a /usr/local/portage/layman se smrskl ze 130MB na 19MB. Po prvním update měly rw adresáře 23 a 43 MB.

    Patch na verbose mode jsem musel aplikovat ručně, protože verze 3.3 nepasuje na squashfs-tools-3.4. Aktualizovaný patch je v příloze, ale už jsem jej zaslal autorovi, takže se snad brzy objeví aktualizovaná verze initscripts.

    Marián Kyral avatar 14.3.2009 21:24 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    ...squashfs-tools tam má být :-)

     

    mirec avatar 15.3.2009 08:47 mirec | skóre: 33 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage
    To s tým premenovaním je asi lepšie riešenie (tiež som tak pre istotu postupoval). Mimochodom /usr/local/portage je nejaké veľké, ja tam mám pár vlastných ebuildov ale do takého štádia som ešte nedospel ;)
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    mirec avatar 15.3.2009 08:48 mirec | skóre: 33 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage
    Jaj ja som blbec, to je layman .. ja mam laymana priamo v /usr/portage/local/layman .. to bude asi tým, automaticky som predpokladal, že v /usr/local/portage sú vlastné ebuildy ;)
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    Marián Kyral avatar 15.3.2009 09:39 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    Novější verze laymana se už instalují do /usr/local/portage.

    15.3.2009 15:25 CET
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    K rychlosti FS. Mel jsem /usr/portage spolecne na root oddilu (asi 16GB na jednom kompu, na druhym to bylo na disku 150GB). Bylo to pomaly. Tak jsem udelal specialni LV oddil jenom pro /usr/portage, pak dalsi pro /var/db a dalsi pro /var/cache/edb (velikosti jen o trosku vic, nez bylo obsazene misto). update-eix je ted o dost rychlejsi, tak bych rekl, ze i emerge bude.

    IMHO to nemusi byt primo nejaky super-rychly FS, ale staci, aby na tom FS byly pouze tyhle data, aby system prochazel jenom ty data, ktery prochazet ma a nemusel se starat o dalsi struktury s celym systemem.

    16.3.2009 16:09 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage
    emerge bude rychlejsi, ale kompilacia nie. Takze iba hladanie zavislosti. Na kompilaciu vraj pomaha tmpfs na /var/tmp/portage.

    Mam uz asi 2 roky portage a /var/cache/edb na loopdevice, aby som ich udrzal blizko seba a disk nemusel seekovat po celej sirke. Obcas pomaha to skopirovat mimo a naspat. Len touto operaciou som znizil zaplnenie loopu z 85% na 40%. Zjavne struktury reiserfs casom bobtnaju.
    If you hold a Unix shell up to your ear, you can you hear the C.
    Marián Kyral avatar 16.3.2009 17:34 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

     

    emerge bude rychlejsi, ale kompilacia nie. Takze iba hladanie zavislosti.

    To mi stačí. U kompilace záleží na rychlosti procesoru, disku a velikosti paměti. A kompilace může klidně bežet i přes noc.

    Na kompilaciu vraj pomaha tmpfs na /var/tmp/portage.

     

    Jen si pak musí člověk dát pozor aby nekompiloval openoffice. Ale dneska se dá do počítače narvat i 8GB ram, to by možná šlo. A chtěl bych to pak vidět :-)

    Marián Kyral avatar 26.3.2009 22:06 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    Tak jsem to zkusil s dvougigovým tmpfs a nestačilo to ani na kdelibs-4.2.1 :-(

    Nějaké zrychlení jsem pozoroval, ale nebylo to nic závratného. Taky jsem si vytipoval dalšího kandidáta na squashfs. Adresář /usr/include má 325MB a skoro 46 tisíc souborů. Squash soubor má 26MB. Jen je to mnohem nebezpečnější, pokud člověk přijde o změny v tmpfs, tak může v lepším případě kompilovat jen pár balíků, v tom horším celý systém :-(

    21.3.2009 18:29 zippy
    Rozbalit Rozbalit vše Re: Triky na zvýšenie rýchlosti portage portage

    my sme sa tomu na fakulte troska venovali, a toto z toho vypadlo:

    http://www.fit.vutbr.cz/study/DP/BP.php?id=6209&y=2007

    Založit nové vlákno • Nahoru

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