Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
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" fiPro 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.
cat /proc/cpuinfo | grep machineked mozem dat rovno:
grep machine /proc/cpuinfoK problemu - skus:
if echo "$boardinfo" | grep "$model" >/dev/null; then ...
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.logA 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.
if [ "$boardinfo" = "$model" ]; then ..
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.
#/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 /
Tiskni
Sdílej: