[solved] sysadmin help kéne

Fórumok

sziasztok,

centos-os rendszereket menedzselek, viszont egy alkalmazás miatt (kurento media server) be kell raknunk a szervereink közé egy ubuntu-t is. nekem viszont nincs tapasztalatom debian-alapú rendszerek kezelésével. tud valaki mondani olyan tutorialokat, doksikat, amik szárazan és tényszerűen (és nem nulla linuxos sysadmin tapasztalatot feltételezve) el tudják magyarázni a következő dolgokat? ja, és mindezt úgy, hogy a gui-s system toolok eleve kilőve, tehát shell-alapú dolgok kellenének.

- csomagtelepítés, eltávolítás, dependency problémák orvoslása (mint pl. yum --skip-broken), repo-k telepítése és leszedése.
- user adminisztráció (vagy ott is useradd, userdel, groupadd, groupdel?)
- network konfiguráció (ip-k beállítása), tűzfal adminisztráció (minimum annyi, hogy portok nyitása-zárása)
- default helyek (logok, bináris csomagok, usr/share, ilyenek)
- daemon processzek indítása, lelövése, újraindítása, 3-as runlevelben ki-be kapcsolása (centosban chkconfig, server parancsok, vagy neadjisten, systemctl, de azt rühellem)

várom a tippeket, köszi.

Hozzászólások

ja, még egy: limits beállítás (különös tekintettel a nofiles-ra).

Miert nem gyartasz sajat RPM-t? es akkor nem kell egy ubuntu a rendszerbe.
--
"ssh in a for loop is not a solution" – Luke Kanies, Puppet developer

per egy, nem tudok rpm-et gyártani. illetve biztosan tudnék, ha lenne úgy 20 órám megtanulni az elméleti alapokat, és összeszedni azokat a libeket és egyéb dependencyket, amik kellenek hozzá, és utána minden egyes új release-nél eljátszani az egészet, reménykedve, hogy nem kell újra a nullától felépítenem a build chaint.

per kettő, más is próbálkozott már centos alatt fordítani kurentot, és az a néhány topic azóta is nyitva áll, megválaszolatlanul. szóval valami nagy gebasz van az ügyben.

hát, elnézve, hogy még nincs se hivatalos, se totál hivataltalan (hogyvanezmagyarul ehhh, jahh, nemhivatalos) rpm, pedig néhányan nekiugrottak már, no meg a threadekben látott dolgok alapján, de, ördöngősség.

vs egy stock ubuntu telepítése, user/pass párosok létrehozása, kms csomagból telepítése, és valami backup script rádobása az egészre, főleg, ha ansible-el automatizálok: piha.

> csomagtelepítés, eltávolítás, dependency problémák orvoslása (mint pl. yum --skip-broken), repo-k telepítése és leszedése.

man apt-get, man aptitude: amelyik teccik az izlesednek
yum search => apt-cache search

> user adminisztráció (vagy ott is useradd, userdel, groupadd, groupdel?)

Van, de van 'adduser' wrapper is (man adduser).

> network konfiguráció (ip-k beállítása), tűzfal adminisztráció (minimum annyi, hogy portok nyitása-zárása)

/etc/network/interfaces (man interfaces)

Alapbol az ufw csomag kezeli az iptables szabalyokat, ha leszeded, az sem, akkor ugy oldod meg magadnak, ahogy jol esik (pl. iptables-save > /etc/iptables.conf es utana a /etc/rc.local-bol betoltod a boot elejen az iptables-restore paranccsal).

Az rc.local red hat azt hiszem nem 'set -e' -vel fut, itt igen, erre ugyelj.

> default helyek (logok, bináris csomagok, usr/share, ilyenek)

Minden disztribnel ugyanaz nagyjabol, az LFS meghatarozza.
Amugy google, ubuntu wiki.

> daemon processzek indítása, lelövése, újraindítása, 3-as runlevelben ki-be kapcsolása (centosban chkconfig, server parancsok, vagy neadjisten, systemctl, de azt rühellem)

/etc/init.d/SERVICE start|stop

Ha 16.04-et hasznalsz, akkor sysemd itt is.

Maskulonben 'man update-rc.d'.

személy szerint örülök neki és várom is, hogy egységes init alrendszer lesz egyszer minden fontosabb distribúciónál (elvileg), s minél hamarabb haljanak ki az init scriptek, mert azért kaotikus a jelenlegi "kompatibilitási" állapot... és joggal nem szeretik sokan emiatt.

Most már szerintem egész kiforrott lett, de rá kellett szánni a tanulási időt, s így már hasznossága is megjelenik.

amúgy pedig már egy ideje megy Ubuntuban is az alábbi:
service [szolgáltatásnév] stop|start|restart
Azért jó, mert sysvinit, upstart vagy systemd környezetben is teszi a dolgát...

ad1) a service pont compatibility okokból megy, tehát bármennyire is logikus és jól használható, az is el fog halni, és lehet bemagolni a systemctl használatát
ad2) ha jobban megnézi az ember, akkor a systemd által indított szarok jelentős része pont ugyanúgy "vacak" kis shell-script, mint egy másik, értelmes init rendszer esetén, csak sokkal jobban el van ez a része dugva. Ráadásul bizonyos dolgot átírása kb esélytelen shell-script nélküli változatra egymillió segédprogram megírása nélkül. Azaz mostanra lassan mindenki megtanult (khmm, nem-tisztelet-a-kivételnek) init-scriptet írni, most kezdődik újabb 10 év, amire mindenki megtanul systemd specifikus módon shell-scriptet írni, no és addig lesz szopi-szopi rendesen a hudekurvaintelligens systemd-s rendszerrel is.
ad3) mivel a világ FLOSS szoftvereinek jelentős része meglepő módon nem Linux-only, az ilyeneket fejlesztők nem mind fognak áttérni a systemd-script írására, hanem változatlanul a disztribúció összeállítója hekkel egyet - hasonlóan szar verzióban mint eddig amikor a rendszeréhez igazította, csak most a sokkal összetettebb systemd-hez lesz 30-féle megvalósítás.

Félreértés ne essék, ha muszáj, megtanulom a systemd-t is.

mivel egy ideig még fedoraval dolgoztunk, ahol úgy hasított az a bizonyos bleeding edge, hogy gyakran vérátömlesztés kellett volna, ezért volt szerencsém szenvedni úgy jó két évig a systemd-vel, kb. 2014-ig bezárólag. oké, hogy a sysv initscriptek nem leányálmok, de basszus, a systemd scriptekhez képest maguk a zen nirvána. csak három példa:

- kellett egypár spéci utasítást kiadni a mysqld indítása előtt (külön ramdisk mount létrehozása scratch könyvtárnak) és leállítása után (ezt unmountolni). sysv-ban írtam egy külön scriptet az init.d-be, megadtam neki a megfelelő sorrendet, hogy a mysqld start előtt és stop után hajtsa végre boot és shutdown esetén, chkconfig azt puszi, kész. kb. egy óra volt teszteléssel együtt. ugyanezt a systemd-ben megcsinálni úgy, hogy minden egyes mysql-server csomagfrissítés esetén ne kelljen újraírnom a scriptet, kb. fél-egy nap szenvedés volt. mindkettő ugyanazt csinálja, ugyanolyan eredménnyel.

- szintén mysqld, akárhogy próbáltam (konfig, limits, stb), az istennek nem akart a nofile 1024 fölé menni. mert a systemd csakazértis ezt nyomta. volt hivatalos útja, hogy a script bizonyos paramétereit felülbíráljam egy etc/systemd/istentuggya könyvtárba rakott scripttel, követtem is az utasításokat, úgy szarta le, hogy a légfrissítő is köhögött tőle. végül nem maradt más, mint a csomag részeként jelenlevő nyers scriptet módosítani, aztán imádkozni, hogy egy update nem hoz-e olyan változást, hogy írhatom át megint kézzel. ez nem egy fenntartható sysadmin dolog.

- ezen ügyek kapcsán, miután átnyálaztam a dokumentációt és fórumokat, nem találtam egy fontos dolgot, úgyhogy vettem a bátorságot, és írtam a systemd egyik atyaúristenének, poetteringnek. a válasz, khm, nem volt túlságosan finomkodó, leidiótázott, magas lóról beszélt, korántsem a normális FOSS hangvételben*. igaz, nagy nehezen elismerte, hogy hiba van a doksiban, de ő ugyebár fejlesztő, mit törődik ő a doksival. és a híresztelések szerint ő még a kooperatívabb sieverthez képest. tudom, hogy linus sem a diplomáciai érzékéről híres, de ő legalább amit letesz az asztalra, azt általában megköszönjük, és kurvajó. a systemd meg egy rühes nagy bloatware, és igen, megértem, hogy a systemv a modern rendszerekben már túlhaladott sok szempontból (különösen a dinamikusan változó device-hátterű vasaknál), de még mindig nem úgy érzem, hogy a systemd lenne a jó megoldás erre a problémára.

szóval a systemd túl nagy, túl bonyolult, túl sok a hibalehetőség, az előnyei meg -- legalábbis klasszikus szerverkörnyezetben -- nem indokolják a kurva sok munkaórát és szívást, amivel a rá való átállás és a használata jár. pluszba még a fő fejlesztői egomán és nehezen együttműködő programozó-dívák, és ez így együtt nekem sok.

*hogy egy jó példát vegyek a FOSS dologra, a KMS nodejs kliensével, illetve főleg annak dokumentációjával is vannak nagy bajok. de az ottani fejlesztő kölkök tök pozitívan és együttműködően állnak a dologhoz, így a jövő héten valszeg már én is beszállok a doksijaik írásába.

hát egyrészt ugye ez, hogy a docker instanciát akkor is menedzselni kell, másrészt meg több helyen is olvastam, hogy a KMS dockerben időnként eléggé megmagyarázhatatlan bugokat produkál hálózat-használati ügyben, harmadrészt meg a docker normálisan csak centos 7 alatt fut (mert 3-as sorozatú kernel kell neki, a centos 6 line meg 2.6-os kernelre épít), ott meg jöhet a systemd meg egyéb "csodás" dolgok, amit addig próbálok elkerülni, ameddig csak lehet. akkor már inkább egy külön, natív ubuntu.

Ha megfelel, akkor egy minimalista (a teljes pontosság igényét nélkülöző) anyagot tudok küldeni, amivel szakközépben a debian alapú szerverek alap kezelését tanítom.
Évről évre kicsit változik, órán együtt jegyzetelem a diákokkal, tehát jegyzet jellegű, és nem kiskönyv vagy cikk jellegű.
Viszont pont az általad felvetett témákra súlyoz, és minimalista.

Kérek egy mailcímet PÜ-ben, ha igényeled.