Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Ř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.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.
Nazdar. Střípky znalostí, jak už název napovídá, jsou určeny k sbírání různých útržků, které bych si jinam asi nezapsal. Tady je na ně vhodné místo. Ale píšu sem jenom občas. Jinak, další zajímavé informace najdete na mých stránkách.
Vyrobil jsem si jednoduchý PHP skriptík na zálohování databáze na svých stánkách. Na požádání vyexportuje databázi (mysql) do souboru, volitelně ho zkomprimuje a vypíše URL zálohy. Nic složitého, ale někomu by se to mohlo hodit. (Třeba mě, až na něj zapomenu. ;)
Při spuštění se to zeptá na typ komprese (bzip2, gzip, bez komprese). Jakmile to ví typ komprese, databázi vyexportuje, zkompimuje a uloží do souboru a zobrazí odkaz na něj. Např. databaze-2005_05_18-21_30.sql.bz2.
Co si s tím dál uživatel udělá je na jeho fantazii. Někomu stačí si ten soubor jednoduše stáhnout a uložit někam do archivu. Lepší by ale bylo si napsat shellový skriptík (nejlépe volaný pravidelně z cronu), který tuhle stránku zavolá, soubor stáhne a uloží. Případně by se ten soubor dal ještě automaticky nahrát do lokalního mysql serveru pro vývoj doma. Fantazii se meze nekladou.
<?php
/* Skript na jednoduche zalohovani mysql databaze.
* Autor: Bohumir Zamecnik - zamecnik.org
* Licence: GNU LGPL
*/
$host = "pocitac";
$user = "uzivatel";
$pass = "heslo";
$db = "databaze";
$path = getcwd();
$file="$path/$db-".date('Y_m_d-H_i').'.sql';
$self = basename($_SERVER["SCRIPT_NAME"]);
switch($_GET["c"]){
case "gz"; case "gzip":
$compress = "|gzip -c"; $file .= ".gz"; break;
case "bz2"; case "bzip2":
$compress = "|bzip2 -c"; $file .= ".bz2"; break;
case "none":
$compress = "";break;
default:
$ask = true;
?>
<p>Typ komprese:</p>
<ul>
<li><a href="./<?=$self?>?c=bz2">bzip2</a></li>
<li><a href="./<?=$self?>?c=gz">gzip</a></li>
<li><a href="./<?=$self?>?c=none">žádná</a></li>
</ul>
<?
}
if(!$ask){
echo "<a href='./".basename($file)."'>".basename($file)."</a>";
exec("/usr/bin/mysqldump -u $user -p$pass -h $host --opt $db $compress > $file");
}
?>
Ještě může být vhodné si do adresáře na serveru, kde je onen zálohovací skript, pokud tam teda běží Apache, dát vhodně nastavené soubory .htacces a .htpasswd:
$cat .htaccess
Options +Indexes
AuthUserFile /cesta/k/adresari/kde/lezi/.htpasswd
AuthName "Backup"
AuthType Basic
Require user uzivatel
$htpasswd -c .htpasswd uzivatel
$cat .htpasswd
uzivatel:ja_jsem_sifovane_heslo_bla_bla_bla
První řádek v htaccessu nám povolí ukazovat obsah adresáře, pokud tam není výchozí soubor (většinou index.html nebo index.php). To je proto, abychom mohli vidět i staré zálohy. Zbylé řádky se starají o zaheslování pomocí HTTP autorizace. Přece nenecháme naše zálohy ani přístup ke skriptu otevřený veřejnosti. Nakonec si vytvoříme soubor se šifrovaným heslem. K tomu slouží program htpasswd (přibalený k Apachovi), který se nás zeptá na heslo a celé to zašifrovaně uloží do souboru.
Ani to nebolelo, co? No snad tam někde nejsou překlepy v tom kódu. Jinak, asi existuje dost sofistikovanějších skriptů a programů, ale já jsem potřeboval něco úplně jednoduchého. A pokud se to někomu hodí (byť jako inspirace), budu rád.
Tiskni
Sdílej:
. MySQL jako takové transakce neimplementuje, vždy záleží na storage engine, který se používá.
InnoDB does locking on the row level and also provides an Oracle-style consistent non-locking read in SELECT statements.
Podivej se na zdrojaky phpmyadmina jak to tam resi, je tam presne to co delas ty, akorat je to klikaci.hm, na phpMyAdmin jsem taky pomyslel, a když jsem četl:
Někomu stačí si ten soubor jednoduše stáhnout a uložit někam do archivu.tak jsem pak chvíli dumal, na co vlastní skript ...?
mysqldump nemusí být o moc lepší…
mysqldump volám proto s parametrem --opt, což je zkratka pro mysqldump --quick --add-drop-table --add-locks --extended-insert --lock-tables. Právě pomocí --lock-tables se před vlastním dumpem zamknou tabulky, aby se v nich nic nemohlo měnit. Dále je tam volba --add-locks, která do dumpu přidá příkazy pro opětovné zamknutí tabulek, při nahrávání do databáze. Tak jsem to alespoň pochopil z manuálu.
Kdyby se jednalo o web s třeba tisíci a více přístupů za den, kde to opravdu žije, databáze a konzistence dat by mě asi trochu zajímala více. Ale tohle jsou zatím obyčejné osobní stránky se skromným trafficem. Takže mě to zatím nějak moc netrápí. A nouzi nejhorší můžu použít nějakou starší zálohu a zkusit to mergnout s tou nejnovější, která by byla poškozená tak, aby se ztratilo, co nejméně informací.