Byl vydán Debian 13.6, tj. šestá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.15, tj. poslední patnáctá opravná verze Debianu 12 s kódovým názvem Bookworm, k dispozici je LTS. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
V jádře Linux byla nalezena a v upstreamu již byla opravena kritická zranitelnost GhostLock aneb CVE-2026-43499. Lokálnímu uživateli umožňuje získat práva roota a také obejít kontejnerovou izolaci. Zranitelnost existovala v Linuxu 15 let, tj. od roku 2011, od Linuxu verze 2.6.39.
Evropská komise předběžně shledala, že návykový design aplikací Instagram a Facebook od americké společnosti Meta porušuje unijní nařízení o digitálních službách (DSA). Návykový design zahrnuje například takzvané nekonečné posouvání, automatické přehrávání videí, tzv. push notifikace, kdy aplikace uživatele vybízí k návratu do jejího prostředí, či vysoce personalizovaný algoritmus, který rychle pozná, co uživatele baví a snaží
… více »Byla vydána verze 1.97.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.
Švýcarská společnost Punkt. má nově v nabídce telefon Punkt. MC03. Telefon byl navržen ve Švýcarsku s důrazem na soukromí a digitální suverenitu a vyroben v Německu. V telefonu běží operační systém AphyOS (Apostrophy OS) založený na AOSP (Android Open Source Project) 15. Cena telefonu je 745 eur.
TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 7.0. Kompilátor byl kvůli výkonu přepsán z TypeScriptu do Go.
Europarlament podpořil pozměněnou verzi výjimky známé jako „chat control 1.0“ umožňující firmám skenovat soukromou komunikaci na internetu kvůli ochraně dětí před zneužitím. Pozměňovací návrhy přijaté europoslanci však počítají s tím, že z výjimky bude vyřazena šifrovaná komunikace. Výjimka přestala platit začátkem dubna poté, co se Evropský parlament a Rada EU nedokázaly shodnout na jejím prodloužení. Rada následně přijala
… více »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).
Debian nabízí čtyři skripty, kterými můžete ovlivnit průběh instalace -
postinst, preinst, postrm, prerm a config. Skript config je trochu specifický a spouští se ještě před instalování všech balíčků. Používá se v podstatě jen ve spojení s Debconfem a umožní získat odpovědi uživatelů na různé dotazy. Jeho přesnější použití si probereme až společně se Debconfem.
Každý skript dostává v prvním parametru typ akce, která se právě provádí, a pokud se jedná o aktualizaci, tak verzi balíčku, ze kterého se aktualizuje. Celkové pořadí a možnosti spouštění skriptů jsou celkem komplikované, takže zájemce o podrobné studium stavových diagramů odkáži na wiki. Pro běžné použití nám však stačí zapamatovat si pořadí skriptů.
Při instalaci se nejdříve pouští preinst, rozbalí se soubory a pustí se postinst. Při aktualizaci balíčku se nejdříve pouští prerm starého balíčku, pak preinst nového, rozbalí se soubory, postrm starého a postinst z nového balíčku. Poslední důležitá akce je odstranění balíčku: nejdříve se pustí skript prerm a po odstranění souborů skript postrm. Pokud znáte
i RPM, je dobré si uvědomit, že při aktualizaci je pořadí trochu jiné.
Pro začátek jednoduchá odpověď: pro většinu standardních balíčků všechny potřebné akce (pokud vůbec nějaké jsou) do skriptíků vygeneruje automaticky Debhelper a nemusíme se o nic starat. Mezi takové akce patří například spouštění programu ldconfig při instalaci knihovny, instalace init skriptů, kompilování byte kódu pro Python a podobně.
Nicméně pokud náš balíček potřebuje například vytvoření nového systémového uživatele, už se bez psaní skriptů neobejdeme. Skriptíky pro každý balíček patří do adresáře debian a budou se jmenovat debian/binární-balíček.jméno-skriptu, například tedy debian/hello.postinst. Při psaní vlastních skriptů nesmíme zapomenout na
Debhelper, který pořád může chtít vložit nějakou část do těchto skriptíků. Proto by každý námi vytvořený skript měl obsahovat speciální komentář, který značí, kam Debhelper může vkládat svůj kód:
#DEBHELPER#
Pokud od skriptů požadujeme nějakou interaktivitu s uživatelem, měl by se pro
tyto účely používat Debconf. Jakákoliv interaktivita by měla být omezena na
nejnutnější možnou míru, takže pokud je možné použít vhodné výchozí hodnoty,
je to vždy lepší, než se ptát uživatele na každou konfigurační možnost ve vašem
balíčku. Odpovědi uživatelů se ukládají do databáze a uživatel není vícekrát
dotazován na věci, na které již jednou odpovídal. Jediná možnost, jak zobrazit
již odpovězené otázky, je použití dpkg-reconfigure.
Debconf umožňuje získat informace od uživatele ve standardní formě a využívat právě používané grafické rozhraní. Zobrazování dialogů uživateli má na starosti část zvaná frontend, kterých existuje celá řada (GNOME, KDE, příkazová řádka, dialog, atd.). Otázky pro Debconf je také možné překládat, takže budou uživateli zobrazeny podle jeho locales. Pro správné používání Debconfu potřebujeme upravit minimálně tyto soubory:
debian/templates - Tento soubor obsahuje šablony otázek, tedy jejich typ a anglické texty, které se zobrazí uživateli.debian/binární-balíček.config - Skript, který se pouští před instalací balíčku a měl by se uživatele zeptat na všechny dotazy.debian/binární-balíček.postinst - Ve skriptu po instalaci balíčku budeme chtít získaná data nějak využít.debian/po - Tento adresář může obsahovat překlady šablon.debian/rules - Zde musíme přidat volání dalšího skriptu Debhelperu - dh_installdebconf, ten nainstaluje šablony na správné místo do balíčku a automaticky přidá do skriptu postrm kód na vymazání hodnot z databáze.Šablony používají podobný formát jako debian/control, takže napsat ji nebude nic těžkého:
Template: jméno-balíčku/jméno-otázky Type: typ-otázky Default: výchozí-hodnota Choices: volby, pro, výběrové, typy _Description: Název položky: Podrobný popis položky.
Povinná pole jsou jen Template, Type a Description. To, že jméno pole začíná na podtržítko, znamená, že je možné toto pole přeložit. Obvykle se používá u Description, ale občas i u Choices. O překladu šablon se dozvíte více na konci dnešního článku. Jako jméno otázky použijte co nejjednodušší identifikátor, typ otázky je jeden z následujících:
Choices.Choices.Do konfiguračního skriptu musíme zapsat ptaní se na všechny otázky. Všechny
potřebné funkce pro tuto činnost získáme ze skriptu /usr/share/debconf/confmodule. Příkazy začínají na db_ a význam těch nejdůležitějších asi uhodnete z jejich názvů:
db_input - Připraví otázku k zobrazení. První parametr je důležitost
otázky, druhý její identifikátor (hodnota Template z šablony).db_go - Zobrazí otázku uživateli. Je možné připravit najednou více otázek a uživatel pak mezi nimi může přecházet. Při provedení se odpovědi ukládají
do databáze.db_get - Načte odpověď na otázku z databáze. Jediný
identifikátor otázky.db_set - Nastaví odpověď na otázku do databáze. První parametr je
identifikátor otázky, druhý hodnota, kterou chceme nastavit.Jednoduchý konfigurační soubor (debian/binární-balíček.config) by mohl vypadat nějak takto:
#!/bin/sh
CONFIGFILE=/etc/foo.conf
set -e
. /usr/share/debconf/confmodule
# Load config file, if it exists.
if [ -e $CONFIGFILE ]; then
. $CONFIGFILE || true
# Store values from config file into
# debconf db.
db_set mypackage/foo "$FOO"
db_set mypackage/bar "$BAR"
fi
# Ask questions.
db_input medium mypackage/foo || true
db_input medium mypackage/bar || true
db_go || true
Důležité je nepřepisovat uživatelovy změny v konfiguraci. Proto, pokud již konfigurační soubor existuje, načteme hodnoty z něj. Pak se zobrazí otázky.
V poinstalačním skriptu (debian/binární-balíček.postinst) pak musíme tyto hodnoty načíst a zpracovat. Jako pokračování výše zmíněného příkladu je
uložíme do konfiguračního souboru:
#!/bin/sh
CONFIGFILE=/etc/foo.conf
set -e
. /usr/share/debconf/confmodule
# Generate config file, if it doesn’t exist.
# An alternative is to copy in a template
# file from elsewhere.
if [ ! -e $CONFIGFILE ]; then
echo "# Config file for my package" > $CONFIGFILE
echo "FOO=" >> $CONFIGFILE
echo "BAR=" >> $CONFIGFILE
fi
# Substitute in the values from the debconf db.
# There are obvious optimizations possible here.
# The cp before the sed ensures we do not mess up
# the config file’s ownership and permissions.
db_get mypackage/foo
FOO="$RET"
db_get mypackage/bar
BAR="$RET"
cp -a -f $CONFIGFILE $CONFIGFILE.tmp
# If the admin deleted or commented some variables but then set
# them via debconf, (re-)add them to the conffile.
test -z "$FOO" || grep -Eq ’^ *FOO=’ $CONFIGFILE || \
echo "FOO=" >> $CONFIGFILE
test -z "$BAR" || grep -Eq ’^ *BAR=’ $CONFIGFILE || \
echo "BAR=" >> $CONFIGFILE
sed -e "s/^ *FOO=.*/FOO=\"$FOO\"/" \
-e "s/^ *BAR=.*/BAR=\"$BAR\"/" \
< $CONFIGFILE > $CONFIGFILE.tmp
mv -f $CONFIGFILE.tmp $CONFIGFILE
#DEBHELPER#
Jak vidíme, tak kromě dvojího zavolání db_get se skript jen snaží bezpečně upravit konfigurační soubor.
Na závěr jsem si nechal překládání šablon. Pro používání překladů potřebujeme
nejprve náš balíček trochu upravit. O podtržítku před překladatelnými texty
jsem již mluvil v části o šablonách. Dále je potřeba přidat kompilační
závislost na po-debconf do debian/control a vytvořit soubor
debian/po/POTFILES.in se seznamem souborů pro překlad - obvykle v něm bude jediná řádka:
[type: gettext/rfc822deb] templates
Nyní již můžeme pustit program debconf-updatepo (z balíčku po-debconf), který vygeneruje šablonu pro překlad debian/po/templates.pot. Tento soubor již můžeme předhodit překladatelům a začlenit zpět překlady do adresáře debian/po (například český překlad bude patřit do souboru debian/po/cs.po). Instalaci překladů na správné místo zařídí výše zmiňovaný dh_installdebconf.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Diskuse byla administrátory uzamčena
Podobně jako RPM, umožňuje Debian začlenit do různých fází instalace všelijaké skritíky.