OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).
Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
#!/bin/bash mount -t cifs //pdc/Users -o iocharset=utf8,codepage=1250,username=xx,password=xxxx /mnt/pdc-users/ && sleep 2 && mount -t cifs //backupServer/users -o iocharset=utf8,codepage=1250,username=yy,password=yyyy /mnt/backupserver-users/ && sleep 2 && rsync -av --delete --exclude="*.tmp" /mnt/pdc-users/ /mnt/backupserver-users/ && sleep 20 && umount /mnt/backupserver-users/ && sleep 2 && umount /mnt/pdc-users/ && echo Povedlo se, zaloha je hotova ! | mail -s rsync xx@xxx.czTento skriptik pripoji cifs svazek naseho PDC, cifs svazek naseho backup serveru a pak je vzajemne rsyncne, nakonec oba svazky odpoji a posle mi maila ze je vsechno v poradku. Problem je ve spojeni prikazu - &&. Pokud se jakykoliv z prikazu nepovede, napr se nepodari pripojit cifs svazek, zbytek prikazu uz nedojede, nic se nedozvim a neco treba zustane primoutnute, coz se mi nelibi. Mate nekdo ideu jak to udelat tak abych do tohoto skriptu dostal podminky? Kdyz se neco neprimoutne tak aby to udelalalo toto, dyz to projde v poradkua by to udelalo toto atd. Poradte mi prosim, jsem v koncich :o). Dekuju moc
Řešení dotazu:
#!/bin/bash RET="NULL" mount -t cifs //pdc/Users -o iocharset=utf8,codepage=1250,username=xx,password=xxxx /mnt/pdc-users/ if [ $? -eq 0 ]; then RET="Nepovedl se mount1." fi sleep 2 mount -t cifs //backupServer/users -o iocharset=utf8,codepage=1250,username=yy,password=yyyy /mnt/backupserver-users/ if [ $? -eq 0 ]; then RET="$RET Nepovedl se mount2." fi sleep 2 rsync -av --delete --exclude="*.tmp" /mnt/pdc-users/ /mnt/backupserver-users/ if [ $? -eq 0 ]; then RET="$RET Nepovedl se rsync." fi sleep 20 umount /mnt/backupserver-users/ if [ $? -eq 0 ]; then RET="$RET Nepovedl se umount1." fi sleep 2 umount /mnt/pdc-users/ if [ $? -eq 0 ]; then RET="$RET Nepovedl se umount2." fi test "$RET" == "NULL" && RET="Povedlo se." echo $RET | mail -s rsync xx@xxx.cz
Jen poznámka: místo
cmd -args if [ $? -ne 0 ]; then ... fi
lze psát rovnou
if ! cmd -args; then ... fi
function chybaKonec { if [ "$?" -ge "1" ] then echo $1 exit ${2:-1}; fi }A za každý (důležitý) příkaz dej tento řádek:
chybaKonec "Selhal krok XXX";S nějakou smysluplnou hláškou samozřejmě. V proměnné
$?
je návratový kód posledního příkazu (0 = OK, všechno ostatní chyba). Ta funkce se hodí k tomu, že to máš na jednom místě a nebudeš mít těma IFama zahnojený celý skript if [ $? -eq 0 ]; then RET="…nějaká chybová hláška…" fiProto je lepší z těchto čtyř řádků udělat funkci a pak ji volat jedním řádkem:
chybaKonec "…nějaká chybová hláška…";Jednak ti to zkrátí a zpřehlední program a jednak ti to usnadní budoucí změny – třeba když budeš chtít přidat logování těchto hlášek do souboru, tak přidáš
echo $1 > /tmp/chyby.log;jen do té definice funkce a nemusíš to dělat na deseti různých místech. Navíc bych to udělal tak, že bych po první chybě skončil (
exit
), protože když se nepovede připojit souborový systém, tak nemá cenu se pokoušet z něj nebo na něj zálohovat.
Chyby patří na chybový výstup, ne na standardní. Jedničku není potřeba escapovat, naopak $1
ano. Takže bych tu funkci viděl nějak takto:
function chybaKonec { if [ $? -ge 1 ]; then echo "${0##*/}: $1" >&2 exit ${2:-1}; fi }
Tiskni
Sdílej: