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 18:44 | Komunita

Oficiální YouTube kanál Blenderu je již několik dní blokován. Důvody jsou zatím nejasné. Pravděpodobně chyba YouTube. Dění lze sledovat na Twitteru Tona Roosendaala.

Ladislav Hagara | Komentářů: 2
dnes 17:55 | Zajímavý software

Na GitHubu byly pod open source licencí LLVM zveřejněny zdrojové kódy překladače programovacího jazyka C++ Zapcc vycházejícího z Clangu/LLVM. Překlad pomocí Zapccu je díky lepšímu kešování obvykle několikrát rychlejší než překlad pomocí Clangu. V březnu loňského roku byl vydán Zapcc ve verzi 1.0.

Ladislav Hagara | Komentářů: 0
dnes 17:22 | Pozvánky

Červnový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 21. 6. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát na téma: F-Droid, aneb svobodný software do vašeho mobilu. Kromě toho budou k vidění i vývojové desky HiFive1 se svobodným/otevřeným čipem RISC-V.

xkucf03 | Komentářů: 0
15.6. 22:44 | Zajímavý článek

Na blogu projektu NeoPG (GitHub), kryptografického softwaru vycházejícího z GnuPG, byly zveřejněny 4 příspěvky detailně popisující aktuální bezpečnostní problémy v GnuPG a souvisejících softwarových produktech. V prvním příspěvku je ukázáno, že je možné vytvořit zprávu, o které budou Earlybird, Evolution, Mutt nebo Outlook tvrdit, že jí dešifrovali a přitom ale zpráva vůbec zašifrována nebyla. V druhém příspěvku je popsána

… více »
Ladislav Hagara | Komentářů: 6
15.6. 13:00 | Komunita

GamingOnLinux informuje, že počítačová hra Track Mania Nations Forever (Steam, Wikipedie) pro Windows je nově dostupná také jako snap. Stejně jako v případě winepaku a Flatpaku se k běhu hry používá překladová vrstva Wine.

Ladislav Hagara | Komentářů: 12
14.6. 15:12 | Komunita

Tradiční setkání příznivců operačního systému Linux pod názvem Linux párty Teplice se bude konat v pátek 15. 6. 2018 v Hospůdce u černé Kočky od 18:00 hodin. Setkají se zde pamětníci příkazové řádky, vítáni jsou však i začínající uživatelé.

František Bublík | Komentářů: 21
14.6. 14:00 | Bezpečnostní upozornění

Intel potvrdil (INTEL-SA-00145) další bezpečnostní chybu ve svých procesorech. Jedná se o chybu CVE-2018-3665 s názvem LazyFP.

Ladislav Hagara | Komentářů: 13
14.6. 11:00 | Nová verze

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 153. brněnský sraz, který proběhne v pátek 15. června od 18:00 v restauraci U OSLŮ na ulici Sokolská 361/10. Pro zájemce proběhne krátké promítání z výletu do Černobylu.

Ladislav Hagara | Komentářů: 0
13.6. 19:58 | Upozornění

Server lupa.cz rozebírá připravovanou reformu copyrightu v EU a dopad jejího článku 13, který dává internetovým platformám povinnost řešit autorské právo za vlastníky práv, což by v podstatě vedlo k automatizované cenzuře a konci internetu tak, jak ho známe dnes. Podobně v otevřeném dopise varují Vint Cerf, Tim Berners-Lee a jiní odborníci, Cory Doctorow upozorňuje na důsledky pro Wikipedii, nebo github na sdílení kódu.

marbu | Komentářů: 103
12.6. 16:00 | Nová verze

Bylo oznámeno vydání verze 5.13 prostředí KDE Plasma. Přehled nových vlastností i s náhledy v poznámkách k vydání. Videoukázka na YouTube.

Ladislav Hagara | Komentářů: 94
Jak čtete delší texty z webových stránek?
 (78%)
 (22%)
 (4%)
 (7%)
 (2%)
 (11%)
