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 10:33 | IT novinky

    Rodina produktů Raspberry Pi se rozšířila o Raspberry Pi Smart Display Module. Deska pro Raspberry Pi Compute Module 5 se zasouvá přímo do displejů dle specifikace Intel SDM. Cena desky je 30 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová verze 2.56.0 distribuovaného systému správy verzí Git. Přispělo 104 vývojářů, z toho 39 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Bezpečnostní upozornění

    Hackerská skupina ShinyHunters oznámila průnik do informačních systémů FBI, prostřednictvím zero-day zranitelnosti v platformě Oracle PeopleSoft, kterou úřad využívá mimo jiné pro náborový portál FBIJobs.gov. Útočníci tvrdí, že získali až 3 TB dat o současných i bývalých zaměstnancích a uchazečích o práci. Jako důkaz zveřejnili vzorek přibližně 5 000 záznamů obsahující jména, adresy, telefonní čísla, data narození, čísla

    … více »
    AfD 💙 | Komentářů: 1
    včera 21:11 | Zajímavý článek

    Doba kompilace linuxového jádra se díky rychlejšímu hardwaru a optimalizacím kbuildu snižuje k deseti sekundám. Nejnovější patche Lorenza Stoakse (vznikají i s pomocí SI) zkrátily na testovacím stroji dobu sestavení z dlouhých 22 vteřin na pouhých 15, a to bez použití RAMdisku. Testovací systém tvořily dva procesory AMD EPYC 9575F (oba dohromady poskytují celkem 128 jader a 256 vláken), čtyřiadvacet 64GB DDR5-6400 paměťových modulů a

    … více »
    AfD 💙 | Komentářů: 9
    včera 01:33 | Komunita

    Před rokem a půl vývojáři postmarketOS informovali, že pro projekt hledají nové jméno. Včera bylo oznámeno: postmarketOS se nově jmenuje Nura.

    Ladislav Hagara | Komentářů: 8
    27.9. 13:44 | Zajímavý projekt

    Hra Factorio dorazila na Printables. Hned teď si můžete stáhnout 65 různých modelů a nechat celou mimozemskou planetu oživnout na svém stole.

    Ladislav Hagara | Komentářů: 13
    26.9. 19:22 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 18.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    25.9. 23:33 | Humor

    Prezident USA Donald Trump během svého projevu na valném shromáždění OSN 22. září 2026 prohlásil, že umělá inteligence 'bude dále oficiálně nazývána superinteligencí', zkráceně SI. Svůj návrh zdůvodnil takto: 'Použití slova artificial činí inteligenci falešnou. Ona falešná není, ve skutečnosti je úžasná'. Zároveň ve svém proslovu prohlásil, že Spojené státy kategoricky odmítají jakékoliv pokusy o vytvoření 'globalistického

    … více »
    AfD 💙 | Komentářů: 27
    25.9. 23:22 | Nová verze

    Čínská technologická firma Xiaomi představila novou verzi 2.6 svého modelu MiMo, váhy modelů MiMo‑V2.6‑Pro‑RL a MiMo‑V2.6‑Flash‑RL jsou dostupné na HuggingFace pod licencí MIT. Výkonnější varianta Pro má přes bilion parametrů, z toho 42 miliard aktivních, úspornější Flash 309 miliard parametrů, z nichž se při generování aktivuje přibližně 15 miliard. Oba modely mají délku kontextového okna milion tokenů. Tyto MoE modely zvládají

    … více »
    AfD 💙 | Komentářů: 1
    25.9. 03:33 | Komunita

    Proběhl Snapdragon Summit 2026. Společnost Qualcomm se mimo jiné pochlubila během Linuxu na čipech Snapdragon X2. Zatím pouze v ranní verzi vhodné pro vývojáře linuxových distribucí a přispěvatele do jádra Linux.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2750 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Shell v OpenWrt (ash) a konstrukce if []

    10.3.2022 15:33 Jix0 | skóre: 24 | blog: Not only for humans
    Shell v OpenWrt (ash) a konstrukce if []
    Přečteno: 926×
    Zdravim.

    Pracuji u ISP a jako routery zakaznikum, pouzivame routery TP-Link Archer C6 do kterych nahravame OpenWrt. Pripravil jsem si nejprve jeden kus, ktery jsem si nastavil podle nasich potreb a udelal si z toho takovou "default" konfiguraci obsahujici nase vlastni upravy jako vlastni logo, vzdaleny pristup atd. Pote jsem si primo v rozhrani vyexportoval celou jednu partition obsahujici cely firmware s konfiguraci a upravami. Ziskal jsem tim soubor "firmware.mtd1.bin", ktery pak budu pomoci mtd zapisovat.

    Pripravil jsem si k tomu 2 skripty . Prvni nakopiruje pres ssh potrebne soubory a spusti druhy skript na cilovem stroji. V tomto druhem skriptu mam cast, ktera ma provest kontrolu, jestli se jedna o spravny typ routeru a az pak zacne provadet zapis. Zde je cele zneni skriptu, vcetne popisu funkce a toho kde na ni nastava problem:
    #!/bin/sh
    workdir=$PWD
    firmware=$PWD/firmware.mtd1.bin
    boardinfo=$(cat /proc/cpuinfo | grep machine)
    model="Archer C6 v3"
    
    ## Kontrola, jestli je pripraven soubor s firmware pro obnovu.
    if [ -f "$firmware" ]; then
        echo "Nalezen soubor pro instalaci."; else
        echo "Soubor nenalezen. Spustte znovu skript router_setup.sh" && exit
    fi
    
    sleep 2
    
    ## Flash samotneho obrazu s konfiguraci a balicky
    echo "Bude provedena obnova konfigurace."
    read -p $'Press enter to continue...\n'
    
    echo "##################################"
    echo "###                            ###"
    echo "### PROBIHA OBNOVA KONFIGURACE ###"
    echo "###  ! NEVYPINEJTE NAPAJENI !  ###"
    echo "###                            ###"
    echo "##################################"
    
    ## Kontrola retezce "Archer C6 v3" v /proc/cpuinfo  (testovaci, nedestruktivni cast na overeni spravne funkce kontroly). <-- Selhava na tom, ze tzv. "here redirection <<<" neni v OpenWrt shellu "ash" podporovana. 
    ## Psalo mi to "<<< unknown operand". V BASH na linuxu nebo ZSH na OSX vsak funkce normalne funguje
    
    if grep -q "$model" <<< "$boardinfo"; then
      echo "TEST OK"; else
      echo "NOT OK"
    fi
    
    
    ## Kontrola retezce "Archer C6 v3" a flash balicku s upravenym firmware
    
    ## if grep -q "$model" <<< "$boardinfo"; then
    ##  mtd write $firmware firmware; else
    ##  echo "Balicek neni urcen pro tento model a revizi"
    ##  echo "Pouzijte odpovidajici balicek"
    ## fi
    
    ## Kontrola retezce "Archer C6 v3" v /proc/cpuinfo pomoci "if []"  <-- Taky neni funkcni, dostavam chybu ":: unknown operand". 
    ## Zjisteno ze chyba nastane hned na prvnim radku nasledujici funkce:
    
    if [ $boardinfo = $model ]; then
      echo "TEST OK"; else
      echo "NOT OK"
    fi
    
    Pro jistotu jsem si skript nechal zkontrolovat pomoci utility shellcheck, chybu podle nej nemam, myslim si vsak, ze bude nastavat nekde chyba v parsovani vystupu z /proc/cpuinfo. Nicmene i po delsim hledani na google a zkoumani jak napsat test sekvenci, kontrolujici retezec, si dale uz nevim rady a budu rad, kdyz me navedete, kde delam chybu..

    Diky za vas cas a odpovedi.
    If you will not cooperate, you are to be executed! | Starting as a DJ

    Odpovědi

    10.3.2022 15:48 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    Toto som nikdy nepochopil (a stretavam sa s tym velmi casto):
    cat /proc/cpuinfo | grep machine
    ked mozem dat rovno:
    grep machine /proc/cpuinfo
    K problemu - skus:
    if echo "$boardinfo" | grep "$model" >/dev/null; then
    ...
    
    Jendа avatar 10.3.2022 18:52 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    UUoC vzniká logicky z „cat soubor... sakra to je dlouhé, ještě potřebuju grep/less - šipka nahoru, |grep aaa“.
    UUoC je použitelnější, protože „cat soubor|grep foo... sakra potřebuju hledat bar, ne foo - šipka nahoru, ←←←, bar“.
    UUoC brání překvapivému a nečekanému chování u nástrojů pracujících inplace (gzip a bzip2 co smažou originální soubor pokud si na to člověk nevzpomene a nedá -k).
    UUoC brání nahodilému přepsání při neoscapování grep "Jenda>" irc.log
    
    A jinak je problém v uvozovkách a může snadno nastat i v bashi (si představ že v té proměnné bude napsáno -o 1 -eq 1, což bude každý [ interpretovat jako or).

    A jinak já do openwrt dávám bash pokud si můžu dovolit spotřebovat asi 300 kB nebo kolik má. Naštěstí máme všude Mikrotiky s 16MB flash, takže můžu.
    10.3.2022 16:18 X
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    Kde mas uvozovky?
    if [ "$boardinfo" = "$model" ]; then ..
    10.3.2022 17:13 j
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    Nechci tu do toho kecati soudruhum odbornikum ... ale vadny operand je to "=" ... nespis by tam melo byt neco jako -eq nebo adekvatni vyraz.

    ---

    Dete s tim guuglem dopice!
    k3dAR avatar 10.3.2022 17:29 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    tak do toho nekecej, porovnava string takze = je ok (jen mu pri [ ] schazej uvozovky, ty nemusi mit u bashe s [[ ]] )
    tva rada -eq je kdyby porovnaval (cela)cisla, takze uplne mimo ;-)
    porad nemam telo, ale uz mam hlavu... nobody
    k3dAR avatar 10.3.2022 17:21 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    btw: asi by to chtelo pred vlastnim zapisem zkontrolovat kontrolni soucet toho preneseneho image (md5sum,sha256sum), nez jen kontrola ze soubor existuje... resp. vhodnejsi by obecne bylo pres openwrt-imagebuilder pripravit primo openwrt factory image s potrebnejma upravama a misto nejdriv flash ofiko image a pak flash tva mtd1, rovnou na stock flash tvuj factory image, nebo tohle si z nejakeho duvodu jiz zavrhl? :-)
    porad nemam telo, ale uz mam hlavu... nobody
    k3dAR avatar 10.3.2022 17:31 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    + vyhoda vlastniho factory image, ze tve zmeny budou v squashfs rootfs a ne v overlay, takze prezijou pripadnej factory reset
    porad nemam telo, ale uz mam hlavu... nobody
    Jendа avatar 10.3.2022 18:54 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    A nebo tam ty soubory normálně nakopírovat a neflashovat tam image partition. Tím nic nezíská (?) a bude se to blbě udržovat když bude chtít ty soubory jenom nějaké nebo tak něco.
    10.3.2022 21:27 Jix0 | skóre: 24 | blog: Not only for humans
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    Prave ze ImageBuilderu jsem se chtel vyhnout. Uvazoval jsem nad tim ze bych sel touto cestou, prislo mi to ale trochu komplikovane, hlavne kdyz budu chtit udelat nejakou drobnou upravu, musim pak buildovat cely image. (A taky protoze ne vsichni u nas jsou natolik zbehli v tom, jak kompilovat na Linuxu, chtel jsem to udelat snadnejsi). Jako je vyhoda, ze by aspon nastaveni prezilo zakaznikuv reset. Zkusim si s tim vice pohrat jak bude na to cas.

    Uplne nejidealnejsi varianta by byla, pokud bych mohl rozbalit factory image stazeny z webu OpenWrt, nasypat si tam nase upravy a zase to cele zabalit do BIN souboru co pak budu flashovat rovnou z orig TP-Link FW. Bohuzel nastroje jako binwalk nebo Firmware mod kit (https://github.com/openwrt-stuff/firmware-mod-kit), mi v tomto moc nepomohly.

    Jinak dnes jsem si overil ze mtd kontroluje, jestli je image kompletni. Pri dnesnim flashovani jednoho routeru jsem omylem nahral prazdny soubor se jmenem toho firmware a mtd vyhodil chybu ze soubor je chybny (nevim ted presne cele zneni, ale bylo tam cosi o chybe CRC) a dale odmitl pokracovat, takze toto je osetreno. Co osetreno neni je to, ze pokud by nahodou nekdo flashnul soubor s upravenym FW treba do starsi revize Archer C6, ktera ma Atheros chipset, tak by ji tim bricknul, proto ta kontrola na retezec modelu.
    If you will not cooperate, you are to be executed! | Starting as a DJ
    k3dAR avatar 10.3.2022 22:34 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    s ImageBuilder prave ze NEkompilujes ;-) sestavi to image z predbuildenejch balicku, ty si pouze urcis:
    - jake balicky to ma pridat (btw: graficke rozhrani LuCi neni s ImageBuilder prednastavene)
    - jake balicky to ma odebrat
    - jake soubory,adresare to ma pridat tve

    zrovna pred par dny sem si takto pripravil image pro Archer C7, pridal balicky pro USB,Ext4... pridal balicky pro USB LTE, MWAN3 pro prepinani mezi WAN a LTE, pridal bash, mc, htop, misto dropbear dal openssh-server, Luci s czech, atd, atd... a pridal soubory v /etc/config/ pro nastaveni systemu, site, wifi, dodal nejake schazejici pro mc, do /root nastaveni mc, htop... jedine co se mi neveslo do image pro 16MB flash bylo byobu ktere mam na usbflash ;-)
    porad nemam telo, ale uz mam hlavu... nobody
    k3dAR avatar 10.3.2022 22:35 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    + nastaveni openssh-server zakaz root hesla, pridan verejnej ssh klic atd...
    porad nemam telo, ale uz mam hlavu... nobody
    Jendа avatar 10.3.2022 23:02 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    Mimochodem ještě nedávno bylo užitečné používat image builder, protože balíčky doinstalované později nebyly komprimované (zatímco ten hlavní image je squashfs). Teď už to nějak komprimuje i overlay, ale předpokládám, že pořád hůř než když to člověk celé sestaví rovnou do toho squashfs.

    Nastavení ale do image nedávám, protože jakmile ho změním, tak tam ten soubor pak bude dvakrát.
    k3dAR avatar 11.3.2022 00:57 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    pro Archer C6 by to bylo nejak takto (stazeni imagebuilder, rozbaleni, vytvoreni image):
    #/bin/bash 
    
    profile="tplink_archer-c6-v3"
    target="ramips"
    subtarget="mt7621"
    
    file="openwrt-imagebuilder-${target}-${subtarget}.Linux-x86_64.tar.xz"
    dir="${file/.tar.xz}"
    
    [[ -d ${dir} ]] || {
        [[ -f "${file}" ]] && rm "${file}"
        wget "https://downloads.openwrt.org/snapshots/targets/${target}/${subtarget}/${file}"
        tar xf "${file}"
    exit
    }
    
    cd  ${dir}
    ln -f bin/targets/${target}/${subtarget} -s OUT
    mkdir -p ADD
    
    package_enable="luci luci-i18n-base-cs luci-theme-material bash openssh-client openssh-server openssh-sftp-server"
    package_disable="-dropbear"
    files_add="ADD"
    
    make image PROFILE=${profile} PACKAGES="${package_enable} ${package_disable}" FILES="${files_add}"
    
    echo "Result image's in ${dir}/OUT dir..."
    
    s tim ze do adresare ADD pridas soubory v adresarove strukture jak ma byt v /
    a do promene package_enable a package_disable si samozrejme dodas sve potrebne baliky, u tech disable musi byt - pred nazvem balicku...
    porad nemam telo, ale uz mam hlavu... nobody
    11.3.2022 11:17 Jix0 | skóre: 24 | blog: Not only for humans
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    Tak toto je bomba. Dik za tip, zkusim to udelat timto procesem. Navic jestli se nemusi nic kompilovat a je vse potrebne uz v tom Imagebuilder baliku, tak je o dalsi starost min. Zkusim si s tim pohrat a udelam to asi opravdu tak, ze si sestavime vlastni image co se rovnou bude flashovat do zarizeni.

    If you will not cooperate, you are to be executed! | Starting as a DJ
    k3dAR avatar 11.3.2022 22:48 k3dAR | skóre: 63
    Rozbalit Rozbalit vše Re: Shell v OpenWrt (ash) a konstrukce if []
    ten script je opravdu celej postup, nic vic delat nemusis, imagebuilder opravdu nic nekompiluje, dela (zjednodusene) jen to ze stahne z normalnich repozitaru openwrt (daneho targetu) balicky, ty nainstaluje do pracovniho adresare a udela z nej image... u me na 10let starem NB to cele trva 1minutu ;-)
    porad nemam telo, ale uz mam hlavu... nobody

    Založit nové vlákno • Nahoru

    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.