abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:22 | Nová verze

    Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | IT novinky

    Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.

    Ladislav Hagara | Komentářů: 1
    včera 18:22 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 26.05. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | IT novinky

    Český stát by v budoucnu mohl provozovat vlastní alternativu ke komunikačním aplikacím typu WhatsApp, Signal, Telegram, Facebook Messenger a podobně. Cílem je zajistit bezpečnou datovou komunikaci pro stát a jeho důležité subjekty, jako jsou bezpečnostní složky, ministerstva a další organizace.

    Ladislav Hagara | Komentářů: 23
    včera 11:22 | Pozvánky

    Už za týden, ve čtvrtek 4. června, se v Národní technické knihovně v pražských Dejvicích uskuteční další konference věnovaná tématům spojeným s IPv6 - Den IPv6. Program akce a registrační formulář jsou k dispozici na webu akce. Kapacita konference je omezená, proto organizátoři doporučují, aby se vážní zájemci přihlásili včas (k dnešnímu dni zbývá přibližně 30 volných míst). Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 1
    včera 05:22 | IT novinky

    Zařízení Steam Deck OLED bylo znovu naskladněno, ale vlivem rostoucích cen pamětí a úložišť má novou, vyšší cenovku. Steam Deck OLED 512 GB stojí nově 779 EUR (stál 569 EUR) a Steam Deck OLED 1 TB stojí 919 EUR (stál 679 EUR). Samotné zařízení se nijak nezměnilo a nové ceny tedy pouze odráží aktuální náklady na komponenty a další globální logistické výzvy, se kterými se potýká celá branže.

    Ladislav Hagara | Komentářů: 0
    27.5. 22:22 | IT novinky

    Český telekomunikační úřad zahajuje novou etapu využívání vysokofrekvenčního rádiového spektra v pásmu 26 GHz. Toto pásmo bude od 1. 7. 2026 otevřeno pro provoz moderních bezdrátových sítí, zejména sítí páté generace (5G), pevných bezdrátových přístupových sítí (FWA) a lokálních či průmyslových sítí určených například pro výrobní areály, logistická centra nebo technologické kampusy. Současně s otevřením pásma 26 GHz přistoupil ČTÚ ke zpřístupnění informací o využívání rádiových kmitočtů v tomto pásmu.

    Ladislav Hagara | Komentářů: 9
    27.5. 22:11 | IT novinky

    Logitech představil myš Signature Comfort Plus M850 L s polstrovanou opěrkou dlaně pro větší pohodlí a sadu s touto myší a klávesnicí s integrovanou opěrkou dlaní Signature Comfort Plus Combo MK880.

    Ladislav Hagara | Komentářů: 1
    27.5. 16:33 | IT novinky

    Gaël Duval se rozepsal o novinkách a plánech Murena a /e/OS. Počet uživatelů telefonů Murena a mobilního operačního systému /e/OS bez aplikací a služeb od Googlu se blíží 100 000. Ambicí je, aby se /e/OS stal třetí mobilní platformou v Evropě i na světě, s potenciálem dostat se i na PC. Blíží se vydání nové verze 4 s funkcemi zálohování a obnova, import e-mailů z Gmailu a rozpoznávání hlasu. Murena Workspace přinese videohovory, elektronický podpis a správu zařízení (MDM).

    Ladislav Hagara | Komentářů: 4
    27.5. 15:22 | Komunita

    Dnes a zítra probíhá Ubuntu Summit 26.04. Na programu je řada zajímavých přednášek. Sledovat je lze na YouTube. Úvodní slovo měli Mark Shuttleworth a Jon Seager.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1753 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Náhled adresáře bez specifikovaných podadresářů

    11.1.2021 15:22 rad
    Náhled adresáře bez specifikovaných podadresářů
    Přečteno: 480×
    Omlouvám se za nejasný titulek, snad bude vše zřejmé z popisu.

    Mám (obecnou) adresářovou strukturu typu:
    /neco_1/AAA/*.aaa
    /neco_1/BBB/*.bbb
    /neco_2/AAA/*.aaa
    /neco_2/BBB/*.bbb
    ...
    /neco_N/AAA/*.aaa
    /neco_N/BBB/*.bbb
    
    Tzn. každý adresář (říkejme mu třeba hlavní) obsahuje vždy dva 'vedlejší' poadresáře (vždy AAA a BBB) a ty pak vlastní data.

    Potřeboval bych tento strom připojit (zpřístupnit) tak, abych efektivně viděl toto:
    /neco_1a/neco_1b/*.aaa
    /neco_2a/neco_2b/*.aaa
    ...
    /neco_Na/neco_Nb/*.aaa
    
    Tj. 'hlavní' adresář už nebude obsahovat oba podadresáře, ale přímo obsah jednoho z nich.

    Nějak netuším co vlastně hledat. Určitě by se to dalo řešit odkazy, ale to by bylo strašné práce. Navíc by se hodilo, pokud by to živě reagovalo na změnu v tom původním stromě. Varianta by byla napsat skript, který by ty linky vytvořil a spouštět ho pokaždé, když dojde ke změně, ale možná existuje nějaké 'systémové' řešení.

    Díky.

    Odpovědi

    Josef Kufner avatar 11.1.2021 16:31 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    Tvůj dotaz nedává smysl. Buď konkrétnější.

    Řešení se symlinky a skriptem je rozumné. Pokud můžeš dělat symlinky na adresáře, bude to lepší.

    Samo se to aktualizovat nebude, ať to uděláš jakkoliv. Musí tam být něco, co změny detekuje a strukturu přegeneruje. Pomocí inotify jde takové změny detekovat.

    Jediné řešení, které se aktualizovat samo bude je napsat si mapování pomocí FUSE. Bude to stát kus výkonu, ale mohlo by to fungovat. Záleží, na co to vlastně chceš.

    Ještě lepší je udělat to mapování na aplikační úrovni, tedy upravit ten kus kódu, který by tu výslednou strukturu používal, nebo který ji generuje.
    Hello world ! Segmentation fault (core dumped)
    11.1.2021 17:26 rad
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    Tvůj dotaz nedává smysl. Buď konkrétnější.
    Toho jsem se trochu bál. Moc nevím, jak to popsat lépe. Zkus si to představit jako např. hudební kolekci se soubory v různém formátu. Cesta './neco_X/' přestavuje cestu k hudebnímu albu a podadresáře 'AAA', resp. 'BBB' pak obsahují tytéž skladby v různých formátech ('aaa' a 'bbb'). A ty to chceš připojit tak, že koncový uživatel uvidí jen jeden z těch formátů (tzn './neco_X/*.aaa'), např. proto, že jeho přehrávač podporuje jen formát 'aaa', zatímco přehrávač jiného uživatele podporuje pouze formát 'bbb' (tomu to zase připojíš jinam, aby viděl jen formát 'bbb').

    Ten příklad je asi dost kostrbatá konstrukce, ale snad to půjde takhle pochopit. Ale je to jen pro ilustraci, konkrétní problém by byl asi složitý na vysvětlení.

    Symlinky s inotify mám v záloze, zajímalo mně, jestli už něco takového neexistuje. FUSE mě taky napadlo, ale to by asi bylo zbytečně moc komplikované (nemám s tím zatím žádné zkušenosti).

    Změna na aplikační úrovni je taky možnost, ale do toho se mi moc nechce, protože tak jak je to generováno je to přehledné a logicky umístěné a dobře se to spravuje. A na opačném konci bych zase chtěl uživatele odstínit od pro něho nepotřebných dat (je to součást jakého si veřejného API). Ale zas bych pak nemusel dělat tohle harakiri se symlinkama, hmmm...
    11.1.2021 17:50 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    No myslím si, s vysvětlováním podceňuješ zdejší přispívatele. Asi vysvětlit konkrétně o co jde by bylo nejednodušší. Ale respektuji, že nějakého důvodu nechceš a proto k problému. Pokud chceš řešení na úrovni souborového systému, musíš mít samostatnou aktualizaci struktury. Prostě nic ti nevytvoří samo nové zařazení do nějaké cesty, když se někde jinde něco ve souborové struktuře změní. Potřebuješ trigr, a naskriptovanou akci. Na aplikační rovině (pkud je to audio by to mohlo jít tak že DLNA pošle Petrovi FLAC a Jendovi MP3. No a třetí pohled je jestli uživatel opravdu potřebuje tohle "odstínění" A jestli ty data jsou opravdu "nepotřebné"
    11.1.2021 21:51 rad
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    Všimni si, že jsem úmyslně napsal složité na vysvětlení a ne na pochopení. Způsob jakým jsem to prezentoval mi přišel jasný. Nebyl, to se stává, když člověk nemá potřebný odstup.

    Konkrétně jde o to, že nějaká aplikace generuje data do zmíněné adresářové struktury, kde podadresář AAA je pro uživatele relevantní, zatímco BBB ne (resp. pro různé uživatele jsou relevantní různé podadresáře).

    To s tím triggrem je jasné. Však jsem už v první příspěvku psal, že si dokážu představit řešení na bázi symlinků. Prostě se jenom ptám, jestli náhodou nemá s tímto někdo nějaké zkušenosti / nezná už existující řešení. Nepřijde mi to zase jako úplně absurdní úloha. Už jsem viděl nástroje řešící mnohem obskurnější problémy.

    Pokud jde o to, jestli to uživatel potřebuje, tak nepotřebuje, žejo. On vlastně nepotřebuje ani ten počítač, když na to přijde. Je to o pohodlí. Já mám třeba ve správci souborů zakázaní zobrazování skrytých souborů a adresářů protože mi to tak vyhovuje. Taky je to ale "odstínění", které je v principu "nepotřebné".
    11.1.2021 18:26 jelito
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    /neco_1a/neco_1b/*.aaa

    /neco_2a/neco_2b/*.aaa
    Tohle stoji za vysvetleni, uz ten prvni radek je nejasny. Myslim ze by pomohl skutecny priklad treba to 1b v prvnim radku je klicove.
    11.1.2021 21:42 rad
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    Aj. Tak teprve teď jsem si všiml, že to je opravdu nepřehledné. Při vkládání dotazu jsem to upravoval, ale zapomněl jsem změnit ten výstup. Takže teď už chápu, proč to nedává smysl.

    V podstatě jde o to, že každý 'zdrojový/hlavní' adresář obsahuje data ve dvou různých formátech v relevantních podadresářích. A já bych rád namapoval ta data z toho relevantního podadresáře rovnou do toho 'hlavního'.

    Tzn. to mapování by mělo pro vstupní strukturu typu:
    /foo/bar/aaa/*.aaa
    /foo/bar/bbb/*.bbb
    
    vypadat (pro parametr aaa) takhle:
    /foo/bar/*.aaa
    
    a pro parametr 'bbb' takhle:
    /foo/bar/*.bbb
    
    Josef Kufner avatar 11.1.2021 23:43 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    V případě webserveru to jde snadno udělat přepisováním URL, kdy příponu zduplikuješ před lomítko. Ale z dlouhodobého hlediska to není vhodné kvůli udržovatelnosti takové aplikace.
    Hello world ! Segmentation fault (core dumped)
    Josef Kufner avatar 11.1.2021 20:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    Pokud to je součást API, tak můžeš to mapování udělat v tom serveru, který poskytuje to API. To je asi to správné místo, neboť ti nebude API strašit v datech na disku a nebude roztahané kdo ví kam až.

    Pokud ti jde o efektivní posílání souborů z HTTP serveru, tak Apache i Nginx umí XSendFile, což je o tom, že CGI skript (např. PHP) odpoví hlavičkou "jako odpověď pošli soubor X" a HTTP server místo té hlavičku veme a místo ní pošle v těle odpovědi ten daný lokální soubor (klidně mimo document root).
    Hello world ! Segmentation fault (core dumped)
    11.1.2021 21:47 rad
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    Asi máš pravdu. Nechtělo se mi rozbíjet fungující systém, pokud by existovala snadná možnost, jak to namapovat. Ještě to promyslím, každopádně díky.
    Jendа avatar 12.1.2021 18:59 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    FUSE mě taky napadlo, ale to by asi bylo zbytečně moc komplikované (nemám s tím zatím žádné zkušenosti).
    Ještě se dá přes LD_PRELOAD hookovat funkce fopen a podobné a patchovat cesty za běhu :-D
    A na opačném konci bych zase chtěl uživatele odstínit od pro něho nepotřebných dat (je to součást jakého si veřejného API).
    A proč nemůže server prezentovat uživatelům jednu strukturu a na storage používat jinou?
    11.1.2021 19:18 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: Náhled adresáře bez specifikovaných podadresářů
    <?php
    /*
     * Licence: CC0
     * 
     * Notice: In name of file/dir doesn't can char '/'.
     */
    define("ORIGINAL_DATA", "/dev/shm/original");
    define("SYM_DATA", "/dev/shm/symbols");
    
    // create testing data
    
    function path_add_root($path)
    {
    	return ORIGINAL_DATA."/$path";
    }
    
    $dirs=array(
    '2020-01-01/export/',
    '2020-01-01/raw/',
    '2020-01-02/export/',
    '2020-01-02/raw/',
    '2020-01-03/export/',
    '2020-01-03/raw/',
    '2020-01-04/export/',
    '2020-01-04/raw/'
    );
    
    // vytvaram testovacie data
    
    $path_dirs=array_map("path_add_root", $dirs);
    system("rm -r ".ORIGINAL_DATA." ".SYM_DATA);
    
    mkdir(ORIGINAL_DATA);// or die("Nevytvoril sa ".ORIGINAL_DATA);
    system("mkdir -p ".implode(" ", $path_dirs));
    foreach($path_dirs as $path)
    {
    	if(strpos($path, "raw") !== false)
    		$name="r";
    	else
    		$name="e";
    	touch($path."$name.data");
    	touch($path."$name.data");
    	touch($path."$name.data");
    }
    
    // "main()" program
    
    function create_sym_links($path, $path_sym)
    {
    	// get full path list
    	$files=array();
    	
    	$list_1=scandir($path);
    	foreach($list_1 as $item_1)
    		if(strcmp("$item_1",".") != 0 && strcmp("$item_1","..") != 0)
    		{
    			$list_2=scandir("$path/$item_1");
    			foreach($list_2 as $item_2)
    				if(strcmp("$item_2",".") != 0 && strcmp("$item_2","..") != 0)
    					array_push($files, "$item_1/$item_2");
    		}
    	
    	foreach($files as $file)
    	{
    		$sym_dir=str_replace("/", "_", $file);
    		symlink("$path/$file","$path_sym/$sym_dir");
    	}
    }
    
    mkdir(SYM_DATA) or die("Nevytvoril sa ".SYM_DATA);
    create_sym_links(ORIGINAL_DATA, SYM_DATA);
    
    debian.plus@protonmail.com

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.