Best practice érdekelne.
A saját Linuxos laptopomon (most épp Debian stable, néha Debian testing) időnként kézzel aptitude-ot indítok és telepítem a frissítéseket. A KDE-nek van egy frissítés figyelő cucca, szóval néha szól, hogy van x frissíthető csomag, vagy van y biztonsági frissítés. Ilyenkor indítom az aptitude-ot és frissítek. De ha nem szól, akkor is időnként ránézek, hogy van-e újdonság.
Sok évvel ezelőtt, amikor még Linuxos szervereket is karbantartottam, hasonló volt a megközelítés: Debian stable, és időnként ránéztem, hogy van-e frissítés. Ha a saját laptopomon láttam, hogy biztonsági frissítés van, akkor a szervereken is végignéztem azonnal, de egyébként ugye Stable-hez nem jön túl gyakran frissítés, és nem okozott gondot az, ha mondjuk egy csomagból egy újabb verzió nem a kiadás után 2-3 hanem mondjuk 8-10 nappal került fel.
Volt olyan gép, ahol telepítettem az unattended upgrade vagy valami hasonló nevű csomagot, és rábíztam, hogy rendszeresen nézze meg, van-e frissítés, és ha van security, akkor azt ő maga tegye is fel.
Biztos ezt is lehetne sokkal profibban csinálni, központilag vezérelve, automatikus figyeléssel riasztással akármi, de nem ez a része érdekel a dolognak.
Mostanában a linuxos laptop mellett van néhány raspbian-t vagy armbian-t futtató kis céleszközöm, amikre nem szoktam belépni interaktív shellbe gyakran. Ha belépek nagy ritkán, akkor persze szoktam frissíteni, de ez pl. zavar, hogy ritkán történik.
A másik gond, hogy ezeken az eszközökön vannak olyan programok, amik nem a Debian részei, és így a szokásos frissítési eljárásomból kimaradnak.
Pl. BananaPi-ből épített NAS-on van egy docker, és a dockerben egy Plex. Az aptitude boldogan frissíti a docker keretrendszert (nagy ritkán, amikor valami miatt épp belépek), de maga a Plex image nem frissül, ha épp nem jut eszembe, hogy a NAS admin weboldaláról indulva több lépésen keresztül oda nem jutok, hogy megnézzem, van-e frissítés, és ha van, akkor ott a weboldalról fel is tegyem azt.
Szóval az érdekelne, hogy ti a hasonló dolgokat hogyan csináljátok. Kézzel? Scripttel? Valami felügyelő programmal?
Nem néztem utána, de bizonyára a Plex docker image-et lehetne az admin weboldal helyett simán docker parancsokkal is frissíteni, és ezekből bizonyára lehetne könnyen shell scriptet készíteni és azt meg betenni a crontabba.
De ez a jó irány? Vagy van jobb? Vagy nem kell ez se?
- 1027 megtekintés
Hozzászólások
Lefagyasztom, és mikróban felmelegítem, ha épp frissen szeretném...
- A hozzászóláshoz be kell jelentkezni
Akkor Chef, nem Puppet.
Ertem.
- A hozzászóláshoz be kell jelentkezni
Nem kell ezt központi felügyelő programmal bonyolítani, az csak akkor lenne célravezető, ha nagyon sok gépet kéne menedzselned, mondjuk céges szinten. Így érdemesebb a szög egyszerű megoldások felé tendálni, pl. az, amit írsz, hogy írsz rá egy shell scriptet, és azt automatizálod, pl. írsz hozzá egy pár soros systemd service-t, ami x időnként lefuttatja a scriptet. Még cron sem kell, a legtöbb systemd-s disztrón nincs is default, külön kell telepíteni, konfigurálni. De ha azt ismered, cronban is csinálhatod, nagyon azzal sem lehet mellényúlni. A lényeg, hogy túlbonyolítani nem kell, meg minden sz@rt feltelepíteni a gépre, csak azért, hogy professzionálisabb legyen. Legtöbbször a legegyszerűbb megoldások a leghatékonyabbak, ugyanis egy megoldás minél bonyolult, annál nagyobb a kódbázisa, annál inkább eltörik frissítéskor, disztróupgrade-kor, annál inkább több sechole/támadhatósági pont lesz benne, annál jobban növeli a rendszer hardverigényét.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Nálam, otthon: időnként indítok dist-upgrade-t a gépen (openSUSE Tumbleweed, ott a sima upgrade nem elég, mindig a dist-upgrade-t javasolják)
Munkahelyen: van egy központi Icinga szerver (egyelőre lusta voltam updatelni, úgyhogy a régi Nagios-fork icinga, nem az új Icinga2), az always on gépekre NRPE-vel belép és a megfelelő check_yum/check_apt/check_anyámtyúkja-t hívogatja, az appliance cuccoknál netről vadászott / saját scriptekkel az API-n keresztül kérdezi le, hogy van-e frissítés, a nem always on gépek pedig úgy vannak beállítva, hogy NRDP-n keresztül jelentsenek időnként, hogy van-e frissítés.
Ha nem akarsz NRPE-t (tényleg plusz aktív daemon, certtel/komplett PKI-vel cseszekedés stb.), a script + NRDP-n jelentés egy teljesen jó megoldás lehet és kb. egy curl kell csak hozzá; windowsokra meg pl. NSClient++ (pl. a szervereken a profile.d-be be van téve egy NRDP hívás, hogy lője át CRITICAL-ra a monitorozóban az utolsó belépést ha valaki shellt indít, amit kézzel submitolva ütök vissza OK-ra indoklással, hogy miért léptem/léptünk be).
BlackY
"Gyakran hasznos ugyanis, ha számlálni tudjuk, hányszor futott le már egy végtelenciklus." (haroldking)
- A hozzászóláshoz be kell jelentkezni
Linuxok (Ubuntu) frissítésére az unattended-upgrades csomagot használom, az felteszi a security update-eket. Ezen túl időnként kézzel megy teljes update. Van, ahol használok aptycron-t, hogy küldjön email-t az elérhető új frissítésekről.
Docker image-ek frissítésére a containrrr/watchtower-t állítottam be. Be lehet állítani, hogy frissítsen vagy csak szóljon...
- A hozzászóláshoz be kell jelentkezni
apt alapból tud csomagot frissíteni automatikusan csak be kell állítani.
- A hozzászóláshoz be kell jelentkezni
Én különválasztottam a prod és nonprod szervereket. A nonprod szerverekre yum-cronnal automatikusan feltelepítem a frissítéseket. A prod szerverek szintén a yum-cron segítségével csak jelzik (e-mail), ha van frissítés. Majd a teszthez képest pár nappal később felteszem a prod gépekre is egy egyszerű ansible-playbook segítségével.
- A hozzászóláshoz be kell jelentkezni
"Majd a teszthez képest pár nappal később felteszem a prod gépekre is" - Azaz a prod pár nappal frissebb lesz, mint a teszt - jó esetben nincs olyan változás közben, ami gondot okoz, rosszabb esetben viszont jön a "deatesztenműködik"...
- A hozzászóláshoz be kell jelentkezni
Azaz a prod pár nappal frissebb lesz, mint a teszt
pont fordítva írtam
Ahogy egyre több alkalmazást migrálok konténerbe, úgy már a fejlesztő sem mondhatja, hogy a teszten működött.
- A hozzászóláshoz be kell jelentkezni
zeller szvsz. arra gondolt, hogy megkapod a figyelmeztetést mondjuk hétfőn, hogy van frissítés (teszten ugye már fenn van), aztán csütörtökön a prod-on kiadsz egy frissítést, ami az _akkori_ legfrissebbet teszi fel... tehát ha a hétfői frissítés rossz volt és mondjuk szerdán is frissült a csomag, csütörtökön a szerdait és nem a napokig tesztelt csomagot fogod feltenni.
BlackY
"Gyakran hasznos ugyanis, ha számlálni tudjuk, hányszor futott le már egy végtelenciklus." (haroldking)
- A hozzászóláshoz be kell jelentkezni
Gondolom, erre helyi mirrort érdemes fenntartani
- A hozzászóláshoz be kell jelentkezni
Áh, értem. Ezt ki lehet küszöbölni, ha a tesztre felrakáskor "felírom" a csomagok verzióját, és csak azokat teszem fel prodra, akkor nem fordulhat elő, hogy a prod frissebb lesz, mint a teszt.
- A hozzászóláshoz be kell jelentkezni
"a tesztre felrakáskor "felírom" a csomagok verzióját" - yum-utils csomag a barátod, abban pedig a yum-debug-dump/yum-debug-restore páros :)
- A hozzászóláshoz be kell jelentkezni
https://documentation.suse.com/sles/12-SP4/html/SLES-all/smt-mirroring…
Úgy rémlik hogy tud redhatot is.
Én mondjuk - már ha olyan a környezet - pl. leállítanám a mirrort a staging idejére, és jónapot.
- A hozzászóláshoz be kell jelentkezni
Én erre anno pulp-ot használtam, tud rpm meg deb repókat is kezelni.
- A hozzászóláshoz be kell jelentkezni
Ezért tartottam minig sokkal elengásabbnak a UNIX/Windows módszert, ahol havi patchsetek vannak, és azt tudod szépen kigörgetni a DEV-TEST-PREPROD-PROD környezetekre.
- A hozzászóláshoz be kell jelentkezni
Lehet, hogy elegánsabb, de jobban örülök annak, ha minél hamarabb megkapom a javítást a Linux szervereimhez. Ebben az esetben van választásom, hogy felteszem-e azonnal, vagy várok még pár napot.
- A hozzászóláshoz be kell jelentkezni
Amikor mindezt 100+ gépen kell végigtolni, akkor nagyon nem buli, hogy tegnap is frissítés, ma is, meg holnap is - é ski tudja, holnapután lesz-e valami... Bónuszként prod környezetben esélyed sincs naponta-kétnaponta-hetente többször frissítés miatt szolgáltatásokat le/fel rángatni, ha úgy adódik.
- A hozzászóláshoz be kell jelentkezni
Bónuszként prod környezetben esélyed sincs naponta-kétnaponta-hetente többször frissítés miatt szolgáltatásokat le/fel rángatni, ha úgy adódik.
a patchek 99 %-a nem okoz semmilyen szolgáltatás kiesést, a többit meg tudom számolni egy kezemen, azzal meg már lehet tervezni
Ha nem lett volna egyértelmű, én a saját tapasztalataimról beszélek a saját környezetemről, nem kell rögtön nekem esni, ha nem egyezik a saját tapasztalatoddal és környezeteddel. A kiindulás az volt, hogy ezzel a "bulival" jóval rövidebb ideig vagyok kiszolgáltatva, mint más rendszerek a havi patchekkel.
- A hozzászóláshoz be kell jelentkezni
szerintem nem arrol van szo hogy buli vagy nem buli, hanem hogy mi okozhat nagyobb problemat ezaltal kiesest, az, ha a foltozatlan rendszert feltorik es helyre kell allitani, vagy az, ha a hibas folt miatt ujra kell telepiteni a program elozo verziojat.
mindenkinek vannak szempontjai, mindenki (vagy mindenki fonoke) el tudja donteni hogy nala melyik szempontok milyen sullyal szamitanak bele a dontesbe.
el tudom kepzelni hogy nalad a foltozatlan rendszerbol adodo arcvesztes kisebb mint a hibas frissitesbol adodo
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
A védelem több rétegű kell, hogy legyen, és a külső rétegeknek kell olyannak lennieük, amiket a védett szolgáltatás(ok) rendelkezésre állásának a kockáztatása nélkül naprakészen lehet tartani.
- A hozzászóláshoz be kell jelentkezni
es nalatok mi szavatolja hogy a kulso reteg 100%-osan megvedi a belsot? hogy nem letezhet res rajta?
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
Nem azt mondtam, hogy a külső réteg ad 100%-hoz közeli védelmet, hanem azt, hogy az, illetve azok a rétegek olyanok, hogy egy hotfixet, egy javítást, egy alkalmazásszintű szűrést úgy lehet rajtuk implementálni/telepíteni, hogy a tényleges core szolgáltatás rendelkezésre állására nincs kihatással. Ez utóbbinak a patchelése meg jellemzően x időnként, tervezette, az SLA-t nem sértve kell, hogy történjen - természetesen kockázatelemzés mellett, azaz ha olyan a sérülékenység, hogy a köré húzott rétegek védelme nem elég, akkor akár soron kívüli szogáltatáskieséssel is. De alapból nem a belső réteget fogom minden esetben pecselni, hanem azt, ami annak a védelmét látja el.
- A hozzászóláshoz be kell jelentkezni
"Bónuszként prod környezetben esélyed sincs naponta-kétnaponta-hetente többször frissítés miatt szolgáltatásokat le/fel rángatni, ha úgy adódik."
mivel nem tudhatom mirol van szo ezert csak altalanossagban tudom azt mondani hogy ilyen esetben esetleg lehetne 2 peldanyban futtatni a szolgaltatast es amig az elsodlegeset frissited addig csak a masodlagoson fut a szolgaltatas, hogy ne legyen kieses. ez azert is jo lehetne, hogy eloszor a masodlagoson frissitel, megnezed hogy minden megfeleloen mukodik-e es az elsodlegeset csak akkor frissited ha ugy van.
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
És honnét tudod hogy várni akarsz, vagy inkább felteszed?
- A hozzászóláshoz be kell jelentkezni
Többek között a frissítendő csomagok listájából látszik, hogy lehet-e azonnal feltenni, vagy meg kell várni a munkaidő végét, esetleg a hétvégét.
A választás szabadsága itt a lényeg.
- A hozzászóláshoz be kell jelentkezni
"egyre több alkalmazást migrálok konténerbe" - és gondolom, a konténerekbe csomagolt komponenseket is rendszeresen frissíted... Mert oká, hogy az OS-ben lévő motyó frissül alatta, de ha a konténerben ócska, lukas csomagok vannak, akkor adtál a sza...nak egy marha nagy taslit...
- A hozzászóláshoz be kell jelentkezni
Természetesen rendszeres időnként (1-2 hónap) új konténert készítek és telepítek.
- A hozzászóláshoz be kell jelentkezni
desktopon a software upgrade szol hogy van frissites, bokok hogy tegye. servereken unattended upgrade, de csak ubuntu hivatalos repo csomagokra, kulos repokra nem (ppa, percona, nodejs, stb). zabbixban van riaszto, igy szol ha ilyen kulsos csomag frissites van, utana kis kesessel kezzel. ha docker-compose futtat valamit ott a configban van "prerunnal" image upgrade, vagy cronbol upgrade. sajat gepen ahol csak a "gyorsan kell valami X kornyezet", kezi docker frissites:
alias docker-upgrade="docker images|cut -f1 -d' '|sort -u|grep -v elbandi|xargs --no-run-if-empty -n1 docker pull"
alias docker-remove="docker images -q --filter 'dangling=true'|xargs --no-run-if-empty docker rmi"
alias docker-clean="docker ps -a | egrep \"Exited|Dead\" | awk '{print \$1}'|xargs --no-run-if-empty docker rm"
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
"unattended upgrade, de csak ubuntu hivatalos repo csomagokra" - Milyen príma is, amikor a jdk-t megfrissíti, és az appszerver maga alá rosál emiatt - sajnos saját tapasztalat, hogy WildFly be tud maga alá fordulni ilyenkor... (Vagy a csillagok állása volt olyan, hogy pont akkor döglött meg a vadlégy, amikor a jdk-t automatice megfrissítette a bubuntu...)
- A hozzászóláshoz be kell jelentkezni
aki appservert futtat az tudja hogy kenyes a javara, kenyes erre-arra, azt szepen blacklistre rakja. az userek nagy %-nak, boven jo. a bash meg az openssl frissulhet :)
raadasul mintha lenne policy arra, hogy sec updateben nem frissulhet config valtozhat meg parameter neve, stb. igy _elmeletben_ nem is szabadna semminek eltornie.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Elméletben nem törhet el, persze, és nem is "eltört", csak épp mivel ki lett alatta cserélve a java, így kellően inkonzisztens környezet alakult ki, ami fejen is vágta az egész java-s szutykot.
- A hozzászóláshoz be kell jelentkezni
jó de javat nem teszünk vasra csak vm-be, azt lelakatoljuk és úgyhagyjuk. A jávának ki kellene pusztulnia de sajnos már látszik hogy nem fog.
GPLv3-as hozzászólás.
- A hozzászóláshoz be kell jelentkezni
apt-dater
- A hozzászóláshoz be kell jelentkezni
Én a helyedben, ha már egynél több eszközöd van, akkor Ansible-lel csinálnám mindezt. Egyszer összedobsz egy inventory-t, ahhoz újra csak akkor kell nyúlni, ha új gépet csapsz hozzá. Aztán egy playbook, ami csomagokat frissít (esetleg valami szűrőfeltétel alapján, hogy ne minden frissüljön, csak ami nem csinálhat nagy bajt neked) nem nagy dolog. A Docker konténert ugyan úgy tudod Ansible-n keresztül frissíteni, majd újraindítani a frisset.
Aztán ezt fokozhatod azzal, hogy a saját gépedről cron-ban futtatod valami gyakorisággal, és akkor tényleg nem kell onnantól hozzá nyúlni sem, nem lehet elfelejteni. Amikor meg lefut, küld neked egy levelet (hogy ne kelljen log állományokat keresgélned a gépeden) arról, hogy melyik gépen mit végzett.
Ha nagyon biztosra mennél, akkor napi szinten futhat egy olyan verzió, ami csak biztonsági frissítéseket tesz fel, aztán heti-havi gyakorisággal meg az a verzió, ami a hétköznapi csomagokat frissíti és Docker konténereket.
- A hozzászóláshoz be kell jelentkezni
Én egy rakás Fedorát terelgetek. Ezek desktop gépek. Jellemzően félévente személyesen vagy ssh-n upgrade-elek a következő release-re, a köztes időben pedig rábízom a dnf-automatic-install.timer nevű systemd triggerelő berendezésre, ami indítja a dnf-automatic-install.service-t, az meg letölt, frissít. De néha ssh-n keresztül kézzel is, de az nem szükségszerűség, inkább csak pótcselekvés. :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
libek frissitesekor nem art a szervizeket ujrainditani ami hasznalja, en erre a needrestart-ot hasznalom
persze jo a windowsos modszer is a reboot
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
"jo a windowsos modszer is a reboot" - ha 2-3 havi rendszerességgel van frissítés, akkor esélyes, hogy kernelből is jön új, úgyhogy a reboot nem kerülhető meg. (Tudom, ksplice meg krenelcare meg hasonlók - de ha az "apróbetűst" is elolvassuk, illetve a saját tapasztalatokat is megnézzük, bizony ezek csak átmeneti megoldást nyújtanak, és az új kernellel való reboot az a biztosabb.
- A hozzászóláshoz be kell jelentkezni
ennel sokkal gyakrabban van lib frissites
https://www.debian.org/security/
ne tevesszen meg az ldb, az libldb1-t is tartalmazott amit a samba-libs is hasznal igy nmbd es smbd restart kell
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
Oké, de nagyobb infrastruktúra esetén nem napi szinten frissíted a gépeket - jó ha adott gépre néhány hetente sort tudsz keríteni teszteléssel, újraindításokkal mindennel együtt, hiszen akár fejlesztők, akár tesztelők, akér éles userek kiszolgálása a cél, és egy szolgáltatás, vagy épp egy komplett gép újraindítása az általában több körös egyeztetés után történhet meg...
- A hozzászóláshoz be kell jelentkezni
en ezt nem latom a forum inditoban hogy gee-nek ilyen problemaja lenne, de lehet hogy nem olvastam el eleg figyelmesen
neked aztan fura humorod van...
- A hozzászóláshoz be kell jelentkezni
Debian esetén nagyon régóta a cron-apt a megoldásom erre. Naponta meghívja az apt-t megnézi, hogy van-e frissítés, beállítás kérdése, hogy telepíti is, vagy csak letölti, esetleg azt sem. Nekem úgy van beállítva, hogy töltse le, és küldjön emailt, így nem kell várni a letöltésre, ha frissíteni kell.
- A hozzászóláshoz be kell jelentkezni