Nejnovější X.Org X server 21.1.24 a Xwayland 24.1.13 řeší 2 bezpečnostní chyby.
Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za červen 2026. Vypíchnuta je vylepšená podpora Waylandu. Už není považována za experimentální. V příští verzi Linux Mintu, plánována je na Vánoce, bude běh Cinnamonu plně podporován na X11 i Waylandu. V květnu na vývoj Linux Mintu přispělo 611 dárců celkovou částkou 19 612 dolarů. Dalších 2 326 patronů přispělo na Patreonu celkovou částkou 5 334 dolarů.
V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Januscape aneb CVE-2026-53359. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala téměř 16 let (od srpna 2010 do června 2026).
Tribunál Soudního dvora Evropské unie dnes zamítl několik žalob, v nichž se americká společnost Apple ohrazovala proti pravidlům fungování velkých technologických společností na unijním trhu. Applu se nelíbilo, že jeho obchod s aplikacemi a operační systém iOS mají podléhat přísnějším povinnostem jen proto, že Brusel firmu považuje za takzvaného gatekeepera, tedy strážce přístupu.
Na WhatsAppu budou postupně v průběhu následujících měsíců zavedena uživatelská jména. Telefonní čísla tak mohou zůstat soukromá. Aktuálně si lze uživatelské jméno rezervovat.
Byl aktualizován TIOBE Index (Wikipedie). Programovací jazyk Rust se poprvé dostal do první desítky tohoto žebříčku popularity programovacích jazyků. Vede Python následovaný C, C++, Java, C#, …
Proton (Wikipedie), tj. fork Wine integrovaný ve Steamu umožňující na Linuxu hrát hry určené pouze pro Windows, byl vydán ve verzi 11.0-1. Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled všech podporovaných her na stránkách ProtonDB
Byly publikovány zdrojové kódy počítačové hry Unturned. Pro nekomerční účely. V plánu je přelicencování pod MIT. Hra Unturned je postavena nad multiplatformním herním enginem Unity.
První česká družice navržená a sestavená výhradně studenty se dostala na oběžnou dráhu Země. Družice KOSTKA, kterou vyvinul studentský tým YSpace z Vysokého učení technického v Brně (VUT), dnes odstartovala na palubě rakety Falcon 9 společnosti SpaceX v rámci mise Transporter-17 z kalifornské základny Vandenberg Space Force Base.
Po nákresech ovladače Steam Controller a puku společnost Valve na svém GitLabu publikovala projekt Inkterface, tj. podrobný návod (PDF, video v mp4) na sestavení předního panelu s e-papírovým displejem pro Steam Machine pro zobrazování systémových informací. Použity jsou součástky od společnosti Adafruit.
Prajem všetkým krásny deň! Minule som riešil jeden skript v bashi a narazil som na veľmi zvláštne správanie. Vyriešil som to síce (v zmysle, že skript funguje), ale nechápem... A pevne verím, že tunajšia komunita mi ozrejmí, čo sa to vlastne deje.
V skripte som chcel zmazať obsah adresára s jednou výnimkou - teda zmazať všetko, okrem jedného podadresára. Cez rm by to mohlo byť takto:
rm -rf adresar/!(podadresar)
Keďže sa však jedná o "extended pattern matching operator" (nechce sa mi to prekladať
), pri niektorých distrách budeme musieť toto najprv povoliť, čiže:
shopt -s extglob rm -rf adresar/!(podadresar)
Potiaľ OK. Keď si však toto celé vrazím do podmienky, napríklad:
if shopt -s extglob rm -rf adresar/!(podadresar) then echo OK fi
Alebo aj takto:
shopt -s extglob && rm -rf adresar/!(podadresar)
Tak nám to skončí na chybe syntaxe. A to dokonca aj na distrách, kde je extglob zapnutý by default. Skript zbehne až vtedy, keď shopt vyhodím mimo podmienky, čiže:
shopt -s extglob if rm -rf adresar/!(podadresar) then echo OK fi
Jasne. Takéto niečo sa dá riešiť lepšie cez find, aspoň to bude fungovať aj v iných interpretroch, ale to je jedno - otázka znie - prečo sa to takto správa?
Tiskni
Sdílej:
Vypadá to, že při vypnutém extglob se shell nejdřív konstrukci s vykřičníkem interpretovat jako "event" (viz history expansion), takže je syntakticky špatně a žádný příkaz (tj. ani shopt) se neprovede.
Že se tak chová i ta první varianta, může možná vypadat trochu překvapivě, ale všimněte si, že když to budete takhle po řádcích zadávat interaktivně, shell stejně nezačne žádný příkaz provádět, dokud nemá podmíněný příkaz kompletní.
Zajímavější je tohle:
~> shopt -s extglob ~> if shopt -u extglob && echo dir/!(dir2); then echo OK; fi dir/!(dir2) OK
Tady se díky zapnutému extglob obejde history expansion, ale než se skutečně provede druhý podpříkaz, shopt mezitím extglob vypne, takže se konstrukce neexpanduje.
Aha. Čize interpreter skôr než začne vykonávať príkazy za if skontroluje syntax a vyhodí chybu skôr, ako čokoľvek vykoná. Tomu nasvedčuje aj Váš názorný príklad. Vďaka.
Prečo ale vyhadzuje chybu syntaxe a nie klasické event not found? Tiež som si teraz všimol, že interaktívne mám extglob zapnutý by default (Archlinux - nepamätám, že by som to zapínal, čiže predpokladám, že default), ale v skripte je to vypnuté?
Prečo ale vyhadzuje chybu syntaxe a nie klasické event not found?
Aha, neuvědomil jsem si, že to pouštíte jako script. Neinteraktivní shell nezná history expansion, takže tím se z toho stane prostá syntaktická chyba.
Tiež som si teraz všimol, že interaktívne mám extglob zapnutý by default (Archlinux - nepamätám, že by som to zapínal, čiže predpokladám, že default), ale v skripte je to vypnuté?
Pravděpodobně to "defaultně zapnuté" znamená, že se to zapíná někde v ~/.bashrc nebo /etc/bash.bashrc, který neinteraktivní shell nenačítá. (A shell options se nedědí.)