Uroš Popović v krátkém článku vysvětluje, co jsou emulátor terminálu, TTY a shell a jaké jsou mezi nimi rozdíly. Jde o první díl seriálu na jeho novém webu Linux Field Guide věnovaném nízkoúrovňové práci s linuxovými systémy.
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.
Zrovna jsem chtěl navrhnout, že by bodlo inkrementální zálohování 
\\?\D:\very long path. Toto předáváte fcím FindFile, CreateFile, ... Taky je potřeba použít FILE_FLAG_POSIX_SEMANTIC, aby to respektovalo case-sensitive názvy a povolilo různé znaky ve výchozím stavu zakázané. Díky tomuto přístupu pak budete moci i otevřít soubory vytvořené z linuxu na NTFS systému, kde jste prdly do názvu věci jako dvojtečku. Pak je taky potřeba počítat se symlinky, hardlinky a junction, na všechno existuje API, ale runtime free pascalu s tím nepočítá (resp. nepočítalo před pár lety, jak je to teď, nevím). Pro zálohovací utilitku je potřeba tohoto použít, jinak záloha může dopadnout špatně a to jistě u zálohy nechcete.
To je AFAIK věc souborového systému, ne Windows/Exploreru.NTFS dvojtečku v názvu podporuje, stejně tak < > apod. Dokonce i Windows API se s tím vypořádá a takový soubor otevře, pokud se však to API použije správně a né mizerně, tak jak ho používá Qt či Explorer a mnoho dalších aplikací (už jenom to, že Qt interpretuje '/' jako oddělovač adresářů na Windows je stupidní). Třeba takový 7-zip je jedna z mála aplikací, která to API dokáže použít lépe, než ostatní aplikace (tj. dokáže rozbalit archiv s obrovskou hloubkou adresářů a názvy až 32k dlouhými, tak, že to pak ani nejde smazat z Exploreru, protože to neumí). Bohužel už ale nezvládá case-sensitive názvy, které jak Windows, tak NTFS podporuje.
Před časem jsem došel ke stejnému závěru: že stávající zálohovací programy mi úplně nevyhovují a že si zkusím napsat něco vlastního.
Takže jsem se do toho pustil v C++ & Qt a dotáhnul to do nějakého funkčního stavu, kde fungují alespoň základy. Pak mi ale (typicky) kvůli práci došel čas a už mi to pár měsíců leží bez toho aby na to někdo sáhl. A napsané to taky není kdovíjak skvěle.
Kdyby měl někdo zájem v tom třeba pokračovat, nebo se jen podívat, tak tady to je...
- dodělat časovátko aby to kopírovalo v nastavený časPridaj TTimer (asi zalozka System) na formular, do udalosti OnTimer pridaj
if now > datum_kedy_sa_to_ma_spustit then
try
timer1.Enabled := false;
...samotny kod...
datum_kedy_sa_to_ma_spustit := dalsi_datum;
finally
timer1.Enabled := true;
end;
Pripadne ak chces aby sa to spustalo napr. kazdych 5 minut tak nastav Interval toho timeru na 300000 (to je 300s) a ten kod daj priamo do toho.
- mazat adresáře starší než nastavený počet dníListuj adresare cez TSearchRec (cez FindFirst, FindNext, FindClose) a starsie adresare maz cez DeleteDir. Nevie to mazat prazdne takze musis mazat rekurzivne.
- mazat adresáře od nejstaršího po dosažení nastavené velikosti adresáře zálohyHod si adresare do listu (alebo string listu, metoda CustomSort), funkcia Sort akceptuje ako parameter triediacu funkciu, vytvor si triediacu funkciu s 2 pointer parametrami ktora bude porovnavat adresare podla datumu. Alebo pouzi rovno datum yyyy-mm-dd-HH-MM-SS-zzz a bude to triedit spravne. Potom len vymazes prvy adresar z toho listu.
- možnost purgekopírování dat v adresáři – jen poslední verze ProE partů (ukládá soubory jako sestava.asm.1, při změně a uložení to vytvoří nový soubor sestava.asm.2 atd atd a purgekopírování zkopíruje jen ty poslední)To iste ako s tym sortovanim len si vytvoris inu sortovaciu funkciu.
function TriedenieAsmSuborovPodlaPripony(a,b : integer) : integer;
var fa,fb : string;
ca,cb : integer;
begin
fa := subory[a];
fb := subory[b];
if pos('.asm.', fa) then
ca := StrToIntDef(ExtractFileExt(fa), -1);
if pos('.asm.', fb) then
cb := StrToIntDef(ExtractFileExt(fb), -1);
result := ca - cb;
end;
- ukládání nastavení do xml nebo cfg souboru. Nyní to používá registry (fuj?)Pouzi ini subory, pozor, cesta v atribute Create musi byt uplna!
uses IniFiles;
with TIniFile.Create(GetEnvironmentVariable('HOME')+PathDelim+'.config'+PathDelim+'nieco.ini') then
try
Left := ReadInteger('OKNO', 'Left', 0);
Top := ReadInteger('OKNO', 'Top', 0);
b := ReadBool('OKNO', 'B', false);
s := ReadString('OKNO', 'Meno', '');
... zapis cez WriteInteger, WriteString, WriteBool, ...
finally
Free;
end;
Tiskni
Sdílej: