Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.
Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.
Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.
Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.
Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.
Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).
Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.
Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).
Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.
nohup mysqldump --user='user' --password='password' --databases DB1 | iconv -c -f"CP852" -t"ISO-8859-2" > /opt2/DB1.txt &Nakolko sa jednalo o 1,3 GB databazu, zrejme to system nestravil, proces zabil a dnes som si nasiel od neho pozdrav:
Jan 19 15:48:08 LINUX-server kernel: oom-killer: gfp_mask=0x601d2, order=0 Jan 19 15:48:09 LINUX-server kernel: Mem-info: Jan 19 15:48:09 LINUX-server kernel: DMA per-cpu: Jan 19 15:48:09 LINUX-server kernel: cpu 0 hot: low 2, high 6, batch 1 used:5 Jan 19 15:48:09 LINUX-server kernel: cpu 0 cold: low 0, high 2, batch 1 used:1 Jan 19 15:48:09 LINUX-server kernel: Normal per-cpu: Jan 19 15:48:09 LINUX-server kernel: cpu 0 hot: low 62, high 186, batch 31 used:80 Jan 19 15:48:09 LINUX-server kernel: cpu 0 cold: low 0, high 62, batch 31 used:48 Jan 19 15:48:09 LINUX-server kernel: HighMem per-cpu: empty Jan 19 15:48:09 LINUX-server kernel: Free pages: 5264kB (0kB HighMem) Jan 19 15:48:09 LINUX-server kernel: Active:60900 inactive:60734 dirty:0 writeback:0 unstable:0 free:1316 slab:2998 mapped:120948 pagetables:841 Jan 19 15:48:09 LINUX-server kernel: DMA free:2072kB min:88kB low:108kB high:132kB active:5500kB inactive:4992kB present:16384kB pages_scanned:11437 all_unreclaimable? yes Jan 19 15:48:09 LINUX-server kernel: lowmem_reserve[]: 0 496 496 Jan 19 15:48:11 LINUX-server kernel: Normal free:3192kB min:2804kB low:3504kB high:4204kB active:238100kB inactive:237944kB present:507904kB pages_scanned:608421 all_unreclaimable? no Jan 19 15:48:11 LINUX-server kernel: lowmem_reserve[]: 0 0 0 Jan 19 15:48:12 LINUX-server kernel: HighMem free:0kB min:128kB low:160kB high:192kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no Jan 19 15:48:12 LINUX-server kernel: lowmem_reserve[]: 0 0 0 Jan 19 15:48:12 LINUX-server kernel: DMA: 0*4kB 1*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 1*2048kB 0*4096kB = 2072kB Jan 19 15:48:12 LINUX-server kernel: Normal: 116*4kB 5*8kB 0*16kB 0*32kB 12*64kB 1*128kB 1*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 3192kB Jan 19 15:48:12 LINUX-server kernel: HighMem: empty Jan 19 15:48:12 LINUX-server kernel: Swap cache: add 1188494, delete 1185783, find 604335/681068, race 0+0 Jan 19 15:48:12 LINUX-server kernel: Free swap = 0kB Jan 19 15:48:12 LINUX-server kernel: Total swap = 1060280kB Jan 19 15:48:12 LINUX-server kernel: Free swap: 0kB Jan 19 15:48:12 LINUX-server kernel: 131072 pages of RAM Jan 19 15:48:12 LINUX-server kernel: 0 pages of HIGHMEM Jan 19 15:48:12 LINUX-server kernel: 2260 reserved pages Jan 19 15:48:13 LINUX-server kernel: 6322 pages shared Jan 19 15:48:13 LINUX-server kernel: 2711 pages swap cached Jan 19 15:48:13 LINUX-server kernel: 0 pages dirty Jan 19 15:48:13 LINUX-server kernel: 0 pages writeback Jan 19 15:48:13 LINUX-server kernel: 120948 pages mapped Jan 19 15:48:13 LINUX-server kernel: 2998 pages slab Jan 19 15:48:13 LINUX-server kernel: 841 pages pagetables Jan 19 15:48:14 LINUX-server kernel: Out of Memory: Killed process 6623 (iconv).Ako teda urobit dump (objemnej) celej databazy do 1 suboru avsak uz v inej znakovej sade. Do 1 preto, aby som zbytocne nezaprataval miesto 2 velkymi subormi.
we have a problem with reading from a desriptor since we must not provide the iconv() function an incomplete character or shift sequence at the end of the buffer. Since we have to deal with arbitrary encodings we must read the whole text in a buffer and process it in one step.Jinak pro tento případ je nejrozumnější nastavit kódování přímo mysqldumpu...
std::wifstream rovnou wchar_t.
To samozřejmě musíte vědět (nebo aspoň předpokládat), jinak jste namydlený i s klasickým postupem. Když půjdu do extrému, jednoduchý filtr by mohl vypadat asi takto (pro jednoduchost a přehlednost jsem vynechal zpracování chyb):
#include <iostream>
#include <locale>
int main(int argc, char* argv[])
{
if (argc < 3) return 1;
std::ios_base::sync_with_stdio(false);
std::wcin.imbue(std::locale(argv[1]));
std::wcout.imbue(std::locale(argv[2]));
std::wcout << std::wcin.rdbuf();
return 0;
}
(jako argument se tomu musí dát celé jméno locale, ne jen kódování).
Taky to bude určitě pomalejší, protože se dvakrát dekódují multibyte znaky. … Stejně je lepší použít recode, které to umí rovnou a nepoužívat iconv.
Tak jsem to zkusil a výsledky vás asi nemile překvapí:
iconv sice může někdy hrát roli, ale rozhodně se nedá říci, že řešení standardními prostředky libstdc++ je nějak výrazně pomalejší. Navíc pokud iconv opravdu nejdřív nabufferuje celý vstup, tak pro velké množství dat těch 20 procent rád obětuji a pro malé je to stejně jedno. No a recode, který jste propagoval, je úplně někde jinde…
--default-character-set=... ?
show character set;.
--default-character-set= bez problémů. Možná akorát budeš muset ještě použít parametr mysqldumpu --character-sets-dir=.... U mě ty sady jsou v /usr/share/mysql/charsets
Tiskni
Sdílej: