Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
partimage.
Dobry den.
Kdyby byl zajem mohl bych nabidnout sadu scriptu, ktere pouzivame my.
Mame to rozjete uz nekolik let a postupne zlepsujeme a vpodstate jiz nikdo pocitace neinstaluje, ale jenom se imaguje.
Bootujeme nfsroot bud pxe, usb nebo cdrom.
Na tom nfsrootu je debian.
Drive jsme pouzivali parimage, ted postupne prechazime na dd.
Mame i multicast verzi.
Mame image a otisk pro kazdy model pocitacu co se u nas vyskytuje a scriptem nabizime vzdy jen relevantni image.
Imagujeme jenom windows, na linux to podle mne neni potreba - tar mi prijde pohodlnejsi.
Imagujeme po partisnach. MBR kopirujeme samostatne.
Pred tvorbou image zmensime partisnu na nejmensi moznou velikost, nastavime sysprep.
Po doimageovani si zjistime jmeno pocitace a zapiseme ho do konfiguraku sysprepu a zvetsime filesystem na celou partisnu.
Rozhodne to ale je jen pro pokrocile scriptare, je tam spousta individualniho nastavovani.
marek
Proč místo partimage používáte dd a děláte ty čachry se zvětšováním a zmenšování partition?
Ta multicast verze by nás zajímala. Taky máme rozjetého něco podobného - máme 7 učeben po 11 počítačích, každá učebna má svého správce a tak se neřeší výběr klonu, ten je dán učebnou. Zpočátku jsme měli klony na serveru, ale s tím byl pro nedostatek místa problém. Teď to děláme tak, že na jednom PC se Windows nainstalují a rebootne se do klonovacího Linuxu (jsou tam dvě partition s Linuxem - s jednou se pracuje a druhá slouží ke klonování) a tento hlavní počítač začne nabízet svůj image jako server a ostatní se připojí a vždy jen jeden se klonuje. Po ukončení se všechno vypne - trvá to celé asi 1 hodinu. Ten multicast by to zkrátil na 15 minut.
Dobry den.
Cachry se zvetsovanim a zmensovanim delame kvuli ruzne velikosti disku.
Kdyz kolega dela vzorovou image vetsinou se dostane pod 5GB, takze jsme to schopni nainstalovat i na malinkate disky.
"dd" jsme zacali pouzivat kvuli jednoduchosti - tim ze to zmensujeme, tak nam hlavni vyhoda partimage - rozumi ntfs a zapisuje jen obsazenou cast partisny - nepomuze.
A hlavne partimage asi neumi cist data ze stdin - a pokud chceme data dopravovat multicastem, tak je to jednodussi.
marek
Ps: v tuto chvili nestiham dat sem scripty, ale doufam, ze se zitra polepsim.
Dobry den.
Takze slibena multicast verze:
#obsah scriptu, ktery to cele spusti (bezi na serveru, na kterem je ulozena image):
#!/bin/bash
for ((i=50;i<61;i++)) #na pozadi na vyjmenovanych strojich spusti pomoci ssh klice script
do
ssh -f udpmcast@172.20.12.$i true > ~/$i.log 2> ~/$i.log.err
done
udp-sender iso.gz #spusti vysilani
#konec souboru*************************************************************************************
#obsah /home/udpmcast/.ssh/authorized_keys (na klientech, ktere chceme imagovat):
command=". /usr/local/sbin/zapis_sudo" ssh-dss AA... ...= udp-sender@server
#konec souboru*************************************************************************************
#obsah /usr/local/sbin/zapis_sudo (na klientech, ktere chceme imagovat):
#!/bin/bash
sudo /usr/local/sbin/zapis
#konec souboru*************************************************************************************
#soubor /etc/sudoers mimo jine obsahuje (na klientech, ktere chceme imagovat):
udpmcast localhost= NOPASSWD: /usr/local/sbin/zapis
#konec souboru*************************************************************************************
#obsah /usr/local/sbin/zapis (priblizne)(na klientech, ktere chceme imagovat):
#!/bin/bash
SOUBORSEJMENYMAC=/home/jmena_mac # jmena urcujeme podle sitovky
export PATH=""
disk=sda
/bin/dd if=/dev/zero bs=1024 count=1024 of=/dev/$disk 2>/dev/null #prepisu prvni megabyte disku nulama
echo -ne "n\np\n1\n\n\nt\n7\na\n1\nw\n" | /sbin/fdisk /dev/$disk >/dev/null 2>/dev/null #fdiskem vytvorim jednu partisnu, zvolim typ, udelam bootovaci ...
POCET=0
MAXPOCET=10
while [ ! -b /dev/sda1 ] #cekam maximalne MAXPOCET sekund na udev
do
/bin/sleep 1
POCET=$((POCET+1))
if [ $POCET -gt $MAXPOCET ]
then
exit 11
fi
done
#Zjistim si ip adresu
ETH=$(/bin/ip link show | /usr/bin/awk -F":" '/ <BROADCAST,MULTICAST,UP> / {print $2}')
[ "$ETH" ] || ETH=$(/bin/ip link show | /usr/bin/awk -F":" '/ <BROADCAST,MULTICAST,UP,10000> / {print $2}')
[ "$ETH" ] || exit 1
HW=$(/bin/ip link show $ETH | /usr/bin/awk '/ link\/ether / {print $2}')
JMENO=$(/usr/bin/awk "/$HW/"'{JMENO = $1} END {print JMENO}' < $SOUBORSEJMENYMAC)|| exit 2
#zkopiruji data
/usr/bin/udp-receiver --nokbd -p "/bin/gunzip -c" > /dev/$disk"1"
mkdir -p /mnt/mountpoint$JMENO
/usr/bin/ntfs-3g -o nonempty,nls=8 /dev/$disk"1" /mnt/mountpoint$JMENO #namountim nove nainstalovanou partisnu
if [ $? = 0 ]
then
/usr/sbin/ntpdate ntpserver #nastavim si cas
/sbin/hwclock --systohc
echo "********************* $JMENO ***********************"
/bin/sed -e"s/nove_jmeno/$JMENO/" /home/sysprep/sysprep.inf > /mnt/mountpoint$JMENO/sysprep/sysprep.inf
echo -ne "image \tjmenoimage\ncas(Y-m-d H:M) \t$(/bin/date "+%F %H:%M")\njmeno \t$JMENO\n" > /mnt/mountpoint$JMENO/temp/image.log
/bin/mkdir -p '/mnt/mountpoint$JMENO/sysprep/i386/$oem$'
/bin/cat '/home/sysprep/i386/$oem$/Cmdlines.txt' >> '/mnt/mountpoint$JMENO/sysprep/i386/$oem$/Cmdlines.txt'
/bin/cp /home/sysprep/ROBOCOPY.EXE /mnt/mountpoint$JMENO/WINDOWS/
/bin/cp /home/sysprep/KIX32.exe /mnt/mountpoint$JMENO/WINDOWS/
/bin/cp /home/sysprep/hide.kix /mnt/mountpoint$JMENO/WINDOWS/
/bin/cp /home/sysprep/xcacls.exe /mnt/mountpoint$JMENO/WINDOWS
/bin/cp -r /home/inst_img "/mnt/mountpoint$JMENO/Documents and Settings"
/bin/cp /home/sysprep/guirunonce.bat /mnt/mountpoint$JMENO/WINDOWS
/bin/umount /mnt/mountpoint$JMENO
echo -ne "y\n"| /usr/sbin/ntfsresize /dev/$disk"1" #zmenim velikost
else
echo "nepodarilo se namountit nove zapsanou image." 1>&2
exit 6
fi
#konec souboru*************************************************************************************
#Obsah /home/sysprep/* si urcite dokazete predstavit.
#Stejne by to bylo dost mimo zamereni teto diskuse
Pripominky: Multicast jsme pouzivali jenom v laboratori, kde je 11 stroju a chteli jsme je mit v jednotnem stavu do 15 minut. Daleko vic zkusenosti mame s imagovanim prez nfs(nemulticast) stroju normalnich uzivatelu (kolegove to radsi instaluji tesne predtim, nez to nesou na stul - takze pojednom). Vzhledem k (ne)kvalite naseho switche v labu, tak kdyz spustime multicast, tak se switch uplne zahlti a pokud jsme to spousteli vzdalene ssh(do routeru je slabsi linka nez je vykon switche), tak jsme nemeli po dobu imageovani zadnou odezvu.
Rezie multicast reseni byla spolehlive do deseti procent.
Ta nfs verze se lisi jenom:
nahrazenim
/usr/bin/udp-receiver --nokbd -p "/bin/gunzip -c" > /dev/$disk"1"
za
/usr/sbin/partimage -b restore /dev/$disk"1" jmenoimage.000
nebo
gunzip -c < /home/jmenoimage.iso.gz | /bin/dd of=/dev/sda1 &
/bin/sleep 5
while /bin/kill -USR1 $!; do /sleep/sleep 5; done
echo "sda1 zapsano"
Nepisu sem jak urcujeme image (ma smysl jenom u nfs verze), protoze to vznikalo pred 4 lety a dnes je to nepublikovatelne (asi bych se stydel). Ale pokud by byl hodne velky zajem, tak bych to upravil do publikovatelne verze.
marek
Tiskni
Sdílej: