Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
echo "This script" 1>&2
Řešení dotazu:
Spojení standardního výstupu se standardním chybovým výstupemale nedává mi to smysl, chyba se vypíše na screen ale taky do chybového výstupu? A co s tím? K čemu je to jako dobré? Pochopil bych, kdyby tam bylo:
echo "This script" 1>&2 /tmp/error.logMůžeš mi to prosím objasnit, když tam není soubor, kde to získam tu chybu? Díky
stdout
(standardní výstup - standard output), kam se vypisuje veškerý běžný text, který má program potřebu vypsat. Deskriptor (identifikační číslo souboru přidělené systémem) tohoto výstupu je pro každý program 1.
stderr
, kam může program vypisovat chyby. Deskriptor přidělený systémem je 2.
Terminál ti umožňuje výstupy z programů přesměrovávat. 1>&2
znamená, že chceš přesměrovat stdout
do stderr
.
$ echo "xe" xeV tomhle případě šel výstup z echa, které běžně vypisuje na
stdout
do terminálu.
$ echo "xe" 1>&2 xeTohle vypadá na první pohled stejně - výstup šel do terminálu. Děje se zde ovšem cosi víc - výstup sice šel do terminálu, ale nikoliv na výstup (
stdout
), ale na chybový výstup (stderr
)! Přesměrovali jsme tedy stdout
(deskriptor 1) na stderr
(desktiptor 2).
$ echo "xe" 2>/dev/null 1>&2Nyní jsem přesměroval chybový výstup do souboru
/dev/null
a standardní výstup do chybového výstupu. Jak je možné vidět, nic se nevypsalo, protože oboje jde do souboru /dev/null
, který slouží jako forma odpadkového koše.
find
a wc
, který počítá řádky (a další věci), které mu napíšeš na vstup. find
má však tu ošklivou vlastnost, že vždy vypíše, když k nějakému souboru nemůže získat přístup. Pokud použiji naivní implementaci:
$ find / -name "xaxex*" | wc -l find: `/tmp/pulse-PKdhtXMmr18n': Permission denied find: `/tmp/atop.d': Permission denied find: `/run/udisks': Permission denied find: `/run/lighttpd': Permission denied find: `/run/cups/certs': Permission denied find: `/run/samba/winbindd_privileged': Permission denied find: `/run/watershed': Permission denied find: `/run/lock/lvm': Permission denied find: `/proc/tty/driver': Permission denied .... pár tisíc řádekTak sice funguje, ale jsem zaplaven tisícema řádek hlášek o tom, že
find
nemohl k něčemu získat přístup. Řešení je přesměrovat chybový výstup do pryč:
$ find / -name "xaxex*" 2>/dev/null | wc -l 0V upravené verzi vidím jen to co jsem chtěl - že na disku mám 0 souborů začínajících názvem "xaxex".
2>&1
je trochu zvláštní zápis, běžně se používá spíš opak: stderr
do stdout
, protože s tím se pak dá lépe pracovat (|
i >
běžně přesměrovává stdout
, ne stderr
).
1>&2
používá, aby bylo jasné, že nechceš přesměrovávat do souboru s názvem 2, ale do deskriptoru číslo 2. Kdybys tam & nenapsal, vytvořil by se ti ve složce soubor 2, ve kterém by byl výpis, který šel na stdout
.
Tiskni
Sdílej: