Vývojář Alexandre Gomes Gaigalas na GitHubu zveřejnil c89cc.sh, parser a kompilátor jazyka C89 napsaný v pouhém jediném skriptu o přibližně 8000 řádcích čistého bashe (bez dalších externích závislostí), který generuje ELF64 binárky pro x86-64. Jedná se o velmi jednoduchý kompilátor, který nepodporuje direktivy #include a dokonce ani funkci printf (lze použít puts), všechny dostupné deklarace lze nalézt v proměnné _BUILTIN_LIBC na konci skriptu. Skript je volně dostupný pod ISC licencí.
Francouzská vláda oznámila, že v rámci strategie 'digitální suverenity' zahájí 'přechod od systému Windows k počítačům s operačním systémem Linux' (sa sortie de Windows au profit de postes sous système d'exploitation Linux). DINUM (meziresortní ředitelství pro digitální technologie) požádalo ministerstva, aby do podzimu 2026 vypracovaly konkrétní plány nasazení Linuxu. Francie již dříve migrovala části státní správy na otevřená řešení.
Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.
Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.
Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.
Výrobce počítačových periferií Keychron zveřejnil repozitář se schématy šasi klávesnic a myší. Licence je restriktivní, zakazuje většinu komerčních užití a v podstatě jsou tak data vhodná pouze pro výukové účely, hlášení a opravy chyb, případně výrobu vlastního příslušenství.
Správce balíčků APT, používaný v Debianu a odvozených distribucích, byl vydán ve verzi 3.2 (seznam změn). Mezi novinkami figurují nové příkazy pro práci s historií, včetně vracení transakcí.
Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže
… více »Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »
Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »
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.
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.
sestavi to image z predbuildenejch balicku, ty si pouze urcis:
#/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: