Byla vydána nová verze 25.12.6 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Opravena je řada zranitelností v základních síťových službách, které jsou ve výchozím nastavení aktivní a které lze zneužít na dálku. Důrazně je doporučena aktualizace.
Český projekt mapSTL.com promění vybrané místo na světě ve 3D mapu pro tisk, včetně měst, kopců a hor. Vytištěnou mapu můžete také pověsit na zeď jako obraz. STL i barevný 3MF stáhnete zdarma a bez registrace. Vyzkoušejte své oblíbené místo a podělte se o zpětnou vazbu.
Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.
Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
NODES=$(awk '/mycloud/ { print $1 }' /etc/hosts)
CTID=$(for NODE_IP in ${NODES}; do
ssh root@${NODE_IP} 'vzlist -a' | awk '/[:alnum:]/ { print $1 }'
done | sort -g | tail -1)
echo ${CTID}
Tento vystup mi vrati 126
SEQ=$(seq 101 129)
Potom stačí porovnat rozdíly.
diff <(echo "$CTID") <(echo "$SEQ") | grep \> | head -n1 | sed 's/> //'
Jen si nejsem jistý, jestli to tak bude opravdu efektivnější, než tu sekvenci prostě projít cyklem a kontrolovat, jestli je prvek aspoň o dva větší než předchozí (a vypsat poslední plus jedna, když se tam takový nenajde).
Trochu mi to připomíná fóra PHP skriptařů, kde je snaha vyřešit všechno výhradně skládáním hotových funkcí, přestože je výsledek nezřídka zoufale neefektivní a daleko krkolomnější než přímočaré řešení pomocí základních prvků jazyka.
Z hlavy a bez kontroly by to mohlo vypadat nějak takhle:
function hole ()
{
local prev curr
for curr in "$@"; do
if [ -z "$prev" ]; then
prev="$curr"
continue
fi
if [ $[curr - prev] -gt 1 ]; then
echo $[prev + 1]
return
fi
prev="$curr"
done
echo $[curr + 1]
}
Velmi snadno si s tím poradí awk. Příklad:
echo 101 102 103 107 108 111 112 121 122 123 124 125 126 |\
awk '{ last = $1; for (i = 2; i <= NF; ++i) { if ($i - last > 1) break; last = $i } print last + 1 }'
Dokonce to zpracuje i víc takových řádků po sobě, když na to přijde.
Tiskni
Sdílej: