Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
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).
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í.
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ě.
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 neobjevili v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
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.
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."
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.
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.
Ačkoliv je abclinuxu server, kde by se dala očekávat vyšší koncentrace linuxových adminů, jsem mnohdy na pochybách. Proto si dovolím připojit na závěr tohoto blogpostu připojit malou anketu. V blogpostu se ale chci zmínit o terminálových multiplexorech a nástrojích, které využívám k souběžné práci na větším počtu vzdálených strojů.
Terminálový multiplexor je aplikace, která umožňuje v mít rámci jedné instance otevřených několik terminálů současně. Kdo nepracuje se vzdáleným strojem přes terminál, tak se bez něj obejde, ale pokud něco řešíte na vzdáleném stroji přes ssh připojení, jde o neocenitelného pomocníka.
Terminálový multiplexor začíná být zajímavý teprve když obsluhujete přes terminálovou konzoli několik strojů současně, nebo pokud potřebujete se vzdáleným strojem pracovat z různých míst.
Mezi nejstarší aplikace tohoto typu patří GNU screen, jehož první release se objevila roku 1987. Já ho začal používat zhruba před 10 lety, abych nemusel v práci čekat než mi na vzdáleném stroji dojede nějaká operace. A používám ho dodnes, pokud chci spustit úlohu u které mě zajímá mě co se vypisuje na monitor.
Spouštím ho po přihlášení přes ssh na vzdáleném stroji – kdybych spustil screen u sebe, tak by to bylo na nic, jelikož by se při vypnutí stroje veškeré operace na vzdálených strojích přerušily.
Základní klávesovou zkratkou, po které následují klávesové skratky pro příslušné akce je (ve výchozím stavu) Ctrl+a
. Po které následuje stisk klávesy d
(detach), pokud potřebuji konzoli odpojit abych mohl odejít. Po tomto příkazu se aktuální instance screenu odpojí od konzole a zůstane dál běžet na pozadí. Pak se můžu odhlásit a jít domů.
Chci-li z domu zkontrolovat, jak zpracování úlohy probíhá, stačí se přihlásit přes ssh
a příkazem screen -r
si odpojenou instanci připojit.
Příkazů pro screen existuje pochopitelně mnohem víc, ale to si můžete dohledat jinde. Tady postačí jen když zmíním, že v rámci jedné instance může existovat více "oken", které lze vertikálně i horizontálně dělit a tak mít – v rámci jednoho "okna" – otevřených několik terminálů současně.
Bohužel screen má jednu zásadní vadu – a to, že tohle rozdělení oken po odpojení nezachová. To byl důvod, proč jsem začal používat tmux. Ten se obsluhuje podobně jako screen. Ve výchozím stavu používá základní terminálovou zkratku Ctrl+b
a tak je schopen koexistence se screenem, aniž by docházelo ke kolizi klávesových zkratek.
I v jeho případě, pokud se po základní klávesové zkratce stiskne klávesa d
(detach) dojde k odpojení spuštěné instance od terminálové konzole. Rozdíl je pouze v tom, že tmux pro opětovné připojení používá klíčové slovo – tmux attach
. Hlavní "killer feature" je, že tmux rozdělení oken zachová a navíc rozměry okna přeškáluje podle aktuální velikosti monitoru. Proto ho využívám především když chci na vzdáleném stroji v rámci jednoho "okna" sledovat několik terminálů současně.
Jelikož disklessový linux vůbec s lokálním diskem nepracuje, neměl jsem dlouhou dobu potřebu pracovat na více strojích současně, dokud jsme nezačali v jedné z učeben využívat diskless linux i pro distribuci a administraci lokálně instalovaných MS Windows.
Aby mohl na linuxových strojích paralelně spouštět import, začal můj kolega Martin využívat pssh (ParallelSSH), které přes vícenásobné (multiply) asynchonní ssh připojení umožňuje paralelně spouštět na vzdálených strojích potřebné příkazy. ParallelSSH však podporuje pouze ověření SSH klíčem, což je nevýhodné pokud potřebujete pracovat souběžně na různých strojích, kde není váš klíč naimportovaný.
U disklessu který používá jeden systém pro všechny stroje tenhle problém nebyl, ale když jsem začal řešit také linuxové stroje v laboratořích kybernetiky, které měly původně systém nainstalovaný lokálně, mi tohle omezení začalo vadit. Ale všiml jsem si, jak kolega který ty laboratoře do té doby řešil, k jejich administraci používá aplikaci cssh (ClusterSSH). A začal jsem ho také používat.
Výhodou cssh je, že si lze rovnou na příkazové řádce generovat seznam strojů s nimiž chci pracovat a také hromadně nastavit uživatele, přes kterého se chci zrovna přihlašovat. Po spuštění se otevře pro každý stroj samostatné terminálové okno, u kterého je pro každou další instanci mírně posunuté barevné schéma. To usnadňuje orientaci, pokud je oken hodně a jsou překrytá záhlaví.
Pokud na cílovém stroji ssh server neběží, nebo je stroj vypnutý nebo vytuhlý, tak se po chvíli otevřená konzole ukončí. Jelikož vím, kde se stroj s příslušnou IP adresou nachází, mohu jít rovnou na místo zkontrolovat jeho stav.
V laboratořích DCE, kde se používá jak disklessový linux, tak lokálně instalované MS Windows, využívám cssh nejenom k tomu abych na strojích vzdáleně pracoval, ale i k tomu, abych zjistil, zda-li na něm zrovna běží MS Windows nebo Linux – viz můj starší blogpost o práci s Windows 10 přes OpenSSH.
Z cssh se mi stal opravdu oblíbený nástroj. Ale s tím, jak se disklessový linux rozšířil do dalších laboratoří, mne práce s hromadou otevřených oken začala stále víc frustrovat. Dokud šlo maximálně o dvacet strojů per laboratoř, tak to bylo v pohodě. ClusterSSH má klávesovou zkratku Alt+r
, po které se otevřené terminály přeskupí do dlaždic. Ale v současné době "pasu" už víc než 180 strojů s různým HW vybavením a v 7 laboratořích (učebnách). Přičemž zrovna ty, ve kterých je strojů nejvíc (po 40 strojích) jsou vytíženy tak že od pondělka do pátku, od půl osmé ráno do šesté večer není jediná pauza, během níž by bylo možné ve všech laboratořích současně otestovat, zdali všechny stroje komunikují jak mají.
Moje oficiální pracovní doba by se měla vejít do rozmezí od 8:00 do 18:00, ale prakticky se dá s laboratořmi pracovat pouze večer, nebo o víkendech a i to se mnohdy nedá, protože se u nás konají i různé víkendové akce, takže v laboratořích pořád někdo ke. Obzvláště ke konci semestru a během zkouškového odbdobí je zcela běžné že studenti straší v laborkách i o víkendech.
A to je největší výhodou disklessu, že po odladění je víceméně bezúdržbový – teda pokud se zrovna nezblázní některý switch. I tak jsem se ale začal poohlížet po řešení, které by mi umožnilo komfortnější způsob práce a zcela náhodou jsem se dozvěděl o terminálovém multiplexoru terminator (Terminator), který má implementované funkcionality umožňující paralelní práci se skupinami terminálů. Super aplikace pro okenní prostředí, která na první pohled vypadá jako tmux, ale je to python + GTK3. Až na ty zdrojáky udržované přes Bazaar. Z toho by jeden blil. Naštěstí existuje distribuční balíček.
Prostřednictvím layoutů a zapnutého broadcastu na vybranou skupinu terminálů by mělo jít dosáhnout podobné funkcionality, jakou nabízí cssh. Ovšem bez toho, že bych měl po monitorech roztahaných desítky oken. Obsah terminálů lze zoomovat a pomocí klávesových zkratek lze s nimi v rámci jednoho okna šoupat dle libosti, aniž by bylo nutné přerovnávat ty ostatní. V podstatě mi chybí pouze jediná funkcionalita – seřazení oken do kaskády.
Tiskni
Sdílej:
Další zásadní nevýhoda (těchto nástrojů obecně) je to, že když odtamtud chceš vykopírovat víceřádkový text, tak se text označuje po řádcích napříč těmi virtuálními okny. Tyhle nástroje byly nejužitečnější v dobách textových terminálů a konsolí (bez X). Ale když už člověk GUI má, tak je lepší i pro tohle používat GUI nástroje (např. rozdělení pohledu v Konsoli nebo to řešit na úrovni DE a mít více oken), které jdou ovládat i klávesnicí.
Další zásadní nevýhoda (těchto nástrojů obecně) je to, že když odtamtud chceš vykopírovat víceřádkový text, tak se text označuje po řádcích napříč těmi virtuálními okny.A nefunguje tam scrollování (samozřejmě to má vlastní scrollback, ale ten nereaguje na grafické posuvníky X terminálu, tažení myší atd.). To je hlavní důvod, proč to nepoužívám.
Další zásadní nevýhoda (těchto nástrojů obecně) je to, že když odtamtud chceš vykopírovat víceřádkový text, tak se text označuje po řádcích napříč těmi virtuálními okny.konsole umí blokové označení - Ctrl + Alt + táhnu myší.
A nefunguje tam scrollování (samozřejmě to má vlastní scrollback, ale ten nereaguje na grafické posuvníky X terminálu, tažení myší atd.). To je hlavní důvod, proč to nepoužívám.V tmuxu mám nastaveno
bind -n M-Pageup copy-mode -eu
(tj. alt + pgup) na vstup do scrollback režimu, funguje mi v tom módu i kolečko myši. Ale osobně mi stačí pgup a pgdown, v lokálních sessions taky používám jen shift+{pgup, pgdown, home, end} a scrollbar nemam zobrazený (popravdě mi moc není jasný, k čemu v terminálu je).
Jak řeší lidé, kteří nepoužívají screen nebo tmux, když chtějí někde spustit nějakou dlouho trvající operaci třeba s nějakým výstupem a mezitim třeba měnit svoji fyzickou lokaci, připojení apod.? tmux mi na tohle přijde krásně pohodlný.
V tmuxu mám nastaveno bind -n M-Pageup copy-mode -eu (tj. alt + pgup) na vstup do scrollback režimu, funguje mi v tom módu i kolečko myši.Hmm. Já dělám velmi často to, že někde začnu označovat a táhnu a ono to scrolluje. A pak taky používám funkci na zkopírování celého scrollback bufferu do schránky (používám Terminator (GTK2 verzi) a tam je na to plugin), to by byl dost opruz implementovat když mi tam běží SSH (muselo by se to připojit na ten stroj a dumpnout scrollback z tam běžícího screenu/tmuxu, kterých navíc může být několik). A dost často potřebuju abych mohl ve scrollbacku hledat i když spojení na vzdálený stroj už není (umřel, reboot, …).
a scrollbar nemam zobrazený (popravdě mi moc není jasný, k čemu v terminálu je)Pro odhad velikosti scrollbacku a kde se v něm zhruba nacházíš. Ano, asi bych dokázal vymyslet praktičtější indikátor.
Jak řeší lidé, kteří nepoužívají screen nebo tmux, když chtějí někde spustit nějakou dlouho trvající operaci třeba s nějakým výstupem a mezitim třeba měnit svoji fyzickou lokaci, připojení apod.?Ano, tohle je jediný use-case, kdy screen používám. (a samozřejmě nadávám když něco spustím bez něj, trvá to dýl než jsem čekal, a reptyr/retty řekne něco o tom že process grupa má blbě filedeskriptory a nejde to přehodit)
a samozřejmě nadávám když něco spustím bez něj, trvá to dýl než jsem čekal, a reptyr/retty řekne něco o tom že process grupa má blbě filedeskriptory a nejde to přehoditpřesně tak
Jak řeší lidé, kteří nepoužívají screen nebo tmux, když chtějí někde spustit nějakou dlouho trvající operaci třeba s nějakým výstupem a mezitim třeba měnit svoji fyzickou lokaci, připojení apod.? tmux mi na tohle přijde krásně pohodlný.
Přesně k tomu ten GNU Screen používám. Ale to ostatní mi přijdou takové rovnáky na ohýbáky. Když už mi tu běží desktop s GUI, tak dává smysl používat primárně GUI nástroje – nikoli textové nástroje, které vznikly v prostředí, kde neexistuje WM nebo DE, takže se správa oken nebo třeba schránka musela řešit jinak a v tom textovém režimu.
Když mi screen/tmux poběží přes SSH na jiném stroji, tak tam asi těžko bude fungovat jeho schránka sdílená mezi jeho instancemi. Já ten text potřebuji dostat do schránky v X, což je standard používaný napříč aplikacemi v mém pracovním prostředí.
Blokové označení sice funguje, ale vloží mi tam zalomení řádků, kde nemá být. Zatímco když v Konsoli vykopíruji třeba dlouhý příkaz (přes několik řádek) nebo dlouhý výpis, který je zalomený tou Konsolí, aby se vešel do okna, tak mi to zachová původní řádky, ale když mi ty řádky zalamuje screen, aby se vešly do jeho oken, a vykopíruji z toho blok textu, tak v něm mám i tato nežádoucí zalomení.
Pokud jde o klávesové zkratky, ty mohou úplně stejně fungovat i v GUI aplikacích. GUI resp grafický režim neimplikuje nutnost používání myši.
Jinak tedy: i když mi tu běží Xka a KDE, tak tu mám plno oken s textovými terminály, běží mi tu Emacs v textovém režimu, docela rád používám Midnight Commander a používám i ten Screen… ale nedělal bych z nouze ctnost – třeba ten mc
používám, protože mi vyhovuje jeho jednoduché UI, používám ho navzdory tomu, že je textový, nikoli proto. (samozřejmě používám i Dolphin, někdy přetahuji soubory myší, někdy kopíruji přes schránku, někdy s nimi pracuji přes příkazový řádek… prostě používám způsob, který mi v danou chvíli přijde nejvhodnější)
Vždyť o tom mluvím výše:
Ale když už člověk GUI má, tak je lepší i pro tohle používat GUI nástroje (např. rozdělení pohledu v Konsoli nebo to řešit na úrovni DE a mít více oken), které jdou ovládat i klávesnicí.
Na tom není co řešit – tohle už je vyřešené – třeba v té Konsoli, ale věřím, že i v jiných emulátorech terminálu. Prostě jen označíš myší kus textu, vykopíruješ třeba do editoru a zachová ti to původní řádky, i když v tom emulátoru terminálu byly zalomené, aby se vešly do okna.
afl-fuzz
, který běžel v několika instancích výsledku asi tejden. Na to ti je lokální GUI k ničemu.
*) Nefungovalo by to pro CLI aplikace kreslící okýnka jinak než pomocí VT box/line drawing charset, ale to většina afaik nedělá.
konsole by mohla vědět o těch "okýnkách" které kreslí curses-based a podobné CLI/TUI aplikace (protože ty informace většinou stejně už má - musí je vést v rámci vt102 state machine a potřebuje je k renderování), takže by mohla umět vybírat text v TUI "okýnku" *.
Byl by k tomu nějaký zdroj? Tohle se mi nějak nezdá.
Asi nemyslíš to, že by Konsole koukala na změny barev nebo hledala znaky jako │ a podle nich odvozovala, že to je okno a text pokračuje na dalším řádku, ne?
Nefungovalo by to pro CLI aplikace kreslící okýnka jinak než pomocí VT box/line drawing charset, ale to většina afaik nedělá.
Aha, takže asi myslíš. To je právě ten rovnák na ohýbák. Jasně, nějaká taková chytristika by tam být mohla, stejně tak by to mohlo umět třeba vybírat sloupce z výpisů relpipe-out-tabular
, ale otázka je proč? Resp. proč nepoužít raději to rozdělení pohledu v Konsoli nebo obdobnou funkci v jiném emulátoru terminálu nebo třeba možnosti DE (klidně dlaždicového) a otevřít si víc oken.
Asi jediný smysl by byl pro vzdáleně běžící aplikace ve screen
u, kde ti stačí jedno SSH spojení přes které protáhneš víc oken a víc výstupů vzdálených aplikací (i když SSH tedy umí multiplexovat a sdílet jedno TCP spojení pro víc relací).
Byl by k tomu nějaký zdroj? Tohle se mi nějak nezdá. Asi nemyslíš to, že by Konsole koukala na změny barev nebo hledala znaky jako │ a podle nich odvozovala, že to je okno a text pokračuje na dalším řádku, ne?TUI aplikace typicky nerenderují znaky jako │ , i když ti to tak může připadat. Viz třeba tady, VT102-like state machine má 4 "sloty" pro "znakovou sadu". Tohle samozřejmě pochází ještě z doby, kdy nebyl Unicode etc., těch znak existuje několik pro různé jazyky + sada pro kreslení rámečků. V praxi se dnes používá pouze sada "US ASCII" (reálně Utf-8), kód 'B' a právě sada pro rámečky - kód '0'. Pomocí příslušných escape sekvencí si aplikace nastaví, která sada má být v jakém slotu a pak aktivuje příslušný slot pro např. kreslení rámečku buď natrvalo nebo pro následující znak. Napiš si do terminálu
echo -e '\e)0\xe'
a sleduj, co se stane Asi jediný smysl by byl pro vzdáleně běžící aplikaceAno, to mám samozřejmě na mysli, však to taky píšu v tom komentáři
Tohle jsem myslel tím, že ten emulátor v podstatě už má ty informace o hranicích těch "okýnek", protože ví, jaký znak kreslí jakou "znakovou sadou"
Zajímavé, dík.
Nechceš to tedy do té Konsole doimplementovat? :-) Asi jako další režim výběru (vedle normálního a blokového), který označoval text uvnitř rámečku.
A jak to dostaneš do nějaké GUI aplikace? Nebo třeba i do textové, ale běžící v jiném okně, na jiné ploše atd.?
pouzivam Byobu(nad tmux), rozlozeni si pamatuje (s trochou kompromisu(mc obnovi jen 1 panel a pokud je mc pres sudo, tak je potreba jit do ciloveho adresare pred pustenim mc) i po rebootu pri pridani tmux-resurrect pluginu), viceradkove kopiruju tak ze dane cast prepnu do fullscreen... pouzivam to primarne na ssh->server->byobu ale i na lokalnim NB, pouzit GUI nastroj nepotrebuju a predpokladam ze bych o cast funkci stejne priselDalší zásadní nevýhoda (těchto nástrojů obecně) je to, že když odtamtud chceš vykopírovat víceřádkový text, tak se text označuje po řádcích napříč těmi virtuálními okny. Tyhle nástroje byly nejužitečnější v dobách textových terminálů a konsolí (bez X). Ale když už člověk GUI má[...]
Spravovat vic jak 10 stroju je prace pro CM (CFEngine, Puppet, Chef, SaltStack, Ansible)Ne když na každém běží úplně jiné věci.
+1, starám se o celkem dost strojů (fyzických bude tak kolem deseti, ale virtuálek mnohem více), ale každý je v podstatě unikátní, každý dělá něco jiného, takže to moc automatizovat nejde. (maximálně tak automatizovat apt update ; apt full-upgrade
)
Tedka se pohybuju v prostredi, kde jdou stroje do tisicu a to je manualne nezvladatelne.Tak to je pochopitelné. Já mám tu výhodu, že se jedná o linuxové desktopy u kterých je žádoucí aby měly podle potřeby identické softwarové vybavení. Toho jsem dosáhl tím, že používám dynamický ramdisk. Stroj dostane z DHCP hostname, a na základě toho se mu předhodí konfigurace do ramdisku. Tím odpadá konfigurace pxe menu, protože je pro všechny stroje stejná. Pochopitelně situace, kdy je třeba instalovat tisíce strojů, které si pak mají žít vlastním životem, nebo mají sloužit pouze jako kontejner pro nějakou webovou appku je to pochopitelně jiné.
Pochopitelně situace, kdy je třeba instalovat tisíce strojů, které si pak mají žít vlastním životem, nebo mají sloužit pouze jako kontejner pro nějakou webovou appku je to pochopitelně jiné.
Ty můžou být taky bezestavové a pokud jich je hodně stejných, tak by to šlo řešit podobným způsobem, jako ty tvoje desktopy. Sice třeba ne přes PXE, ale tak, že by se do nich nezasahovalo, nikdo by je nespravoval a prostě by se celá virtuálka zahodila a spustila by se nová z aktualizované šablony. V případě třeba různých proxy nebo DNS serverů to může být docela dobré řešení, pokud jich má člověk hodně.
Rovnice je: smysl=zisk/namahaAno, toto je dost podstatné. Sám jsem se ansible poctivě snažil používat asi dva roky na skupině stejných serverů do počtu dejme tomu 30 a použití ansible bylo mnohem pomalejší a náročnější, než to dělat ručně. Bylo to v době hype kolem "pokud se přihlašujete na servery ručně přes ssh, tak to děláte blbě" kdy mnozí doporučovali to používat i na jeden stroj. Možná je to tím, že jsem za ty roky praxe se stovkami serverů zvyklý ty věci dělat rychle a na lecos mám svalovou pamět, nebo tím, že mi příliš nevadí občas dělat 30 stejných opakujících se akcí nebo nevím, ale ansible (zkoušel jsem puppet, díval jsem se i na chef, ansible mi přišlo nejlepší) bylo prostě násobně pomalejší a náročnější. Už třeba jen oprava chyb. Když mám v hosts 30 strojů, tak chyba se jedním příkazem dostane na všech 30 a služba na všech strojích nejede*. Je tedy potřeba mnohem více testovat. Když se uklepnu při nastavení jedné služby na jednom stroji, tak to zjistím okamžitě a oprava je prakticky hned. Tj minimální plocha a minimální čas. Chápu, že pro tisíce serverů už je automatizace nutnost a nějaké testování na testovací skupině 100 strojů je součástí práce. Další věcí jsou chybějící moduly. V době, (tj tak dva roky na zpět), když jsem ansible používal, tak krom notoricky provařených věcí chyběly moduly na všechno. Rady "najděte si to na internetu" jsou úsměvné. Prošel jsem si několik modulů, které lidi prezentovali na githubu a všechny byly špatně (nebo ne špatně, ale téměř okamžitě jsem viděl možnost, jak je rozbít). Zcela evidentně je psali lidé, kteří o dané problematice (tj o tom, co se má nastavit) nevěděli vůbec nic a jen nadšeně napsali modul na první use case, který jim fungoval. Toto není profesionální přístup ani vhodné doporučení pro profesionální nástroj. Takže ansible nakonec používám pro primitivnější věci. Sjednocení základních balíčků (všude chci mít nějaké balíčky a je celkem opruz navštívit všechny stroje, pokud se rozhodnu přidat další balíček), výměna klíčů a nějaké základní služby. Určitě by to šlo jinak, dřív jsem měl deb balíček bez obsahu ale s nastavenými závislostmi na jiných balíčkách, takže stačilo udělat update tohoto balíčku a všechny ostatní závislé balíčky se nainstalovaly automaticky. Apod. *) Úplně klasická chyba je správa ssh klíčů. Ansible se připojuje na stroj přes ssh, je prakticky nutné používat klíče a má i modul na správu ssh klíčů. No takže, se stalo, že jsem si takto vymazal přístupové klíče a už jsem se tam nepřihlásil a ansible pochopitelně taky ne. (Komu se nikdy nic podobného nestalo, až si to hodí
A někdo řekne, ano, je to deklarativní popis toho, jak vypadá server. Ale je opravdu? Když přijde někdo nový a zeptá se "jak mám dostat server do provozního stavu" a odpovědí mu je: nainstaluj minimal a spusť tam playbook. Ok, server se mu přivede do produkčního stavu. Potom začne ten playbook studovat a vidí tam Tasky: Remove Apache, Install nginx. No ale na tom jeho stroji žádný apache nebyl. Ten playbook najednou nedává smysl (i když ve výsledku dělá, co má - task remove apache prostě proběhne a po jeho ukončení tak apache skutečně nebude), ale z hlediska dokumentace stroje to příliš smysl nedává.
To mi připomíná aktualizaci datového modelu. Tam ti po letech taky vznikne dlouhý seznam postupných kroků, které historicky dávaly smysl, ale když konfiguruješ nové prostředí, tak tě to fakt nezajímá a nechceš si tou celou historií procházet (byť automatizovaně). Řešením je si tam udělat nějaké „záchytné body“ – typicky pro major verze – které popisují stav v tom bodě. A inkrementálně se nasazují pouze změny zavedené v rámci jednotlivých minor verzí.
Prošel jsem si několik modulů, které lidi prezentovali na githubu a všechny byly špatně (nebo ne špatně, ale téměř okamžitě jsem viděl možnost, jak je rozbít). Zcela evidentně je psali lidé, kteří o dané problematice (tj o tom, co se má nastavit) nevěděli vůbec nic a jen nadšeně napsali modul na první use case, který jim fungoval.Jako bys mi z duše hovořil. A to neplatí bohužel jen pro ansible a orchestrační nástroje.
1
true
true
true
true
true
true
U disklessu se také využívá swapovací oddíl, pokud existuje. Ale ty stroje mají různou HW kombinaci, což vyžaduje plnou kontrolu nad tím co se děje, a to ansible nezajistí. Přes hromadný vzdálený přístup velice rychle – vizuálním srovnáním – zjistím, u kterých strojů jsou přehozené disky, kde chybí swap, který stroj má málo paměti, kde se v dmesgu objevují chyby. A případně mohu odstartovat smart aby se disky otestovaly. & etc. & etc. Fantazii se meze nekladou.Tak na tohle pouzivam monitoring, ktery zjisti, jak se veci maji a v pripade neschody me na to upozorni. A protoze si nehodlam pamatovat kraviny, tak jak maj veci vypadat mam napsane v souboru. A kdyz uz jsem se obtezoval to nekam napsat, tak mam ansible, aby zajistilo, ze je vsechno udelane tak jak bylo definovano.
…ale prislo mi to jen jako oda na cssh (nic proti tomu).No tak to ti opravdu jen tak přišlo, poněvadž primárně jsem chtěl upozornit na terminator, který umí něco podobného, ba i něco navíc.
…a pokud mozno tezce nahraditelny :)Ó kéž by tomu tak bylo. V takovém případě skonám s klidem v duši, až mě skolí někdo na přechodu. Bohužel realita se zdá být poněkud jiná. Pokud bys věděl o takových náhradách, sem s nimi. Rád jim svoje know-how předám dřív než na to dojde.
~/.ssh/config
distribuciu ssh kluca na vzdialeny server riesi ssh-copy-id
inak pekny prehlad, vdaka!
Máš pro každý vzdálený server unikátní pár klíčů?