abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:22 | Zajímavý software

    TerminalTextEffects (TTE) je engine pro vizuální efekty v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Pozvánky

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 4
    včera 14:11 | Komunita

    Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.

    Ladislav Hagara | Komentářů: 0
    27.5. 21:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    27.5. 19:44 | IT novinky

    Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    27.5. 15:44 | IT novinky

    Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".

    Ladislav Hagara | Komentářů: 3
    27.5. 15:11 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.

    Petr Krčmář | Komentářů: 0
    25.5. 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 13
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 21
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (89%)
     (3%)
     (4%)
     (4%)
    Celkem 948 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník


    Vložit další komentář
    15.6.2005 16:30 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Che
    Podle těch požadavků nakonec napíšeš librpm, akorát to nebude portabilní, nebude to pořádně otestované, nebude to mít API pro další jazyky a pravověrní Slackwaristi to stejně nebudou používat. Ale co, kdo si hraje, nezlobí.
    15.6.2005 19:54 megi | skóre: 11 | blog:
    Rozbalit Rozbalit vše Re: Che
    Ano samozřejmě. Ještě jsi zapoměl, že to nepujde zkompilovat a když už ano, tak to nepůjde spustit. :)
    15.6.2005 20:27 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Che
    Zkompilovat a spustit to možná půjde. Ale nepůjde z toho udělat balíček ;-)
    15.6.2005 21:55 megi | skóre: 11 | blog:
    Rozbalit Rozbalit vše Re: Che
    To je fakt. To ani není cílem. (viz. požadavky) :)
    15.6.2005 18:25 Triton | skóre: 10 | blog: keep_slacking
    Rozbalit Rozbalit vše Pár poznámek II
    Část příspěvku byla asi reakcí na mě ;-)

    Jen detail: removepkg timestampy nekontroluje. Nebo to aspoň v tom bordelu nemůžu najít.
    delete_files() {
     while read FILE ; do
      if [ ! -d "$ROOT/$FILE" ]; then
       if [ -r "$ROOT/$FILE" ]; then
      if [ "$ROOT/$FILE" -nt "$ADM_DIR/packages/$PKGNAME" ]; then  
         echo "WARNING: $ROOT/$FILE changed after package installation."
        fi
        if [ ! "$WARN" = "true" ]; then
    ...
    

    Ano. Minimálně dvakrát. Jednou test integrity, podruhé rozbalení /install ...
    Rozbalení jako extrakce obsahu archivu do filesystému se opravu provede jen jednou a využije se cache z předchozího "rozbalení v paměti" při testu integrity. Ale to je přece nutné. Přece se nebude naslepo rovnou provádět instalace, když může být nedokončena kvůli chybě v archivu. Sice by se trochu ušetřilo pokusným rozbalením do pomocného adresáře a v případě úspěchu pak přesunutím do kořene, ale přijde mi to jako zbytečná krkolomnost.
    Jak jinak lze získat popisek balíčku, pokud není v externím souboru, pro jeho zobrazení před samotnou instalací, než extrahováním install/slack-desc ?
    Jak už jsem psal, preferuji jednoduchost shellscriptu oproti rychlosti, vy zřejmě opak.

    Ono je pěkné mít ls a grep, ale pak nemůžete čekat, že se dostanete u prohlížení balíčků pomocí pkgtool pod 40s při startu.
    To jsem moc nepochopil. Např. (nekešované)
    triton@darkstar:~$ time ls /var/adm/packages | grep python
    python-tools-2.4.1-noarch-1
    python-2.4.1-i486-1
    
    real    0m0.032s
    user    0m0.016s
    sys     0m0.006s
    
    triton@darkstar:/var/adm/scripts$ time grep -lr usr/bin/nmap /var/adm/packages
    /var/adm/packages/nmap-3.81-i486-1
    
    real    0m0.028s
    user    0m0.013s
    sys     0m0.013s
    

    Váš entuziasmus obdivuji a <nezprofanovaně>upřímně</nezprofanovaně> přeji úspěšné dotažení nápadu k cíli.

    Happy coding :-)

    Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R' 2V,*3$D-EG4PC!<*(%%I"<*$` `
    15.6.2005 19:18 Triton | skóre: 10 | blog: keep_slacking
    Rozbalit Rozbalit vše Re: Pár poznámek II
    Ještě doplním:

    triton@darkstar:~$ ls /var/adm/packages|wc -l
    459
    triton@darkstar:~$ du -s /var/adm/packages
    15092    /var/adm/packages
    dunric@darkstar:~$ 
    
    P-M/600
    Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R' 2V,*3$D-EG4PC!<*(%%I"<*$` `
    15.6.2005 20:04 megi | skóre: 11 | blog:
    Rozbalit Rozbalit vše Re: Pár poznámek II
    Jo jo, byla to reakce na vás. :)

    Pokud chcete zobrazit všechny balíčky v menu: x 500 = 16 seknud. (minimálně, něco ještě sežere režie shellu)

    Toho timestampu jsem si nevšiml.

    Cache využije, ale pro zabalený archiv, takže dekomprese se provádí stejně dvakrát.
    15.6.2005 22:00 megi | skóre: 11 | blog:
    Rozbalit Rozbalit vše Re: Pár poznámek II
    Tak jsem se díval podrobněji na archivy několika balíčků a zjistil jsem, že s železnou pravidelností je slack-desc až jako úplně poslední soubor v archivu. To znamená, že gzip -d se provádí 3x vždy na celý soubor.

    Zajímavé.
    16.6.2005 10:25 Triton | skóre: 10 | blog: keep_slacking
    Rozbalit Rozbalit vše Re: Pár poznámek II
    Pokud chcete zobrazit všechny balíčky v menu: x 500 = 16 seknud. (minimálně, něco ještě sežere režie shellu)
    Na pkgtoolu jsme se shodli. Já se snažil ukázat, že zobrazení všech 459 balíčků standardními nástroji trvá zlomky vteřin.
    Tak jsem se díval podrobněji na archivy několika balíčků a zjistil jsem, že s železnou pravidelností je slack-desc až jako úplně poslední soubor v archivu. To znamená, že gzip -d se provádí 3x vždy na celý soubor.
    Pokud má tar v parametru místo seznam adresářů, přidává na dané úrovni jeho obsah reverzně. Sám nevím, proč tomu tak je.

    To, na jaké pozici v taru se nachází slack-desc nebo jakýkoli jiný soubor přece nemá vůbec žádný vliv. Pokud chci cokoliv z tgz vyextrahovat, vždycky se prvně provede kompletní dekomprese gzipem.

    Minule jsem souhlasně uvedl, že v installpkg je teoreticky prostor pro optimalizaci, kdy by se s jedním rozbalením vystačilo. Přibyl by ale mezikrok pro přesun z dočasného do kořenového adresáře, resp. úklid po narušeném archivu. I tak by to bylo sice rychlejší, ale přijde mi to méně elegantní řešení bez valného přínosu. Nebo vás napadá ještě jiný elegantnější nebo rychlejší algoritmus ?

    Zkusil jsem si změřit čas testu a čas extrakce velkého tgz archivu(cca 60MiB) a test byl o 1/2 - 2/3 kratší (fs ext3, noatime).

    Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R' 2V,*3$D-EG4PC!<*(%%I"<*$` `
    16.6.2005 17:16 megi | skóre: 11 | blog:
    Rozbalit Rozbalit vše Re: Pár poznámek II

    To, na jaké pozici v taru se nachází slack-desc nebo jakýkoli jiný soubor přece nemá vůbec žádný vliv. Pokud chci cokoliv z tgz vyextrahovat, vždycky se prvně provede kompletní dekomprese gzipem.

    Má. Jakmile vyextrahuje ty soubory, které jsou požadovány, tak končí a dál nečte.

    Zkusil jsem si změřit čas testu a čas extrakce velkého tgz archivu(cca 60MiB) a test byl o 1/2 - 2/3 kratší (fs ext3, noatime).

    To je jasné.

    16.6.2005 18:48 Triton | skóre: 10 | blog: keep_slacking
    Rozbalit Rozbalit vše Re: Pár poznámek II
    ... je slack-desc až jako úplně poslední soubor v archivu. To znamená, že gzip -d se provádí 3x vždy na celý soubor.
    To, na jaké pozici v taru se nachází slack-desc nebo jakýkoli jiný soubor přece nemá vůbec žádný vliv. Pokud chci cokoliv z tgz vyextrahovat, vždycky se prvně provede kompletní dekomprese gzipem.

    Má. Jakmile vyextrahuje ty soubory, které jsou požadovány, tak končí a dál nečte.

    Docela mě to překvapuje, ale asi nechápete základní strukturu tgz archivu. Všechny soubory jsou přidány do jednoho taru a tento archiv je potom jako jeden soubor komprimován např. gzipem, tj. vaše dedukce: slack-desc je na konci taru => gzip -d se musí provést na celý soubor, je chybná. To umístění má vliv až na druhou fázi, tj. rozbalení samotného taru.
    Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R' 2V,*3$D-EG4PC!<*(%%I"<*$` `
    16.6.2005 20:15 megi | skóre: 11 | blog:
    Rozbalit Rozbalit vše Re: Pár poznámek II
    Ne. Tar spouští gzip -d a po kouscích (třeba 16k) si od něj bere rozbalená data a na nich dělá další zpracování (dekódování hlaviček, ukládání dat do souborů). Jakmile ze streamu získá všechny soubory, které se od něj chtějí, tak končí. Takže pokud jsou data až na konci, archivu tak musí prolézt celý archiv. Pokud jsou na začátku, tak je načte a zbytkem se vůbec neobtěžuje.

    Teď to zkouším a koukám, že to GNU tar takhle nedělá. Žádný program není dokonalý. :) Takže se vždy musí dekomprimovat třikrát celý soubor.

    Nicméně to je stejně divné, dávat soubory, které potřebuji z archivu rychle dostat až na konec.
    16.6.2005 22:27 Triton | skóre: 10 | blog: keep_slacking
    Rozbalit Rozbalit vše Re: Pár poznámek II
    Teď to zkouším a koukám, že to GNU tar takhle nedělá. Žádný program není dokonalý. :) Takže se vždy musí dekomprimovat třikrát celý soubor.
    Jsem rád, že jste si to moje tvrzení ověřil :-)

    Třeba vás to bude inspirovat k napsání vlastní implementace taru ;-)

    Z'LI0(%:`&/NRU`Y0"@8.L%.%PG(%!D>"<!@C(4&'?`UO!/$"K\2)+!1K',R' 2V,*3$D-EG4PC!<*(%%I"<*$` `
    17.6.2005 16:06 megi | skóre: 11 | blog:
    Rozbalit Rozbalit vše Re: Pár poznámek II
    Díky tomu, že to archiv proleze celý, tak už by mohla být další kontrola zbytečná. Takže možná že i tak by šlo installpkg zoptimalizovat alespoň trochu.

    Mimochodem: Už se stalo. :)

    Založit nové vláknoNahoru

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

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