HollowByte je zranitelnost typu Denial of Service (DoS) v kryptografické knihovně OpenSSL. Útočník může odesíláním škodlivého payloadu o velikosti pouhých 11 bajtů zaplnit paměť serveru. OpenSSL před ověřením dat vyhradí nepřiměřený blok paměti (až 131 KB). Server pak čeká na data, která nepřišla. Zranitelnost je opravena ve verzích OpenSSL 4.0.1, 3.6.3, 3.5.7, 3.4.6 a 3.0.21.
Ve španělské A Coruñě probíhá GUADEC 2026, tj. letošní konference vývojářů a uživatelů desktopového prostředí GNOME. Videozáznamy přednášek jsou k dispozici na YouTube.
Společnost Collabora ve spolupráci s Valve vyvíjí Holo Core, tj. port Arch Linuxu pro ARM64 procesory (AArch64), který bude pohánět VR headset Steam Frame. Pro testování Arch Linuxu pro AArch64 jsou k dispozici binární balíčky, zdrojové kódy i kontejner pro Docker nebo Podman.
Mikroprocesor Zilog Z80 byl oficiálně uveden na trh před 50 lety, tj. v červenci 1976. Výroba mikroprocesoru skončila v roce 2024.
Výzkumníci ze společnosti ESET objevili 11 zapomenutých UEFI shim zavaděčů, které byly podepsány společností Microsoft, a které umožňují útočníkům obejít ochranu UEFI Secure Boot na většině zařízení. Microsoft je zneplatnil (přidal jejich hash do databáze dbx) v rámci aktualizace Patch Tuesday dne 9. června 2026. Uživatelé Linuxu mohou databází aktualizovat pomocí LVFS. Ověřit zneplatnění zavaděčů lze pomocí skriptu uefi-dbx-audit. Jedná se o CVE-2026-8863 a CVE-2026-10797.
pico-usb-wifi je open source firmware pro Raspberry Pi Pico W, který jej promění v USB Wi-Fi adaptér. Po připojení k počítači se objeví jako zařízení USB CDC-NCM.
Americká společnost Google ze skupiny Alphabet bude muset podle nových požadavků Evropské unie umožnit společnosti OpenAI i dalším konkurentům v oblasti umělé inteligence (AI) a internetových vyhledávačů přístup ke svým službám. Ve svém rozhodnutí o tom včera informovala Evropská komise (EK). Opatření má zajistit dodržování pravidel, jejichž cílem je omezit v EU tržní sílu velkých technologických firem. Google s tím nesouhlasí.
… více »Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)
Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.
Nejjednodušší způsob, jak spustit z povelové řádky úlohu na pozadí, je využití úloh (jobs) v shellu. I když úlohy na pozadí podporují i jiné shelly, zde si popíšeme pouze nejpoužívanější linuxový shell – bash.
Úlohu odešleme na pozadí kombinací kláves CTRL-Z. Úloha odeslaná na pozadí tímto způsobem je pozastavená, takže chceme-li ji pustit, musíme použít příkaz bg.
$ sleep 100 ^Z [1]+ Pozastaven sleep 100 $ bg [1]+ sleep 100 & $ [1]+ Dokonán sleep 100
Mimo příkaz bg, kterým spustíme úlohu pozastavenou na pozadí, můžeme svůj spuštěný program příkazem fg z pozadí vylovit a poslat opět na povelovou řádku, do popředí:
$ sleep 100 ^Z $ fg sleep 100 $
Úlohu lze odeslat na pozadí i přímo, bez nutnosti mačkat kombinaci CTRL-Z, uvedením znaku & (ampersand) na konci řádku s příkazem. S takto spuštěnou úlohou lze pracovat pomocí příkazů fg, bg a CTRL-Z, jak jsme si popsali v odstavcích výše:
$ sleep 100 [1] 26579 $ fg sleep 100 ^Z [1]+ Pozastaven sleep 100 $ bg [1]+ sleep 100 & $ [1]+ Dokonán sleep 100
Úloh lze na pozadí spustit libovolné množství. Protože už dvě úlohy jsou dost na to, aby uživatel ztratil o úlohách na pozadí přehled, nabízí shell příkaz jobs. Tímto příkazem vypíšete všechny úlohy na pozadí:
$ sleep 100 & [1] 26804 $ sleep 200 & [2] 26806 $ jobs [1]- Běží sleep 100 & [2]+ Běží sleep 200 &
Povšimněte si čísla v hranaté závorce na začátku řádku – jde o číslo úlohy v shellu (liší se od PID, čísla procesu v systému, zde 26804 a 26806). Číslo úlohy v shellu usnadňuje práci s úlohami na pozadí pomocí příkazů fg, bg a kill. U těchto tří příkazů lze uvést jako parametr číslo úlohy uvozené znakem % (procento):
$ sleep 100 & [1] 26924 $ sleep 200 & [2] 26926 $ fg %1 sleep 100 ^Z [1]+ Pozastaven sleep 100 $ kill %1 [1]- Ukončen (SIGTERM) sleep 100
U výpisu spuštěných úloh si můžete povšimnout znaků + (plus) a - (minus):
[2] Běží sleep 100 & [3]- Běží sleep 200 & [4]+ Běží sleep 300 &
Aktuální úloha je označená znakem + (plus). Příkazy fg a bg použité bez parametrů budou pracovat právě s touto úlohou. Pro úlohy lze použít i identifikátory %% (aktuální úloha), %+ (následující úloha) a %- (předchozí úloha):
kill %% [4]+ Ukončen (SIGTERM) sleep 300
Spustíte-li na pozadí podle předchozí části článku například překlad rozsáhlého projektu a odhlásíte se, po návratu k počítači budete nepříjemně překvapení – vaše úlohy na pozadí byly ukončeny signálem SIGHUP zároveň s odhlášením (ukončením shellu). Abyste se této situaci vyhnuli, můžete použít příkaz nohup. Sám od sebe tento příkaz nespouští úlohy na pozadí, musíte uvést znak & za příkazem nebo použít kombinaci CTRL-Z a úlohu na pozadí rozběhnout příkazem bg:
$ nohup sleep 200 & [1] 27701 nohup: vstup ignoruji a výstup připojuji k „nohup.out“ $ # po odhlášení a přihlášení: $ ps xa | grep sleep 28045 ? S 0:00 sleep 100
Příkaz nohup přesměruje standardní výstup a standardní chybový výstup programu do souboru nohup.out v aktuálním adresáři. Nelze-li do aktuálního adresáře zapisovat, pokusí se nohup vytvořit soubor nohup.out v domácím adresáři uživatele. Nepodaří-li se vytvořit ani zde, nebude příkaz proveden.
Spuštění úlohy na pozadí tak, aby přežila i odhlášení, lze dosáhnout i příkazem disown. Chování tohoto příkazu se však od příkazu nohup liší. Příkaz nohup odchytí signál SIGHUP odesílaný shellem a přesměruje výstup programu. Příkazem disown naproti tomu informujete shell, že uvedenému programu se nemá při ukončení shellu signál SIGHUP posílat. O výstupy programu při odhlášení přijdete. Na druhou stranu lze příkazem disown odeslat na pozadí i program, u kterého jsme to předem neplánovali. Jako parametr lze příkazu disown poslat UID procesu, případně číslo úlohy v shellu (uvozené procentem):
$ sleep 100 & [1] 28150 $ disown %1 # po odhlášení a přihlášení: $ ps xa | grep sleep 28150 ? S 0:00 sleep 100
Všechny výše uvedené způsoby spouštění úloh na pozadí mají několik nevýhod. Zásadní nevýhodou je, že výstup z programu je neustále přesměrovaný na výstup. Pustíte-li si na pozadí překlad většího projektu, je použitá povelová řádka pro další interaktivní práci prakticky nepoužitelná, protože se vám na ni bude vypisovat průběh překladu. Můžete sice použít příkaz nohup a výstup přesměrovat do souboru, ale takto zase přijdete o možnost překlad dále jakkoliv ovlivnit (vstup se ignoruje). Pro úlohy, které jsou alespoň částečně interaktivní, postrádá výše popsaný způsob spouštění na pozadí přijatelný komfort.
Omezení a nevýhody uvedených postupů odstraňuje příkaz screen. Správa úloh v programu screen je zcela odlišná od úloh v shellu. Program screen vytváří několik instancí shellu (a obrazovek), mezi kterými lze libovolně přepínat. V každém shellu lze samozřejmě spouštět další úlohy na pozadí s použitím shellu. Nastartoval lze i další screen, ale vhodnější je vytvoření další obrazovky.
$ screen $ sleep 100 ^AD [detached] $ screen -r $ sleep 100
Příkaz screen se ovládá pomocí přepínačů a zkratek. Pro nejjednodušší použítí stačí znát jen několik základních postupů:
| screen | Vytvoření nové nezávislé obrazovky. |
| CTRL-A D | Odpojení od obrazovky |
| CTRL-A C | Vytvoření nové obrazovky v nastartovaném programu screen (musíte být připojení) |
| CTRL-A N | Přepnutí na další obrazovku v pořadí |
| CTRL-A P | Přepnutí na předchozí obrazovku v pořadí |
| CTRL-D | Ukončení aktuální obrazovky. Ve skutečnosti jde o příkaz shellu, obrazovka se ukončí, jakmile je ukončen program v ní spuštěný (obvykle právě shell). |
| screen -r | Připojení ke screenu. Zde může běžet libovolný počet obrazovek. |
| screen -r 12345 | Připojení ke screenu s uvedeným PID. Screenů můžete mít nastartovaných více. |
screen  -R |
Připojení ke screenu, a to i v případě, že je screen připojený už někam jinam (druhá obrazovka se odpojí). Užitečné, pokud v práci spustíte překlad, zapomenete se odpojit, a doma se chcete podívat na průběh překladu. |
| screen -wipe | Vyčištění seznamu screenů od nefunkčních instancí. |
Možnosti programu screen jsou mnohem širší. Podrobnosti najdete v manuálové stránce a v článku GNU Screen.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Jo, tomu říkám magie.$ nohup sleep 200 & [1] 27701 nohup: vstup ignoruji a výstup připojuji k „nohup.out“ $ # po odhlášení a přihlášení: $ ps xa | grep sleep 28045 ? S 0:00 sleep 100
$ whereis nohup nohup: /usr/bin/nohup
nohup neprovede fork + exec, ale pouze exec (poté, co přesměruje výstup do souboru a zavře vstup), takže PID spuštěného příkazu se nezmění
screen -x. Tím se dá připojit na jednu screen z více míst současně. Pokud na těch více místech sedí i víc lidí, tak vidí, co dělají ostatní a můžou tak spolupracovat.
Já si zase pamatuju, že v distrech býval na podobnou věc příkaz "kibitz", v poslední době ale nějak vymizel.
bash$ ( prikaz >& log &)
&), takže v textu článku je „uvedením znaku & (ampersand)“ místo „uvedením znaku & (ampersand)“.
..uvedením znaku & amp; (ampersand)..
$ sleep 100 & [1] 26579 $ fg
Zásadní nevýhodou je, že výstup z programu je neustále přesměrovaný na výstup.a kam inam?
nemalo tam byt do suboru?
Jak s tímhle gibber-speakem můžete prosím vás pracovat? Vždyť tomu neni absolutně rozumět![1]+ Pozastaven sleep 100 $ bg [1]+ sleep 100 & $ [1]+ Dokonán sleep 100nohup: vstup ignoruji a výstup připojuji k „nohup.out“
V novější verzi bashe jsou tato slovesa již v ženském rodě. Původně jsem měl jako podmět „příkaz“, ale pak jsem se přiklonil k „úloze“, protože s ní operuje příkaz „jobs“.
Znáte lepší překlad? Rádi si ho přečteme (<translation-team-cs@lists.sourceforge.net> nebo <diskuze@lists.l10n.cz>).
OK. Je to jinak, ale výsledek je stejný. Cituji manuál bash:
The shell exits by default upon receipt of a SIGHUP. Before exiting, an interactive shell resends the SIGHUP to all jobs, running or stopped.
exit či CTRL-D žádný SIGHUP při tom tomu shellu na serveru zpravidla neposílám:).
hup.sh:
#!/bin/bash
function hup() {
echo hup
}
trap hup HUP
sleep 300
Nyní standardní odhlášení:
-bash$ ./hup.sh & -bash$ exit logout Connection to localhost closed.SIGHUP se neposlal, na rozdíl od:
-bash$ ./hup.sh & -bash$ kill -HUP <..pid..> -bash$ Hangup hup Connection to localhost closed.
bashe se zapnutým huponexit i při ukončení. Proto je často dobře své joby proti tomu ošetřit
Nastartoval lze i další screen, ale vhodnější je vytvoření další obrazovkyJak kdy. Pokud si například upravíte screen tak, že na spodní hraně zobrazuje spuštěné obrazovky (např. pomocí
hardstatus string '%{= kw}%-w%{= kG}%50>%n %t%{= kw}%+w %{= kW}%-=%Y/%m/%d %c:%s%{-}%<'), potom spuštění dalšího screenu vytvoří vlastně strom (jeho obrazovky se zobrazují nad obrazovkami nadřazeného screenu). Ve spojení s ssh STROJ -t screen (resp. mým upraveným obalem, který se automaticky znovu připojí při ztrátě spojení) velmi užitečná věc, pokud spravujete desítky strojů a chcete se v tom vyznat (a pokud použijete screen -x a připojujete se z několika míst najednou, např. notebooku a mobilu, tak je to ještě zajímavější)
lennycz@machina:~$ leafpad & [1] 2054 lennycz@machina:~$ lennycz@machina:~$ [1]+ Done leafpad lennycz@machina:~$Vysvětluji si to tak, že shell nechce přerušit jiný výstup, ale není přece podstatnější informace, že proces skončil a to v reálném čase? Nebo ještě lépe: je za "okamžitým" vypsáním hlášky i vážnější riziko než jen "optické rozhození" výstupu?
Vysvětluji si to tak, že shell nechce přerušit jiný výstup, ale není přece podstatnější informace, že proces skončil a to v reálném čase?Není :). Jinak byste určitě použil nějakou interaktivnější metodu, zvlášť v dnešní době. Zkus si představit třeba uživatele nějaké celoobrazovkové aplikace, jak se mu rozsype celý display kvůli výpisu ukončení jobu, se kterým navíc ještě celkem počítal, že někdy skončí.
To je vlastnost knihovny readline, ktrou bash používá. V okamžiku, kdy bash čeká na vstup od uživatele, tak běží smyčka z knihovny readline, která o nějakých úlohách nemá ani páru. Teprve až když uživatel odešle vstup (obvykle klávesa Enter), tak se řízení vrátí do bashe, který se přes waitpid(2) dozví o ukončení potomků.
Samozřejmě by se to dalo udělat i jinak, ale takto je to (pro mě) lepší, protože se mi nerozsype právě zadávaný příkaz.
(I to by se dalo ošetřit, ale zjevně to nikdo ještě nenaprogramoval.)
screen jsem nepoužíval, vždy jsem si udělal další příkazové okno. Ale pokud mám jen textový teminál a není to konsole s možnostmi přepínání tak se rozhodně velmi hodí.
Jde o to, že když třeba kiksne X server (příp. YaKuake nebo KDE), tak to screen nijak neovlivní a lze v klidu nahodit znova.Vida. Já to používám kvůli nestabilním linkám.
at now + 1 hour poweroff Ctrl-D2) cron ... pravidelne spousteni
man cron man crontabMik