Celkem 203 hlasů
 Komentářů: 36, poslední dnes 21:16
    Rozcestník

    Busybox v roli http serveru

    10.3.2014 05:41 | Přečteno: 1302× | Počítače | poslední úprava: 9.3.2014 11:49

    Minulý týden jsem psal o tom, jak připojit k desce BeagleBone teploměr. Že to jde, jsem ukázal názorně na stránce http://beagle.bravenec.eu (nyní funguje už i přes IPv4).

    BeagleBone není zrovna výkonný stroj a i když by to šlo, instalovat kvůli jedné stránce php a apache je jako přiřezávat párátko motorovou pilou. Jak to tedy udělat a jaký webový server zvolit?

    Pro podobné jednoduché úlohy lze s úspěchem použít švýcarský nožík miniaturních linuxových distribucí: Busybox. Busybox je použitý jak v roli shellu pro běh potřebných skriptů, tak v roli webového serveru. Pro vyčítání, zpracování a zveřejnění naměřených hodnot si prakticky stoprocentně vystačíme jen s busyboxem.

    Vyčítání hodnot funguje jednoduše. Přečte se obsah potřebného souboru a vypreparuje a zformátuje se potřebná hodnota (programem awk) a v šabloně index.html se přepíšou řetězce XXX1 a XXX2 naměřenými hodnotami. Výsledek se uloží na ramdisk. Proč na ramdisk? Zůstaňte naladěni na tento kanál, článek o patáliích s SD kartami a o potřebnosti ramdisku už je napsaný a čeká na zveřejnění. Nejrychleji se o článku dozvíte, pokud začnete sledovat náš Twitter.

    #!/bin/busybox sh
    
    SED="busybox sed"
    AWK="busybox awk"
    SLEEP="busybox sleep"
    
    while true
        do
            XXX1=$($AWK -F "=" '$0 ~ /t=/ {printf("%1.1f\n",($2)/1000);}' \
                    < /sys/bus/w1/devices/28-0000027d912e/w1_slave )
    
            XXX2=$($AWK -F "=" '$0 ~ /t=/ {printf("%1.1f\n",($2)/1000);}' \
                    < /sys/bus/w1/devices/28-00000294d39a/w1_slave )
    
            $SED "s/XXX1/$XXX1/g; s/XXX2/$XXX2/g" \
                    < /root/teplomer/index.html \
                    > /dev/shm/teplomer/index.html
    
            $SLEEP 15
    
        done
    

    Ve svém BeagleBone mám nainstalovanou distribuci Gentoo - zde mám všechny potřebné utility (sed, awk, grep a sleep) v jejich plnokrevné verzi. Busybox obsahuje funkčnost všech těchto utilit. V menších systémech (routery, čtečky) bývá obvyklé, že busybox zde plní veškeré funkce a nic navíc nainstalováno není - na busybox vedou pouze linky pod názvem požadovaných programů. Abych zavolal utilitu vestavěnou v busyboxu, musím ve svém BeagleBone volat přímo busybox a prvním parametrem musí být název požadované utility. V systémech, kde je nainstalovaný pouze busybox a samostatné utility jako sed, awk a sleep nejsou, můžu volat busybox přímo názvem požadované utility.

    Vyčítání hodnot se startuje pomocí jednoduchého init skriptu /etc/init.d/teplomer:

    #!/sbin/runscript
    
    depend() {
        use logger
    }
    
    start() {
        ebegin "Starting teplomer"
        start-stop-daemon --start --quiet --pidfile /var/run/teplomer.pid \
            --background --make-pidfile --exec /root/teplomer/teplomer
        eend ${?}
    }
    
    stop() {
        ebegin "Stopping teplomer"
        start-stop-daemon --stop --quiet --pidfile /var/run/teplomer.pid
        eend ${?}
    }
    

    Busybox je natolik univerzální nástroj, že dokáže fungovat i jako jednoduchý webový server pro statický obsah. Nastavení a startování řeší opět jednoduchý init skript /etc/init.d/httpd-teplomer:

    #!/sbin/runscript
    
    depend() {
        use logger dns
    }
    
    start() {
        ebegin "Starting httpd-teplomer"
        mkdir -p /dev/shm/teplomer
        start-stop-daemon --start --quiet \
            --pidfile /var/run/httpd-teplomer.pid \
            --background --make-pidfile \
            --exec /bin/busybox -- httpd -f -p 80 -h /dev/shm/teplomer
        eend ${?}
    }
    
    stop() {
        ebegin "Stopping httpd-teplomer"
        start-stop-daemon --stop --quiet \
            --pidfile /var/run/httpd-teplomer.pid
        eend ${?}
    }
    

    Roli webového serveru zde plní řádek

    /bin/busybox --httpd -f -p 80 -h /dev/shm/teplomer
    

    V Gentoo musím ještě říci, aby se skripty startovaly při startu systému:

    rc-update add teplomer default
    rc-update add httpd-teplomer default
    

    A to je vše.

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    Josef Kufner avatar 10.3.2014 11:50 Josef Kufner | skóre: 68
    Rozbalit Rozbalit vše Re: Busybox v roli http serveru
    FYI, Busybox umí CGI, takže klidně můžeš pouštět PHP z Busyboxího httpd. A pokud ti PHP přijde moc velké, stejně můžeš spustit obyčejný shell script, kde bude akorát here document s tvým index.html a pár proměnných, takže nemusíš volat sed. K tomu bych ještě přidal Flot a rrdtool – z malého neschopného zařízení ti polezou krásné grafy.
    Hello world ! Segmentation fault (core dumped)
    10.3.2014 11:57 2014
    Rozbalit Rozbalit vše Re: Busybox v roli http serveru
    while true ; do nc -l -p 80 -c 'echo -e "HTTP/1.1 200 OK\n\n $(date)"'; done
    Petr Bravenec avatar 10.3.2014 12:25 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Busybox v roli http serveru
    On ten sed a shell skript vyjde víceméně nastejno - takhle mám část zpracování (sed přepisující XXX hodnotami) a část obsahovou odděleně. Takhle je mi to trochu sympatičtější - přehlednější.

    Na grafy máme koupené highcharts, kolega s tím dělá hotové zázraky. Rddtool je zajímavé řešení, zkusím to kolegovi nenápadně podsunout.

    Já s webem moc nedělám, moje poslední "webová" aplikace byla napsaná v C++ a Qt s vlastním www serverem - několik různých vláken tahalo data z harware, další vlákno to sypalo nebo tahalo z databáze (sqlite) a několik dalších vláken obsluhovalo web.
    Petr Bravenec - Hobrasoft s.r.o.
    Josef Kufner avatar 10.3.2014 12:54 Josef Kufner | skóre: 68
    Rozbalit Rozbalit vše Re: Busybox v roli http serveru
    Jen počkej, až tam budeš chtít vypsat seznam. To si se sedem užiješ.
    Hello world ! Segmentation fault (core dumped)
    Petr Bravenec avatar 11.3.2014 07:45 Petr Bravenec | skóre: 43 | blog: Bravenec
    Rozbalit Rozbalit vše Re: Busybox v roli http serveru
    Se sedem to obvykle moc nepřeháním. Kde by sed znamenalo moc práce, použiju obvykle raději awk. Sed je dobrý na přejmenování souborů: s/\.jpeg$/.jpg/ a co tuto složitost přesahuje, řešívám jinak.
    Petr Bravenec - Hobrasoft s.r.o.
    Grunt avatar 10.3.2014 12:54 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Busybox v roli http serveru
    V libovolném novějším WRTčku se jako výchozí jazyk společně s busyboxem na takové věci používá Lua což je něco mezi opravdovým plnohodnotným a skriptovacím jazykem. Nikdy jsem nepochopil proč, protože než takovou potvoru nějaká lehkotonážní krabička přežvýká, trvá to většinou půl dne.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!

    Založit nové vláknoNahoru

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