Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.
I letos vyšla řada ajťáckých adventních kalendářů: Advent of Code 2025, Perl Advent Calendar 2025, CSS Advent Calendar 2025, Advent of A11Y 2025, Advent of AI Security 2025, Advent of Agents (in Google) 2025, Advent of Svelte 2025, …
Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.
Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.
Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.
Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).
Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.
Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.
<?php
// force download dialog
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition: attachment; filename="test.mp3"');
header('Content-Type: audio/mpeg');
header('Content-Length: ' . filesize('/path/to/test.mp3'));
header('Content-Transfer-Encoding: binary');
readfile('/path/to/test.mp3');
?>
Skript volám přes běžný prohlížeč (Firefox) a odchytávám si hlavičky, abych poznal výsledek.
Konfigurace Apache je pomocí .htaccess upravena pro kompresi POUZE požadovaných typů souborů, které chci určit na základě mime type. V .htaccess mám:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/x-javascript </IfModule>Výsledkem tohoto by měla být komprese pouze html, plain, xml, css a js souborů. V PHP si vygeneruji ke stažení mp3 soubor a odešlu správné hlavičky. Tento mp3 soubor NESMÍ být pro mé účely komprimován pomocí mod_deflate. Bohužel právě to se mi děje. Toto chování jsem odzkoušel na distribicích Red Hat, CentOS 5.5, ale i ve Windows (Xampp 1.7.3). Je zajímavé, že v Debianu i Arch Linuxu mi se stejným nastavením vše funguje požadovaným způsobem. Problém bude určitě v konfiguraci Apache, v PHP problém nebude (php.ini je stejné). Změnit definici Apache přes přípony pomocí "AddOutputFilter" není pro mě řešením. Pokud odeberu řádek:
AddOutputFilterByType DEFLATE text/htmlpak se mp3 nabídne ke stažení bez komprese, což je přesně co potřebuji. Skoro to vypadá, že mime type výsledku volaného skriptu je text/html, což mi přijde jako nesmysl, ale přesně tak se to chová. HTML soubory i PHP skripty samozřejmě komprimovat chci. Co může v nastavení Apache toto způsobovat?
<IfModule filter_module>
# nepovinne, ak nechceme nejaky "advanced" typ spracovania
FilterDeclare gzip
# tu je kriterium, kedy sa ma filter spustit
#FilterProvider gzip deflate Content-Type $text/html
#FilterProvider gzip deflate Content-Type $text/plain
#FilterProvider gzip deflate Content-Type $text/xml
#FilterProvider gzip deflate Content-Type $text/css
#FilterProvider gzip deflate Content-Type $text/javascript
#FilterProvider gzip deflate Content-Type $text/rtf
#FilterProvider gzip deflate Content-Type $text/url
# toto pravidlo nahradza vsetky tie zakomentovane vyssie
FilterProvider gzip deflate Content-Type /^text/
FilterProvider gzip deflate Content-Type $application/x-javascript
# tu je kam chceme tento filter zaradit ak ich je viac - default = na koniec chainu
FilterChain gzip
</IfModule>
<IfModule mod_filter.c> <IfModule mod_deflate.c> FilterDeclare COMPRESS FilterProvider COMPRESS DEFLATE Content-Type text/html FilterProvider COMPRESS DEFLATE Content-Type text/plain FilterProvider COMPRESS DEFLATE Content-Type text/xml FilterProvider COMPRESS DEFLATE Content-Type text/css FilterProvider COMPRESS DEFLATE Content-Type application/x-javascript FilterChain COMPRESS </IfModule> </IfModule>http://httpd.apache.org/docs/current/mod/mod_filter.html Podle dokumentace jde o vhodnější cestu, i když možná méně přehlednout. Důležité je, že takto to funguje!
Tiskni
Sdílej: