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 17:22 | Komunita

Martin Flöser představil na svém blogu projekt XFree KWin. Cílem projektu je rozběhnout správce oken KWin na Waylandu bez XWaylandu [reddit].

Ladislav Hagara | Komentářů: 2
dnes 16:55 | Komunita

Do pátku 29. září probíhá v Praze v hotelu Hilton konference SUSECON 2017 pořádaná společností SUSE. Dění na konferenci lze sledovat na Twitteru. Nils Brauckmann, CEO společnosti SUSE, vítá účastníky konference na YouTube.

Ladislav Hagara | Komentářů: 0
dnes 07:00 | Komunita

Příspěvek na blogu společnosti Yubico informuje o začlenění podpory bezpečnostních klíčů FIDO U2F do Firefoxu Nightly. Dosud bylo možné dvoufázové ověření pomocí FIDO U2F ve Firefoxu zajistit pouze pomocí doplňku.

Ladislav Hagara | Komentářů: 3
dnes 06:00 | Humor

Adobe PSIRT (Adobe Product Security Incident Response Team) neúmyslně zveřejnil (archive) na svém blogu svůj soukromý OpenPGP klíč. Klíč byl revokován a vygenerován nový. Nelze nezmínit xkcd 1553 - Veřejný klíč.

Ladislav Hagara | Komentářů: 1
včera 20:00 | Nová verze

Byla vydána (cgit) verze 0.99 svobodného nelineárního video editoru Pitivi. Jedná se o release candidate verze 1.0. Přehled úkolů, které je nutno ještě dodělat, na Phabricatoru. Pitivi je k dispozici také ve formátu Flatpak.

Ladislav Hagara | Komentářů: 0
včera 17:11 | Komunita

Microsoft s Canonicalem představili linuxové jádro Ubuntu optimalizováno pro cloudové služby Microsoft Azure (linux-azure). Jako výchozí je toto menší a výkonnější jádro použito již v Ubuntu Cloud Images for Ubuntu 16.04 LTS. Canonical zatím nenabízí patchování tohoto jádra za běhu systému (Canonical Livepatch Service).

Ladislav Hagara | Komentářů: 1
včera 14:55 | Komunita

Facebook oznámil, že přelicencuje open source projekty React, Jest, Flow a Immutable.js ze své vlastní kontroverzní licence BSD+Patents na licenci MIT. Stane se tak tento týden s vydáním Reactu 16. Jedním z důvodů přelicencování bylo oznámení nadace Apache, že software pod Facebook BSD+Patents licencí nesmí být součástí produktů pod touto nadací [Hacker News].

Ladislav Hagara | Komentářů: 0
23.9. 21:44 | Nová verze

Po půl roce od vydání verze 9.0 byla vydána verze 10.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
22.9. 18:11 | Nová verze

Společnost Oracle oficiálně oznámila vydání Java SE 9 (JDK 9), Java Platform Enterprise Edition 8 (Java EE 8) a Java EE 8 Software Development Kit (SDK). Java SE 9 přináší více než 150 nových vlastností.

Ladislav Hagara | Komentářů: 0
22.9. 12:11 | Komunita

Na Humble Bundle lze získat hororovou počítačovou hru Outlast (Wikipedie) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 2
Těžíte nějakou kryptoměnu?
 (5%)
 (3%)
 (17%)
 (75%)
Celkem 573 hlasů
 Komentářů: 23, poslední včera 18:12
    Rozcestník

    Jaderné noviny - 2. 2. 2017: Vendoring v jádře

    22.2. | Redakce | Jaderné noviny | 3289×

    Stav vydání jádra. Citáty týdne: Konstantin Ryabitsev a Ingo Molnár. Vendoring v jádře.

    Stav vydání jádra

    Současný vývojový kernel je 4.10-rc6, vydaný 29. ledna. Linus se obával, že aktivita tentokrát narostla. „Při pohledu do historie se nejedná o velké vydání, protože 4.10 byla celkem klidná, ale je to trochu nepříjemné. Doufal jsem, že konečně uděláme vydání rc7 jako poslední (jak 4.8, tak 4.9 měly rc8), a moc si přeju, aby se vše uklidnilo a aby tak mohlo k vydání dojít podle obvyklého plánu.“ Označení se znovu změnilo, tentokrát na „Fearless Coyote“.

    Stabilní aktualizace: 4.9.6 a 4.4.45 byly vydány 26. ledna. Verze 4.9.7 a 4.4.46 byly v době psaní tohoto článku revidovány, k jejich vydání došlo 2. února.

    Citáty týdne

    Vzhledem k tomu, že se mě pořád někdo ptá: „hele, proč už nefunguje finger kernel.org?“, jsem si jistý, že mě otázka: „hele, co se stalo s ftp.kernel.org?“ bude pronásledovat až do důchodu.

    Konstantin Ryabitsev

    Distribuční hlavičky UAPI (UAPI headers) fungují slušně ve světě, kde je jádro statickou entitou a neaktualizuje svoje ABI. Tzn. funguje pouze tehdy, když nejsou přítomna žádná rozšíření ABI ze strany jádra. Celý ten přístup kolem distribučních hlaviček UAPI je navržen pro případ, kdy na způsobu sdílení hlaviček záleží nejméně, tedy pro případ stagnace jádra a souvisejících nástrojů…

    Mimochodem, tenhle rigidní, suboptimální, zpožděními zatížený způsob sdílení informací mezi jádrem a nástroji může být jedním z důvodů, proč je obecně nabídka linuxových nástrojů tak mizerná ve srovnání s jinými operačními systémy.

    Ingo Molnár

    Ukončení služby FTP (kernel.org)

    Kernel.org oznámil, že vypne přístup k archivům přes FTP ve dvou fázích: 1. března skončí ftp.kernel.org a 1. prosince bude ukončena činnost mirrors.kernel.org.

    Přiznejme si to, i když je to tak trochu elegantní a pohodlné, nabízet veřejný NFS/CIFS server je Dost Špatný Nápad. Nejen proto, že oba tyto protokoly jsou při vysoké latenci dost hrozné, ale také z významných bezpečnostních důvodů.

    Nuže, po 19 letech si myslíme, že je načase ukončit další službu, která má potenciální problémy spojené s protokolem a bezpečností – naše FTP servery. Naše rozhodnutí je vedeno následujícími úvahami:

    • Protokol je neefektivní a vyžaduje lepení obezliček k firewallům a démonům vyrovnávajícím zátěž.
    • FTP servery nepodporují kešování ani akcelerátory, což má výrazný dopad na výkon.
    • Většina softwarových implementací stagnuje a aktualizace dostává nepravidelně.

    Všechny FTP služby kernel.org budou ukončeny do konce tohoto roku.

    LZ4: Vendoring v jádře

    Robert Lefkowitz ve svém příspěvku na linux.conf.au 2017 hovořil o procesu „vendorizace“ – kopírování kódu z jiných projektů do vlastního repozitáře, namísto přijímání závislostí na těchto projektech. Vendoring je u komerčních projektů běžný, Android tak často činí a Lefkowitz navrhl, že by tato praxe měla být obvyklá i jinde. Vendoring přitom obecně není neznámý a probíhá také v jádře, jak naznačuje současná sada patchů.

    Kompresní algoritmus ZL4 je údajně „velmi rychlý“, zvláště při dekompresi. V rámci testovacích výsledků se ukazuje, že LZ4 poráží dekompresi LZO o faktor čtyř a zlib dokonce řádově. Jedná se o bezztrátový algoritmus, takže se hodí ke kompresi dat, která je nutné obnovit v jejich původní podobě. Nedávné aktualizace přidaly „rychlý“ režim, který umožňuje volajícím ovládat kompromis mezi rychlostí a úrovní komprese.

    Jde si představit, jak by takový druh rychlé komprese mohl být v jádro užitečný. A skutečně jádro funkcionalitu LZ4 od vydání 3.11 z roku 2013 má. Přidal ji Chanho Min, který přebral vydání r90 z repozitáře LZ4 a nacpal ho do jádra do lib/lz4. Rychlý grep ukazuje, že se rychlá komprese v současné době používá v šifrovací vrstvě, v subsystému pstore a v souborovém systému squashfs. V jádře jsou i další místa, která využívají kompresi, aktuálně to však není LZ4.

    Jednou z výhod kopírování kódu do vlastního repozitáře je, že již nejste závislí na externí závislosti. Lefkowitz si myslel, že nezávislost byla tak cenná, že doporučoval kopírování pro jakoukoli závislost s nejvýše 35 miliony řádek. V případě jádra hovoří proti externím závislostem jeden velmi silný argument. Jádro musí být sestaveno jako samostatný program s využitím svých vlastních komplikovaných sad pravidel linkeru. Pravděpodobně je možné vyladit systém sestavení jádra tak, aby bylo možné se linkovat ke knihovnám zvenku, ale dá se předpokládat, že proti takovému kroku by se zvedla vlna odporu. Vývojáři jádra chtějí přesně vědět, co se do výsledného produktu dostane.

    Nevýhodou vendoringu je samozřejmě to, přijdete o všechna vylepšení provedená v původním projektu. Vývojáři LZ4 vydali od roku 2013 řadu verzí, přidali díky nim mnoho funkcí, včetně „rychlého režimu LZ4“. Některé z těchto změn možná opravily chyby, které by v jádře byly bezpečnostního charakteru. Žádná z těchto změn se však v současných jádrech nenachází.

    K začátku roku poslal Sven Schmidt sadu patchů, která aktualizovala LZ4 k vydání projektu ve verzi 1.7.2. Motivací byla touha použít rychlý režim LZ4 v souborovém systému Lustre, ale správně předpokládal, že by rychlého režimu mohly chtít využít také další části jádra. Tyto patche představují celkovou náhradu existujícího kódu LZ4; práce Mina, která měla za cíl přeměnit knihovnu LZ4 do modulu jádra, tím byla replikována.

    Proti upgradu jaderné implementace LZ4 se zatím neobjevily žádné námitky, ale Greg Kroah-Hartman poznamenal, že jeden potenciální problém existuje, a zdůraznil další nebezpečí, spojené s vendoringem. Existující jaderná implementace z roku 2013 nebyla dlouho beze změny, dočkala se mnoha patchů. Některé z nich byly bezpečnostní opravy. Když Schmidt implementaci LZ4 nahradil, nahradil také tyto opravy, takže možná znovu zavedl problémy, které se již podařilo odstranit.

    Jakmile se podařilo k této otázce přitáhnout jeho pozornost, Schmidt souhlasil s tím, že se na patche podívá a ujistí se, že jeho náhrady nevedou k návratu starých problémů. Se štěstím se mu snad podaří začlenit relevantní změny do upstreamu, i když Willy Tarreau namítl, že některé změny jsou přinejmenším specifické pro jádro. Pokud takové změny existují, do upstreamu se pravděpodobně nedostanou a jádro je bude muset udržovat napořád.

    Ujistit se, že nový kód LZ4 obsahuje opravy aplikované na starý kód, není těžký úkol, počet patchů je malý. Naštěstí existují jako samostatné patche, místo aby byly v tichosti vloženy do zdrojového kódu v době, kdy byl kód LZ4 přidán do jádra. Ale jedná se o úkol, na který je třeba myslet pokaždé, když se někdo implementaci LZ4 pro jádro rozhodně aktualizovat. V tomto případě si Kroah-Hartman všiml problému, ale projekt nemůže vždy spoléhat na jeho pozornost, aby nedošlo k regresi u budoucích aktualizací.

    K takovým aktualizacím jistě dříve nebo později dojde. Upstream projektu LZ4 byl v době psaní tohoto článku u verze 1.7.6, došlo k přidání režimu vysoké komprese a opravě chyb, které se objevily od vydání verze 1.7.2. Za nějaký čas bude někdo pracující na jádře chtít, aby se tato vylepšení do něj dostala.

    Jádro obsahuje další zkopírované subsystémy jako LZ4, většinou se jedná o nízkoúrovňový kompresní a šifrovací kód. Každý takový kód představuje určitý typ odpojení od upstreamu projektu (v případech, kdy je původní upstream stále ještě aktivní). Dá se říct, že výrazně modifikovaná jádra pro mobilní a embedded systémy představují za další případ téhož. Místo toho, aby vlastní kód dostali do upstreamu, kopírují ho výrobci z jednoho jádra do druhého.

    Pro vendoring existují pádné důvody, ale jsou s ním spojené skutečné náklady. Převaha vendoringu v celé komunitě naznačuje, že se stále snažíme najít nejlepší způsob, jak integrovat kód vytvořený nezávislými skupinami vývojářů, zvláště jak narůstá rozsah vlastních projektů. Pro tuto chvíli musíme doufat, že až se příště někdo rozhodne aktualizovat knihovnu LZ4 v jádře, nezapomene na staré opravy a ujistí se, že budou přeneseny do nové verze.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    Josef Kufner avatar 22.2. 00:54 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: Jaderné noviny - 2. 2. 2017: Vendoring v jádře
    Ad vendoring: Divím se, že nepoužijí submoduly a vlastní repozitáře (klony upstreamu). Aktualizace by to zjednodušilo a výhody zachovalo.
    Hello world ! Segmentation fault (core dumped)
    pavlix avatar 22.2. 10:19 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jaderné noviny - 2. 2. 2017: Vendoring v jádře
    To bylo taky první, co mě napadlo. Submoduly sice přinášejí drobné komplikace, ale tohle to docela dobře řeší a vypořádá se to elegantně právě i s tím patchováním oproti upstreamu. Ale asi je to samo o sobě velké rozhodnutí, tak bylo prostě pohodlnější to tam nacpat než to řešit nějak víc.
    andree avatar 22.2. 16:22 andree | skóre: 39 | blog: andreeeeelog
    Rozbalit Rozbalit vše Re: Jaderné noviny - 2. 2. 2017: Vendoring v jádře
    Zrovna na ten lz4 by ani submodul nebolo treba - v zasade by asi mohlo stacit naimportovat to na zaciatku ako samostatny branch (aby sedeli commit hash-e), pak to zamergeovat do jadra a je to. Kazdy dalsi update len prida commity z upstreamu, ktore sa znovu zamergeuju. Ale nevidim dovod, aby to nemohlo ist dodatocne (akurat to vyzaduje opatrnejsi pristup)...
    Petr Tomášek avatar 22.2. 10:16 Petr Tomášek | skóre: 37 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Jaderné noviny - 2. 2. 2017: Vendoring v jádře
    Aha, takže tu prasárnu teď začínají nazývat "vendoring". Výsledek bude mnoho kopií zabugovaného kódu, který nikdo neudržuje.

    Ať žijou komerční prasata!
    pavlix avatar 22.2. 10:20 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jaderné noviny - 2. 2. 2017: Vendoring v jádře
    No jo, dřív se tomu říkalo bundling a bylo to špatné.
    Blaazen avatar 22.2. 15:22 Blaazen | skóre: 20
    Rozbalit Rozbalit vše Re: Jaderné noviny - 2. 2. 2017: Vendoring v jádře
    Origoš: Lefkowitz thought that independence was so valuable that he recommended copying for any dependency with less than about 35 million lines.

    Překlad: Lefkowitz si myslel, že nezávislost byla tak cenná, že doporučoval kopírování pro jakoukoli závislost s nejméně 35 miliony řádek.
    Fluttershy, yay! avatar 22.2. 20:26 Fluttershy, yay! | skóre: 81 | blog:
    Rozbalit Rozbalit vše Re: Jaderné noviny - 2. 2. 2017: Vendoring v jádře
    Oops. Ani mně se to moc nezdálo, ale z nějakého záhadného důvodu jsem to tehdy neopravil. Tak díky za připomenutí.

    Založit nové vláknoNahoru

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