Byly zveřejněny informace o kritické zranitelnosti CVE-2026-64600 pojmenované RefluXFS (technické detaily) v XFS. Je tam již od verze Linuxu 4.11, tj. rok 2017. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel může editovat libovolný soubor, například klidně zrušit rootovské heslo v /etc/passwd. Videoukázka na Vimeo. V upstreamu je zranitelnost opravena.
OpenAI / ChatGPT má dnes výpadky (OpenAI Status, DownDetector).
Poskytovatel hostingu svobodných/open-source projektů Codeberg po hlasování na valné hromadě vydal stanovisko k využívání LLM. Kvůli vytěžování infrastruktury a rostoucím cenám hardwaru, ale také hrozbám pro spolupráci v komunitě se k LLM staví kriticky. Nebude poskytovat hosting projektů vytvářených LLM agenty.
Jack Dorsey představil (𝕏) open source týmovou komunikační platformu Buzz (GitHub) s cílem snížit závislost na Slacku a GitHubu.
Poštovní klient Thunderbird byl vydán v nové verzi 153 s kódovým názvem Meadow. Jedná se o ESR (Extended Support Release) vydání. Přehled novinek v poznámkách k vydání. Vylepšuje OAuth. Thundermail lze používat bez instalace doplňku.
AI tento rok naplno vtrhla do vývoje softwaru a výrazně ovlivňuje také open source projekty. Jiří Eischmann v příspěvku Jak mění AI open source na svém blogu rozebírá několik trendů, které v open source v poslední době v souvislosti s AI pozoruje, a jak tyto trendy svět otevřeného softwaru mění (Inflace projektů, Zahlcení kontroly, Klesající motivace zveřejňovat kód).
Evropská komise (EK) vyměřila americké internetové společnosti Google pokutu 890 milionů eur (21,5 miliardy Kč) za porušení unijního nařízení o digitálních trzích (DMA). Firma se podle unijní exekutivy provinila tím, že ve vyhledávači Google Search upřednostňovala vlastní služby a že podnikům ukládala omezení, která jim bránila nasměrovat spotřebitele k alternativním, často levnějším nákupním kanálům na platformě Google Play.
… více »Samsung na akci Galaxy Unpacked July 2026 (YouTube) představil své nové telefony Galaxy Z Fold8 Ultra, Fold8 a Flip8, hodinky Galaxy Watch Ultra2 a Watch9 a chytré brýle ve spolupráci s Gentle Monster a Warby Parker.
Po pěti letech vývoje vyšla česká počítačová hra Scarlet Deer Inn (ProtonDB). Scarlet Deer Inn je vyšívaná temná středověká pohádka. Zatímco život ve zdánlivě obyčejné vesnici se točí kolem běžných povinností a sousedských drbů, v podzemí se skrývají zlověstná tajemství.
Představen byl Raspberry Pi Touch Display 2 s uhlopříčkou 10 palců a rozlišením 1200 × 1920 pixelů. Cena je 80 dolarů.
md5sum -c -v MD5SUMvypíše:
test1.txt OK test2.txt OK test3.txt OK test4.txt CHYBNÝTo je v pořádku. Teď chci tento výstup zapsat do souboru MD5SUM_RESULT, abych mohl výsledky dále zpracovávat:
md5sum -c -v MD5SUM > MD5SUM_RESULTAle vzniklý soubor MD5SUM_RESULT je prázdný. Zkouším to tedy jinak:
echo `md5sum -c -v MD5SUM` > MD5SUM_RESULTSoubor MD5SUM_RESULT je opět prázdný... Kdybyste mě někdo nakopnul, co dělám špatně...
deb http://ftp.cz.debian.org/debian jessie main contrib non-freemd5sum -c -v MD5SUM 2> MD5SUM_RESULT
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
deb http://ftp.cz.debian.org/debian jessie main contrib non-freemike@lion:~/tmp> md5sum --version md5sum (GNU coreutils) 5.3.0 Written by Ulrich Drepper and Scott Miller.Jakou verzi máte vy?
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
) mirroru bude GNU.
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
Při dalším spuštění program otevře XML soubor a porovná kontrolní součty se skutečností. Vypíše, které soubory se změnily.
Chtělo by to ještě přidat kontrolu chybových stavů, zjišťování, který soubor přibyl či ubyl, ale o to tu, myslím, nešlo.
import os, sys, md5
from elementtree.ElementTree import Element, SubElement, ElementTree, dump
def CalcMD5(filename):
buffersize = 1000000
sum = md5.new()
f = open(filename)
while True:
data = f.read(buffersize)
if not data: break
sum.update(data)
f.close()
return sum.hexdigest()
def StoreChecksums(basedir, xmlname):
root = Element("checksums")
Files = SubElement(root, "Files")
for name in os.listdir(basedir):
name_fullpath = os.path.join(basedir, name)
if not os.path.isfile(name_fullpath): continue
md5sum = CalcMD5(name_fullpath)
elem_file = SubElement(Files, "file")
elem_file.set("name", name_fullpath)
elem_file.set("md5sum", md5sum)
tree = ElementTree(root)
dump(root)
tree.write(xmlname, encoding="utf-8")
def CheckChecksums(basedir, xmlname):
root = ElementTree(file=xmlname)
files_old = root.find('Files')
for file_old in files_old:
name = file_old.get('name')
md5sum_old = file_old.get('md5sum')
md5sum_new = CalcMD5(os.path.join(basedir, name))
if not md5sum_old == md5sum_new:
print 'File', name, 'has changed!'
############################### MAIN #############
xmlname = 'md5sums.xml'
basedir = '.'
if not os.path.exists(xmlname):
print 'md5sums have not been calculated yet. Creating', xmlname
StoreChecksums(basedir, xmlname)
sys.exit(0)
CheckChecksums(basedir, xmlname)
Tiskni
Sdílej: