Organizace Apache Software Foundation (ASF) vydala verzi 20 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Desktopové prostředí Cinnamon, vyvíjené primárně pro distribuci Linux Mint, dospělo do verze 6.0. Seznam změn obsahuje především menší opravy a v říjnovém přehledu novinek v Mintu avizovanou experimentální podporu Waylandu.
OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzích 2.2.2 a 2.1.14. Přináší důležitou opravu chyby vedoucí k možnému poškození dat.
V ownCloudu byly nalezeny tři kritické zranitelnosti: CVE-2023-49103, CVE-2023-49104 a CVE-2023-49105 s CVSS 10.0, 8.7 a 9.8. Zranitelnost CVE-2023-49103 je právě využívána útočníky. Nextcloudu se zranitelnosti netýkají.
I letos vychází řada ajťáckých adventních kalendářů. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2023. Pro programátory v Perlu je určen Perl Advent Calendar 2023. Zájemci o UX mohou sledovat Lean UXmas 2023. Pro zájemce o kybernetickou bezpečnost je určen Advent of Cyber 2023…
Byla vydána verze 2.12 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 23.11 Topi. Přehled novinek v Changelogu.
Po 4 měsících vývoje byla vydána nová verze 4.2 multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu a na YouTube.
Byla vydána nová stabilní verze 23.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Tapir. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) upozorňuje na hrozbu spojenou s používáním mobilní aplikace WeChat a její čínské verze Weixin (dále jen WeChat). Ta sbírá velký objem uživatelských dat, a právě to by – v kombinaci se způsobem jejich sběru – mohlo sloužit k přesnému zacílení kybernetických útoků.
export promenna=0
export a=blabla bash echo $blabla... tak to bude fungovat, jak chcete. Váš problém je ale ten, že proměnná není definována v prostředí procesu, který obsluhuje klávesové zkratky a spouští ty terminály. Buď ten program přepište a nebo si budete muset udělat nějaký perzistentní čítač jinde (např. ten soubor), nebo to budete muset vydedukovat nějak automaticky v každém spuštěném shellu (např. ps a zjistit nejvyšší číslo terminálu).
jestli "ps" vypisuje i nazvy bezicich programuA co jiného by měl vypisovat?
Mi přijde, že když si třeba takhle
#!/usr/bin/python import wnck, gtk s = wnck.screen_get_default() while gtk.events_pending(): gtk.main_iteration() for w in s.get_windows(): print '%x' %w.get_xid(), w.get_name(), w.get_pid()
zjistím seznam všech oken, jejich názvy, XIDy a PIDy jejich procesů, tak to všechno přece nějak musí jít, ne? Nebo mi něco uniklo a mám si přečíst celé vlákno?
#! /bin/bash
Co to je globalni promenna? Toto resit pres promennou nepujde. Co je spatneho na souboru s citacem v /tmp?
Myslím, že je to z historických důvodů. Adresář /tmp se hojně používal mnohem dřív, než vzniklo shm (tmpfs). Navíc, paměť byla vzácná a bylo potřeba jí šetřit.
Dnes je paměť levná, ale disky i nadále pomalé a stále ještě mechanické.
Stejně jako ty mám psychický problém, kdykoli se zbytečně šáhá na disk. Ten tvůj program bych řešil démonem, který by se nikdy neukončoval a tudíž si všechno pamatoval a hlavně nikdy nemusel startovat znovu. Reagoval by vždy okamžitě bez hrábnutí na disk.
Ne kazdy si chce docasnymi daty zaplacavat RAM - klidne si tam udelej symlink, ale pak se mozna budes divit, az si tam nejaky program ulozi treba ISO image pripraveny k vypaleni. Disk jako synchronizacni prostredek se pouziva predevsim proto, ze to je velice jednoduche, prenositelne (/tmp musi byt na kazdem UNIXu, i kdyby tam zadny disk ani nebyl, /dev/shm ani ne na kazdem linuxu, rada lidi to vubec nepouziva, nemusi tam byt pravo pristupu pro bezne uzivatele,...) a usporne. Kdyby na tyto prkotiny kazdy program pouzival vlastniho demona, tak takovych zbytecnych demonu pobezi stovky - namatkou demon pro midnight commander, aby po jeho vypnuti zustal nastaveny adresar, pro ruzne "opravdove" demony demon udrzujici jejich lockfile, ...
Rozhodne nejde o nejaky pozustatek, ktery pouzivaji pouze blbecci, kterym ujel vlak. Kdyz chces, vymyslej znovu kolo, ale jak se rika "dvakrat mer" a vezmi v uvahu, ze nektere veci vymysleli a zdokonalovali lide mnohem schopnejsi nez ty (to neni nic osobniho, to plati temer pro kazdeho). Samozrejme to neznamena, ze maji vzdycky pravdu, ale je to velice caste
Takze je len mala sanca, ze subor, ktory vznikne a zanikne v priebehu par desatin sekundy sa objavi na disku. Iba sa aktualizuje ctime pre /tmp.Jste si tím jist? Já jsem to tedy nijak podrobně nestudoval, ale řekl bych, že to není tak chytré, aby to z block cache odstranilo záznam všech sektorů které patří souboru, který jsem vymazal. Nebo jo?
Je to celkem akademická debata, ale když udělám tenhle test
#!/usr/bin/python #coding: utf-8 import time fn = 'cislo' counter = 0 file(fn, 'w').write('%d' %counter) start = time.time() while counter < 100000: counter = int(file(fn).read()) file(fn, 'w').write('%d' %(counter+1)) print (time.time() - start)/counter
tak je vidět, že jedno takové zvýšení čítače v souboru vezme cca 430 mikrosekund. Je zajímavé, že v průběhu testu je zátěž skoro celá SYS, tj. žádná USER a žádná IOWAIT. Disk to tedy nebrzdí, spíš jaderná administrativa.
# dd if=/dev/zero of=blah bs=2M count=20 20+0 records in 20+0 records out 41943040 bytes (42 MB) copied, 0.0742222 seconds, 565 MB/s # losetup /dev/loop0 ./blah # mkfs.xfs /dev/loop0 meta-data=/dev/loop0 isize=256 agcount=2, agsize=4096 blks = sectsz=512 data = bsize=4096 blocks=8192, imaxpct=25 = sunit=0 swidth=0 blks, unwritten=1 naming =version 2 bsize=4096 log =internal log bsize=4096 blocks=1200, version=1 = sectsz=512 sunit=0 blks realtime =none extsz=65536 blocks=0, rtextents=0 # echo 100000 >/proc/sys/vm/dirty_writeback_centisecs # mkdir a # mount -t xfs /dev/loop0 a # echo qwertyuiop >a/a && rm a/a # sync # grep qwertyuiop blah (nic)
Nic takoveho jako globalni promenna dle uvedene definice neexistuje. O disk bych se opravdu neobaval, kolikrat se ten terminal bude spoustet - milionkrat? Soubory v /tmp se vzdycky pouzivaly, pouzivaji a jeste nejakou dobu asi pouzivat budou. Pokud to chces delat slozite, zrid si na to demona, se kterym budes komunikovat treba pres IPC a bude ti cislo terminalu udrzovat, ale je to doslova atomovka na vrabce.
Co skript udělal se po jeho ukončení opravdu ztratí. Je tu ale možnost ho při spuštění includovat příkazem source
(nebo tečka)
tedy source mujskript
Tiskni
Sdílej: