Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.
Slovensko odhalilo ruské součástky ve dvou testovaných zařízeních na zjišťování přestupků v silničním provozu a označilo je za bezpečnostní riziko. S odvoláním na vyjádření slovenského Národního bezpečnostního úřadu (NBÚ) to včera oznámil ministr vnitra Matúš Šutaj Eštok. Zároveň ohlásil ukončení spolupráce svého úřadu s dodavatelem části uvedeného systému, slovenskou společností Soitron. Opozice, která na problematické kamery upozornila už dříve, vyzvala k odvolání ministra vnitra.
Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.
Byla vydána nová verze 3.47 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.13 souvisejícího programovacího jazyka Dart (Wikipedie).
Byla vydána nová verze 26.1 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Bian-May. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Na akci Made by Google 2026 (YouTube) byla oficiálně představena jedenáctá generace telefonů Pixel s novým čipem Google Tensor G6 a hodinky Pixel Watch 5.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se spolu s partnery z dalších zemí připojil ke společnému upozornění (Joint Cybersecurity Advisory) týkajícímu se probíhající kybernetické kampaně skupiny LAUNDRY BEAR zaměřené na uživatele e-mailové platformy Zimbra Collaboration Suite (ZCS) nejméně od července 2025. NÚKIB doporučuje organizacím využívajícím Zimbra Collaboration Suite neprodleně ověřit, zda
… více »Intel vydal 42 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20260811 mikrokódů pro své procesory.
Sny o designu GNOME Shellu, článek s náhledy a videi, představuje dlouhodobou vizi týmu GNOME pro vylepšení uživatelského rozhraní GNOME Shellu. Zatímco nedávné verze přinášely spíše drobné úpravy, designéři nyní plánují zásadnější změny.
Byla vydána nová verze 10.5 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Nově vyžaduje podporu ECC (Elliptic Curve Cryptography) v libcrypto, včetně křivky NISTP521.
Původně jsem měl pro tento blogpost vymyšlený titul "S pimprlaty do Kalkaty aneb vymetání chlévu s Augiášovou pomocí", ale pak mě napadlo, že potenciálního zoufalce, který bude hledat nějaké informace, by asi stěží napadlo pod tímto titulem hledat něco o centralizované údržbě systémové konfigurace počítačů.
Puppet, je systém typu klient/server, navržený pro centralizovanou údržbu operačních systémů. Přičemž i operační systém stroje, na kterém běží serverová část (master), může být jeho klientskou částí (agent) spravován jako u jiných strojů.
Puppet funguje tak, že na stroji master, se vygeneruje pro agenta tzv. manifest, což je soubor, v němž je popsáno jak má systém na klientském nodu vypadat. Na jeho základě pak agent realizuje veškeré operace potřebné k tomu aby dostal systém do příslušného stavu. Instaluje chybějící balíky, odebírá ty co tam být nemají. Nahrazuje či aktualizuje příslušné konfigurační soubory. Aj.
K popisu stavu operačního systému používá Puppet specifický programovací jazyk. Ten je z hlediska syntaxe podobný jazykům s podporou objektového programování. Pod "kapotou" je programovací jazyk Ruby, který lze využít i při zpracování šablon.
Při sestavení manifestu pro klienta se pracuje s tzv. "typy", sestavenými do tříd. Tyto třídy definují stav objektu, jak má vypadat, a pomocí "typů" se realizují konkrétní operace, které je do tohoto stavu dostanou.
Kromě vestavěných "typů" lze vytvářet a používat i vlastní "definované" typy, které se chovají podobně jako funkce. A od verze 2.6 Puppet podporuje také parametrizované třídy. Ačkoliv použití parametrizované třídy vypadá podobně jako použití definovaného typu, je rozdíl především v jejich použití. Zatím co parametrizovanou třídu lze se stejným parametrem použít na různých místech popisu opakovaně, v případě definovaného typu by agent oznámil chybu.
Augeas je konfigurační nástroj, který umí zpracovat nativní formát konfiguračních souborů v systému do editovatelné stromové struktury a jejich modifikovaný obsah uložit zpět tam kam patří. Lze s ním pracovat prostřednictvím nástroje augtool přímo na příkazovém řádku, ale má k dispozici také API, dostupné přes knihovnu napsanou v C. To umí využít Puppet.
Přes Puppet lze udržovat konfigurační soubory i jiným způsobem - kopírovat z centrálního úložiště, nebo generovat pomocí šablon. Ale proč udržovat šablony, nebo soubory v úložišti, když lze konfiguraci ošetřit pouze dílčí úpravou výchozích konfiguračních souborů prostřednictvím Augeasu?
Pokud vás toto téma zaujalo, tak se s ním můžete seznámit víc přes manuál Puppet v naší wiki. Jak se můžete z jeho obsahu přesvědčit, nejde ani zdaleka o uzavřený materiál. Věnuji se Puppetu zhruba rok a stále objevuji jak se přes něj dá vytvořit výsledný popis konfigurace lépe a jednodušeji.
Tenhle blogpost jsem napsal proto, že na spoustu užitečných věcí člověk narazí mnohdy úplnou náhodou. Nebýt kolegy v práci, který mne s Puppetem seznámil, tak bych si jej nejspíš nevšimnul. A nebýt Puppetu, asi bych mi uniknul i tak pěkný nástroj, jakým je Augeas.
Tiskni
Sdílej:
já si přes to spravuji strojů asi pět
aby jej bylo možné automaticky nainstalovat "jedním tahem"
Zaobírám se Puppetem průběžně asi rok
Mno.
My těch strojů máme asi tak pár desítek krát víc a udržujeme je ručně (ano ručně, ssh a příkazy na řádce). Je to nejefektivnější. Puppet, Chef a Foreman a co ja vím co ještě mi mnoho lidí mnohokrát nabízelo jako "nejlepší řešení" problému, který ani nemáme. Proč? 5 strojů a rok (neprioritní průběžné práce?). To si děláš srandu? Tím neříkám, že tyhle nástroje jsou k ničemu. Vůbec ne. Pokud má někdo (deseti)tisíce serverů, tak je ruční práce už mimo reálné možnosti, ale na malé počty je to (podle mě) značně neefektivní.
Nevím, jak by se taková situace řešila u vás, ale pro puppetizované stroje stačí pouze přidat, nebo změnit autorizační klíč v centrálním úložišti.
Úplně jednoduše. useradd a authorized keys. Případně s další pomocí standardních nástrojů GNU.
dojde k přenastavení na původní hodnotyTo jako že něco nastavím na serveru (protože to tak má být nastavené) a puppet mi to za odměnu potom změní pod rukama? To by byla poslední minuta jeho života. Tohle svého času dělaly nějaký "taky security" skripty na mandrivě, nastavil jsem si co jsem potřeboval a za 10minut (nebo jak často se ta mrdka z cronu spouštěla), jsem se na ten server už nedostal (pro rejpaly, samozřejmně dostal, člověk si vždycky poradí).
To jako že něco nastavím na serveru (protože to tak má být nastavené) a puppet mi to za odměnu potom změní pod rukama?Puppet je nástroj pro centralizovanou správu, takže pokud takovým způsobem nějaké zdroje spravuješ, tak ano. Logika věci je totiž taková, že takové věci řešíš nastavením na stroji master, nikoliv na jednotlivých klientech. Ovšem jak už jsem zmínil - Puppet se stará jen o to co má v popisu práce. Pokud se má starat pouze o uživatele A, tak si ostatních uživatelů nevšímá. Pokud mu ale předepíšeš, že uživatel, nebo skupina na klientovi existovat nemá, tak se o to prostě postará. To je snad žádoucí, ne? A pokud nechceš aby se to dělo automaticky, pak není nic snazšího, než pouštět agenta ručně. Já to tak dělám u testovacího prostředí (viz odkazovaný manuál)
Puppet je nástroj pro centralizovanou správu, takže pokud takovým způsobem nějaké zdroje spravuješ, tak ano. Logika věci je totiž taková, že takové věci řešíš nastavením na stroji master, nikoliv na jednotlivých klientech.
Jenže to ale vede právě k té duplicitě, kterou jsem zmínil. Co jde řešit přes Puppet, řešilo by se přes Puppet. Ale co nejde, tak by se řešilo ručně -- jinými slovy, musel by ses stejně učit jak ruční konfiguraci, tak i Puppet. To jsem sám, komu tahle duplicita práce vadí?
personality { 'moula':
uid => 1023,
gid => 100,
managehome => true,
home => '/home/moula',
shell => '/bin/bash',
}
Pokud budu chtít tohoto uživatele zrušit, tak mu jenom přidám parametr absent a při dalším průchodu bude ze všech klientů, kterých se to týká odstraněn. Totéž platí pro změnu kteréhokoliv jiného parametru tohoto uživatele.
Nemusím tedy řešit jednotlivé příkazy na každém stroji zvlášť, byť i s využitím paralelního ssh přístupu. V rámci personality se totiž v případě změny UID či GID provede změna také u všech souborů uživatele, kterých se to týká.
Ano. Mohl bych totéž udělat i pomocí standardních nástrojů, ale musel bych řešit jednotlivé příkazy a především si pohlídat, abych někde na něco nezapoměl.
Takhle má ten uživatel existující záznam a nikdo nezaloží jiného uživatele se stejným UID, i kdyby byl deaktivován, protože by Puppet ihned oznámil chybu.
Konfigurace Puppetu na stroji master je udržována v gitu, takže lze zpětně zjistit, kdo a kdy kterého uživatele přidal, ev. kdy jej odstranil. Z hlediska přehlednosti a srozumitelnosti mi přijde zápis v manifestu jasnější, už jen proto že každý argumet v personality je popsaný a má svůj komentář. Což mi přijde lepší než nějaké extra poznámky, uložené bůhví kde.
K popisu stavu operačního systému používá Puppet specifický programovací jazyk.spíš bych to nazval DSL Ale jinak zkoušel jsi i Chef?
Pokud byste chtěli slyšet něco o Puppetu a Puppet Labs přímo od zakladatele Luka Kaniese, případně se ho na něco zeptat, můžete se zastavit v Plzni na semináři ZČU - Seminář Puppet Labs na ZČU.