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í
×
    včera 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Nová verze

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    včera 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 16
    19.5. 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 8
    19.5. 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    19.5. 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    19.5. 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.5. 12:33 | Nová verze

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (62%)
     (23%)
     (8%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 52 hlasů
     Komentářů: 5, poslední včera 20:57
    Rozcestník

    Scout, aneb prohledáváme distribuce (update)

    26.6.2008 09:41 | Přečteno: 1574× | Linux | Výběrový blog | poslední úprava: 26.6.2008 17:31

    V rámci svého času na inovace, které máme v práci, jsem začal řešit problém, který mám jak já, tak i lidé na koferencích. Když tvořím nějaký balíček, stane se, že přehlédnu nějakou závislost a překlad spadne. Jenže jak zjistit z ména třídy název potřebného balíčku (soudě podle poštovních konferencí jsem nebyl sám, kdo měl takový problém), takže jsem začal psát jednoúčelovou aplikaci, která měla nahradit původní alias na grep a hromadu x megových textových souborů jako index.

    Pavol Rusnák mezitím pracoval na reimplementaci Ubuntího command-not-found a přišlo mu, že se řeší velice podobný problém a navrhnul spojit oba projekty do jednoho. A tak vznikl scout.

    Ještě před dovolenou jsem tedy napsal základ pro rozdělení aplikace na moduly, třídu pro práci s databází a v klidu si odjel pryč. Mezitím Pavol vzal můj prototyp a podstatně ho vylepšil a hlavně rozšířil o data, takže až jsem se po třech týdnech vrátil, scout byl poprvé zveřejněn. V té době uměl prohledávat binární soubory, javovské třídy, webpin a makra autoconfu.

    Konečně se dostáváme k tomu, co scout vlastně dělá. Indexuje a prohledává obsah balíčků v distribuci (obecně jakémkoliv repositáři) a dokáže uživateli prozradit jméno balíčku (a distribuce/repozitáře), v němž je dotyčná věc nainstalována. Hlavní fintou je, že se prohledává obsah, který uživatel nemá nainstalovaný. Takže vím, že potřebuji příkaz ant, takže příkaz

    $ scout bin ant
     repository | binary | path     | package
    ------------+--------+----------+---------
     suse110    | ant    | /usr/bin | ant
    
    mi prozradí vše potřebné. Pochopitelně ve spojené s command-not-found handlerem pro bash a zsh je to pro uživatele jednodušeji použitelné, ale openSUSE zatím nemá tento handler začleněn. Upravený bash si můžete stáhnout z home:prusnak.

    Mezitím Marek Stopka napsal podporu pro bash-completion a Thomas Schraitle napsal v Docbooku dokumentaci a já se seznamoval se zdrojáky a napsal indexaci modulů pro Python a experimentální (rozumněj nefunční) verzi pro indexaci Perlovských modulů. Zároveň jsem připravil malé demo, kterak by bylo možné použít scout pro automatickou instalaci závislostí Java programů, které rovněž můžete shlédnout v Pavlově blogu.

    Wrapper pracuje následovně

    1. Spustí program.
    2. Pokud spadne, najde chybějící třídu.
    3. Tu předhodí scoutovi, který vrátí balíček/balíčky, které ji obsahují.
    4. Když je jich více, nechá se uživateli vybrat, který nainstalovat.
    5. Uživatel vybere, zypper nainstaluje.
    6. Wrapper znovu spustí program.
    7. Voila! A program pracuje.
    Pochopitelně je to jenom demo a funguje jen na tento jeden příklad a za předpokladu, že log4j nemáte nainstalováno, nicméně ukazuje směr, jakým by se dal v budoucnu scout využít. Podobná věc může fungovat i pro Python/Perl/Ruby. Další možností je taky nápovědní systém, který buďto zanalyzuje zdrojový kód, nebo udělá post-mortem analýzu chybové hlášky a napoví uživateli, které závislosti jsou třeba. Pro to bude třeba indexovat hlavičkové soubory, soubory pkgconfigu a podobně. Stejně tak by bylo dobré namísto duplikace binárních databází používat přímo indexové soubory libzyppu, ale zatím tomu brání technické obtíže. Nebo převést index soubory do formátu pro beagle/strigi a zapojit i desktop search, ... Ale seznam TODO máme delší, než Evropská ústava, takže se ani nepočítáme, že to v rozumném časovém horizontu zvládenem všechno.

    Zdrojové soubory jsou na repo.or.cz/w/scout.git, i když mám pocit, že není možné jej používat přímo po stažení (ach ty vývojářské verze)*. Zdrojové soubory jsou zatím tak syrové, že je může pozřít i vegan jedící pouze syrové potraviny, ale to se postupně zlepšuje** a čekají nás světlé zítřky. Objevil se náznak testů a v souvislosti s experimentálním D-BUS rozhraním (zatím dostupné pouze v mojí lokální gitovské větvi) se kód upravuje tak, aby byl o něco tvárnější a modulárnější (tím nemyslím existenci externím modulů). Ale z uživatelského hlediska pracuje dobře.

    Je lepší si scout nainstalovat z home:prusnak:scout (data jsou z technicko/komprimačních důvodů v home:prusnak:scout-data), který je pravidelně synchronizován se stavem v gitu. Balíčky jsou vytvořeny pro všechny hlavní RPM distribuce (CentOS, RHEL, Fedora, Mandriva, openSUSE/SLE), nicméně data zatím máme jen z openSUSE a projektu jpackage a Packman, takže použitelnost na ostatních distribucích je diskutabilní, ale je způsobena hlavně tím, že nemáme přístup k mirroru (nejlépe přes NFS, nebo jiný síťový FS) jiné distribuce, než je openSUSE/SLE. Spolupráci při tvorbě indexů pro jiné distribuce se nebráníme, i když by to asi chtělo prošťouchnout a upravit skripty, které generují indexy.

    Update:
    * V mezidobí Pavol začlenil patch, který tuto nepříjemnou věc vyřešil.
    **Stejně tak jsem přepsal formátovací kód, který mě v předchozí verzi hrozně lezl na nervy (namísto psaní nových vlastností se bavím tímto).
    A přidán odkaz na wiki stránku en.opensuse.org/Scout

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    26.6.2008 14:57 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Scout, aneb prohledáváme distribuce
    Jo, jo jedná se o zajímavý tool :-)
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.