Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.
Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.4.0 shrnující změny za šest let vývoje. Novinky zahrnují podporu Unicode jako výchozí, export do ePub či DocBook 5 a velké množství vylepšení uživatelského rozhraní a prvků editoru samotného (např. rovnic, tabulek, citací).
Byla vydána (𝕏) nová verze 7.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.
Organizace Apache Software Foundation (ASF) vydala verzi 22 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Společnost AMD na veletrhu Computex 2024 představila (YouTube) mimo jiné nové série procesorů pro desktopy AMD Ryzen 9000 a notebooky AMD Ryzen AI 300.
OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána ve verzi 4.10.0 . Přehled novinek v ChangeLogu. Vypíchnout lze Wayland backend pro Linux.
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: