{"id":38929,"date":"2019-10-31T22:26:48","date_gmt":"2019-10-31T19:26:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/linux-mnogolikij-kak-rabotat-na-lyubom-distributive\/"},"modified":"2019-10-31T22:26:48","modified_gmt":"2019-10-31T19:26:48","slug":"linux-mnogolikij-kak-rabotat-na-lyubom-distributive","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/linux-mnogolikij-kak-rabotat-na-lyubom-distributive","title":{"rendered":"A Linux soksz\u00edn\u0171: hogyan lehet dolgozni b\u00e1rmely disztrib\u00faci\u00f3val","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"A Linux soksz\u00edn\u0171: hogyan lehet dolgozni b\u00e1rmely disztrib\u00faci\u00f3val\" src=\"\/wp-content\/uploads\/2019\/10\/ee1aaad566204532c974a3ce8f13b915.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOlyan alkalmaz\u00e1s l\u00e9trehoz\u00e1sa, amely b\u00e1rmely disztrib\u00faci\u00f3n m\u0171k\u00f6dik, nem egyszer\u0171 feladat. Ahhoz, hogy a Veeam Agent for Linux m\u0171k\u00f6dj\u00f6n a Red Hat 6 \u00e9s a Debian 6 disztrib\u00faci\u00f3kon, eg\u00e9szen az OpenSUSE 15.1-ig \u00e9s az Ubuntu 19.04-ig, sz\u00e1mos probl\u00e9m\u00e1t kell megoldani, k\u00fcl\u00f6n\u00f6sen figyelembe v\u00e9ve, hogy a szoftvercsomag tartalmaz egy kernel modult.<\/p>\n<p>A cikk a konferenci\u00e1n tartott el\u0151ad\u00e1s anyagai alapj\u00e1n k\u00e9sz\u00fclt <noindex><a rel=\"nofollow\" href=\"https:\/\/linuxpiter.com\/materials\/2636\"> LinuxPiter 2019<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nA Linux nem csup\u00e1n az egyik legn\u00e9pszer\u0171bb oper\u00e1ci\u00f3s rendszer. Val\u00f3j\u00e1ban ez egy platform, amelyen valami egyedit, valami saj\u00e1tot hozhatunk l\u00e9tre. Ennek k\u00f6sz\u00f6nhet\u0151en a Linuxnak sz\u00e1mos disztrib\u00faci\u00f3ja van, amelyek elt\u00e9r\u0151 szoftverkomponens-csoportokkal rendelkeznek. Itt azonban felmer\u00fcl a probl\u00e9ma: ahhoz, hogy a szoftverterm\u00e9k b\u00e1rmely disztrib\u00faci\u00f3n m\u0171k\u00f6dj\u00f6n, figyelembe kell venni a k\u00fcl\u00f6nb\u00f6z\u0151 saj\u00e1toss\u00e1gokat.<\/p>\n<h2>Csomagkezel\u0151k. .deb vs .rpm<\/h2>\n<p>\nKezdj\u00fck azzal a nyilv\u00e1nval\u00f3 probl\u00e9m\u00e1val, hogy a term\u00e9k terjeszt\u00e9se k\u00fcl\u00f6nb\u00f6z\u0151 disztrib\u00faci\u00f3k k\u00f6z\u00f6tt.<br \/>\nA legtipikusabb m\u00f3dja a szoftverterm\u00e9kek terjeszt\u00e9s\u00e9nek az, hogy a csomagot felt\u00f6ltj\u00fck egy t\u00e1rol\u00f3ba, hogy a rendszerbe \u00e9p\u00edtett csomagkezel\u0151 onnan telep\u00edthesse azt.<br \/>\nAzonban k\u00e9t n\u00e9pszer\u0171 csomagform\u00e1tumunk van: <i>rpm<\/i> \u00e9s <i>deb<\/i>. Ez\u00e9rt mindkett\u0151t t\u00e1mogatni kell.<\/p>\n<p>A deb-csomagok vil\u00e1g\u00e1ban a kompatibilit\u00e1s szintje leny\u0171g\u00f6z\u0151. Ugyanaz a csomag egyform\u00e1n j\u00f3l telep\u00edthet\u0151 \u00e9s m\u0171k\u00f6dik a Debian 6-on \u00e9s az Ubuntu 19.04-en is. A csomagok l\u00e9trehoz\u00e1s\u00e1nak \u00e9s kezel\u00e9s\u00e9nek folyamata sor\u00e1n alkalmazott szabv\u00e1nyok, amelyeket a r\u00e9gi Debian disztrib\u00faci\u00f3kban fektettek le, tov\u00e1bbra is \u00e9rv\u00e9nyesek az \u00faj Linux Mint \u00e9s elementary OS eset\u00e9ben is. Ez\u00e9rt a Veeam Agent for Linux eset\u00e9ben elegend\u0151 egy deb-csomag minden hardverplatformhoz.<\/p>\n<p>A rpm-csomagok vil\u00e1g\u00e1ban azonban jelent\u0151s elt\u00e9r\u00e9sek vannak. El\u0151sz\u00f6r is, az\u00e9rt, mert k\u00e9t teljesen f\u00fcggetlen forgalmaz\u00f3 van, a Red Hat \u00e9s a SUSE, amelyek sz\u00e1m\u00e1ra nem sz\u00fcks\u00e9ges a kompatibilit\u00e1s. M\u00e1sodszor, ezeknek a forgalmaz\u00f3knak vannak t\u00e1mogatott \u00e9s k\u00eds\u00e9rleti disztrib\u00faci\u00f3ik. Ezek k\u00f6z\u00f6tt sem sz\u00fcks\u00e9ges a kompatibilit\u00e1s. Ez\u00e9rt a  el6, el7 \u00e9s el8 sz\u00e1m\u00e1ra k\u00fcl\u00f6n csomagok k\u00e9sz\u00fcltek. K\u00fcl\u00f6n csomag a Fedora sz\u00e1m\u00e1ra. Csomagok a SLES11 \u00e9s 12 sz\u00e1m\u00e1ra, valamint k\u00fcl\u00f6n az openSUSE-hoz. A f\u0151 probl\u00e9ma a f\u00fcgg\u0151s\u00e9gekben \u00e9s a csomagok neveiben rejlik. <\/p>\n<h2>A f\u00fcgg\u0151s\u00e9gek probl\u00e9m\u00e1ja<\/h2>\n<p>\nSajnos ugyanezek a csomagok gyakran elt\u00e9r\u0151 neveken szerepelnek k\u00fcl\u00f6nb\u00f6z\u0151 disztrib\u00faci\u00f3kban. Az al\u00e1bbiakban nem teljes lista a veeam csomag f\u00fcgg\u0151s\u00e9geir\u0151l.<\/p>\n<p>EL7 eset\u00e9n:<br \/>\nSLES 12 eset\u00e9n:<\/p>\n<ul>\n<li>libblkid<\/li>\n<li>libgcc<\/li>\n<li>libstdc++<\/li>\n<li>ncurses-libs<\/li>\n<li>fuse-libs<\/li>\n<li>file-libs<\/li>\n<li>veeamsnap = 3.0.2.1185<\/li>\n<\/ul>\n<ul>\n<li>libblkid1<\/li>\n<li>libgcc_s1<\/li>\n<li>libstdc++6<\/li>\n<li>libmagic1<\/li>\n<li>libfuse2<\/li>\n<li>veeamsnap-kmp = 3.0.2.1185<\/li>\n<\/ul>\n<p>\nEnnek eredm\u00e9nyek\u00e9nt a f\u00fcgg\u0151s\u00e9gek list\u00e1ja egyediv\u00e9 v\u00e1lik a disztrib\u00faci\u00f3 sz\u00e1m\u00e1ra. <\/p>\n<p>Rosszabb, amikor a r\u00e9gi csomagn\u00e9v alatt kezd el b\u00fajni egy friss\u00edtett verzi\u00f3. <\/p>\n<p><b>P\u00e9lda:<\/b><\/p>\n<p>A Fedora 24-ben friss\u00fclt a csomag <i>ncurses<\/i> 5-\u00f6s verzi\u00f3r\u00f3l 6-os verzi\u00f3ra. A term\u00e9k\u00fcnket pontosan az 5-\u00f6s verzi\u00f3val \u00e1ll\u00edtott\u00e1k \u00f6ssze, hogy kompatibilis legyen a r\u00e9gi disztrib\u00faci\u00f3kkal. Ahhoz, hogy az 5-\u00f6s verzi\u00f3j\u00fa k\u00f6nyvt\u00e1rat haszn\u00e1lhassuk a Fedora 24-en, a <i>ncurses-compat-libs<\/i>. <\/p>\n<p>ez\u00e9rt a Fedora sz\u00e1m\u00e1ra k\u00e9t csomag jelenik meg, k\u00fcl\u00f6nb\u00f6z\u0151 f\u00fcgg\u0151s\u00e9gekkel. <\/p>\n<p>Tov\u00e1bb izgalmasabb. A disztrib\u00faci\u00f3 k\u00f6vetkez\u0151 friss\u00edt\u00e9se ut\u00e1n a csomag <i>ncurses-compat-libs<\/i> az 5-\u00f6s verzi\u00f3j\u00fa k\u00f6nyvt\u00e1rral nem el\u00e9rhet\u0151. A forgalmaz\u00f3nak k\u00f6lts\u00e9ges a r\u00e9gi k\u00f6nyvt\u00e1rakat \u00faj disztrib\u00faci\u00f3ba hozni. Egy id\u0151 ut\u00e1n a probl\u00e9ma megism\u00e9tl\u0151d\u00f6tt a SUSE disztrib\u00faci\u00f3kban is.<\/p>\n<p>Ennek eredm\u00e9nyek\u00e9nt egyes disztrib\u00faci\u00f3kban el kellett mondani a ny\u00edlt f\u00fcgg\u0151s\u00e9gr\u0151l a <i>ncurses-libs<\/i>, a term\u00e9ket pedig \u00fagy kellett m\u00f3dos\u00edtani, hogy b\u00e1rmely verzi\u00f3j\u00fa k\u00f6nyvt\u00e1rral m\u0171k\u00f6dj\u00f6n.<\/p>\n<p>Egy\u00e9bk\u00e9nt a Red Hat 8-as verzi\u00f3j\u00e1ban m\u00e1r nincs meta-csomag <i>python<\/i>, ami a r\u00e9gi j\u00f3 <i>python 2.7<\/i>. L\u00e9tezik <i>python2<\/i> \u00e9s <i>python<\/i>3. <\/p>\n<h2>Alternat\u00edva a csomagkezel\u0151k sz\u00e1m\u00e1ra<\/h2>\n<p>\nA f\u00fcgg\u0151s\u00e9gekkel kapcsolatos probl\u00e9ma r\u00e9gi \u00e9s r\u00e9g\u00f3ta nyilv\u00e1nval\u00f3. Gondoljunk csak a Dependency hell-re. <br \/>\nA k\u00fcl\u00f6nb\u00f6z\u0151 k\u00f6nyvt\u00e1rakat \u00e9s alkalmaz\u00e1sokat \u00fagy \u00f6sszehangolni, hogy minde k\u00fcl\u00f6nb\u00f6z\u0151 konfliktusok n\u00e9lk\u00fcl stabilan m\u0171k\u00f6dj\u00f6n \u2013 gyakorlatilag ezt a feladatot pr\u00f3b\u00e1lja megoldani minden Linux forgalmaz\u00f3.<\/p>\n<p>Teljesen m\u00e1sk\u00e9pp pr\u00f3b\u00e1lja kezelni ezt a probl\u00e9m\u00e1t a <b>Snappy<\/b> a Canonical-t\u00f3l. Az alap\u00f6tlet: az alkalmaz\u00e1s egy elszigetelt \u00e9s a f\u0151 rendszert\u0151l v\u00e9dett homokoz\u00f3ban m\u0171k\u00f6dik. Ha az alkalmaz\u00e1snak k\u00f6nyvt\u00e1rakra van sz\u00fcks\u00e9ge, azokat egy\u00fctt biztos\u00edtj\u00e1k mag\u00e1val az alkalmaz\u00e1ssal.<\/p>\n<p><b>Flatpak<\/b> ez lehet\u0151v\u00e9 teszi az alkalmaz\u00e1sok futtat\u00e1s\u00e1t a homokoz\u00f3ban, Linux Containers haszn\u00e1lat\u00e1val. A homokoz\u00f3 \u00f6tlet\u00e9t haszn\u00e1lja <b>AppImage<\/b>.<\/p>\n<p>Ezek a megold\u00e1sok lehet\u0151v\u00e9 teszik egy csomag l\u00e9trehoz\u00e1s\u00e1t b\u00e1rmely disztrib\u00faci\u00f3 sz\u00e1m\u00e1ra. Az eset\u00e9ben a <b>Flatpak<\/b> a telep\u00edt\u00e9s \u00e9s az alkalmaz\u00e1s elind\u00edt\u00e1sa m\u00e9g az adminisztr\u00e1tor tudta n\u00e9lk\u00fcl is lehets\u00e9ges.<\/p>\n<p>A f\u0151 probl\u00e9ma az, hogy nem minden alkalmaz\u00e1s tud m\u0171k\u00f6dni a homokoz\u00f3ban. N\u00e9h\u00e1ny k\u00f6zvetlen hozz\u00e1f\u00e9r\u00e9st ig\u00e9nyel a platformhoz. M\u00e1r arra sem besz\u00e9lek a kernel modulokr\u00f3l, amelyek szorosan f\u00fcggenek a kernelt\u0151l \u00e9s sehogy sem illeszkednek a homokoz\u00f3 koncepci\u00f3j\u00e1ba. <\/p>\n<p>A m\u00e1sodik probl\u00e9ma \u2013 a Red Hat \u00e9s SUSE enterprise k\u00f6rnyezet\u00e9ben n\u00e9pszer\u0171 disztrib\u00faci\u00f3k m\u00e9g nem t\u00e1mogatj\u00e1k a Snappy-t \u00e9s a Flatpak-ot. <\/p>\n<p>Ennek megfelel\u0151en a Veeam Agent for Linux nem el\u00e9rhet\u0151 sem a <noindex><a rel=\"nofollow\" href=\"https:\/\/snapcraft.io\/\">snapcraft.io<\/a><\/noindex> sem a <noindex><a rel=\"nofollow\" href=\"https:\/\/flathub.org\/home\">flathub.org<\/a><\/noindex>.<\/p>\n<p>A csomagkezel\u0151k t\u00e9m\u00e1j\u00e1t lez\u00e1rva megjegyzem, hogy van lehet\u0151s\u00e9g teljesen lemondani a csomagkezel\u0151kr\u0151l, \u00e9s egyetlen csomagba egyes\u00edteni a bin\u00e1ris f\u00e1jlokat \u00e9s a telep\u00edt\u0151 scriptet. <\/p>\n<p>Az ilyen bundle lehet\u0151v\u00e9 teszi, hogy egy k\u00f6z\u00f6s csomagot hozzunk l\u00e9tre k\u00fcl\u00f6nb\u00f6z\u0151 disztrib\u00faci\u00f3khoz \u00e9s platformokhoz, interakt\u00edv telep\u00edt\u00e9si folyamatot v\u00e9gezve, a sz\u00fcks\u00e9ges testreszab\u00e1sokat elv\u00e9gezve. Eddig csak VMware-t\u0151l tal\u00e1lkoztam ilyen csomagokkal a Linux sz\u00e1m\u00e1ra.<\/p>\n<h2>A friss\u00edt\u00e9sek probl\u00e9m\u00e1ja<\/h2>\n<p>\n<img decoding=\"async\" alt=\"A Linux soksz\u00edn\u0171: hogyan lehet dolgozni b\u00e1rmely disztrib\u00faci\u00f3val\" src=\"\/wp-content\/uploads\/2019\/10\/aa14b10a434c28541574421d97807de7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nM\u00e9g ha minden f\u00fcgg\u0151s\u00e9gi probl\u00e9ma meg is old\u00f3dik, a program elt\u00e9r\u0151en m\u0171k\u00f6dhet ugyanazon disztrib\u00faci\u00f3n bel\u00fcl. A probl\u00e9ma a friss\u00edt\u00e9sekkel van.<\/p>\n<p>H\u00e1rom friss\u00edt\u00e9si strat\u00e9gia l\u00e9tezik:<\/p>\n<ul>\n<li>A legegyszer\u0171bb - soha nem friss\u00edteni. Be\u00e1ll\u00edtotta a szervert \u00e9s elfelejtette. Mi\u00e9rt lenne sz\u00fcks\u00e9g friss\u00edt\u00e9sekre, ha minden m\u0171k\u00f6dik? A probl\u00e9m\u00e1k az els\u0151 \u00fcgyf\u00e9lszolg\u00e1lati h\u00edv\u00e1skor kezd\u0151dnek. A disztrib\u00faci\u00f3 k\u00e9sz\u00edt\u0151je csak a legfrissebb kiad\u00e1st t\u00e1mogatja. <\/li>\n<li>B\u00edzni lehet a disztrib\u00faci\u00f3 k\u00e9sz\u00edt\u0151j\u00e9ben, \u00e9s automatikus friss\u00edt\u00e9st be\u00e1ll\u00edtani. Ilyen esetben a h\u00edv\u00e1s az \u00fcgyf\u00e9lszolg\u00e1latra val\u00f3sz\u00edn\u0171leg r\u00f6gt\u00f6n a hib\u00e1s friss\u00edt\u00e9s ut\u00e1n t\u00f6rt\u00e9nik.<\/li>\n<li>A manu\u00e1lis friss\u00edt\u00e9si lehet\u0151s\u00e9g csak a tesztel\u00e9si infrastrukt\u00far\u00e1j\u00e1n val\u00f3 ki\u00e9rt\u00e9kel\u00e9s ut\u00e1n a legbiztons\u00e1gosabb, de k\u00f6lts\u00e9ges \u00e9s id\u0151ig\u00e9nyes. Messze nem mindenki engedheti meg mag\u00e1nak ezt.<\/li>\n<\/ul>\n<p>\nMivel a felhaszn\u00e1l\u00f3k k\u00fcl\u00f6nb\u00f6z\u0151 friss\u00edt\u00e9si strat\u00e9gi\u00e1kat alkalmaznak, sz\u00fcks\u00e9ges t\u00e1mogatni a legfrissebb kiad\u00e1st, \u00e9s az \u00f6sszes kor\u00e1bban kiadottat is. Ez bonyol\u00edtja a fejleszt\u00e9si \u00e9s tesztel\u00e9si folyamatokat, \u00e9s t\u00f6bb fejt\u00f6r\u00e9st jelent az \u00fcgyf\u00e9lszolg\u00e1latnak.<\/p>\n<h2>A hardverplatformok sokf\u00e9les\u00e9ge<\/h2>\n<p>\nA k\u00fcl\u00f6nb\u00f6z\u0151 hardverplatformok probl\u00e9m\u00e1t jelentenek, f\u0151k\u00e9nt a nat\u00edv k\u00f3dra vonatkoz\u00f3an. Legal\u00e1bb annyit biztosan meg kellene csin\u00e1lni, hogy a t\u00e1mogatott platformokhoz k\u00fcl\u00f6nf\u00e9le bin\u00e1risokat kell k\u00e9sz\u00edteni.<\/p>\n<p>A Veeam Agent for Linux projektben m\u00e9g mindig nem tudunk t\u00e1mogatni semmit, ami RISC alap\u00fa.<\/p>\n<p>Err\u0151l a k\u00e9rd\u00e9sr\u0151l r\u00e9szletesebben nem szeretn\u00e9k besz\u00e9lni. Csak a f\u0151bb probl\u00e9m\u00e1kat eml\u00edtem: platformf\u00fcgg\u0151 t\u00edpusok, mint p\u00e9ld\u00e1ul <code>size_t<\/code>, strukt\u00far\u00e1k igaz\u00edt\u00e1sa \u00e9s byte order.<\/p>\n<h2>Statikus \u00e9s\/vagy dinamikus linkel\u00e9s<\/h2>\n<p>\n<img decoding=\"async\" alt=\"A Linux soksz\u00edn\u0171: hogyan lehet dolgozni b\u00e1rmely disztrib\u00faci\u00f3val\" src=\"\/wp-content\/uploads\/2019\/10\/dc473aad4ea0818940af7eafdbc641fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nA k\u00e9rd\u00e9s, hogy \"Hogyan linkelj\u00fcnk a k\u00f6nyvt\u00e1rakkal - dinamikusan vagy statikusan?\" meg\u00e9r egy diskurzust.<\/p>\n<p>\u00c1ltal\u00e1ban a C\/C++ alkalmaz\u00e1sok Linux alatt dinamikus linkel\u00e9st haszn\u00e1lnak. Ez nagyszer\u0171en m\u0171k\u00f6dik, ha az alkalmaz\u00e1s kifejezetten egy adott disztrib\u00faci\u00f3hoz k\u00e9sz\u00fclt.<\/p>\n<p>Ha azonban az a c\u00e9l, hogy k\u00fcl\u00f6nb\u00f6z\u0151 disztrib\u00faci\u00f3kat egyetlen bin\u00e1ris f\u00e1jl seg\u00edts\u00e9g\u00e9vel lefedj\u00fcnk, akkor a leg\u00f6regebb t\u00e1mogatott disztrib\u00faci\u00f3ra kell orient\u00e1l\u00f3dnunk. Sz\u00e1munkra ez a Red Hat 6. Ez 4.4-es gcc-t tartalmaz, amely m\u00e9g a C++11 szabv\u00e1nyt sem t\u00e1mogatja. <noindex><a rel=\"nofollow\" href=\"https:\/\/gcc.gnu.org\/projects\/cxx-status.html\">teljesen<\/a><\/noindex>.<\/p>\n<p>A projektet a gcc 6.3-mal \u00e9p\u00edtj\u00fck, amely teljes m\u00e9rt\u00e9kben t\u00e1mogatja a C++14-et. Nyilv\u00e1nval\u00f3, hogy ilyen esetben a Red Hat 6-os k\u00f6rnyezethez a libstdc++-t \u00e9s a boost k\u00f6nyvt\u00e1rakat magunkkal kell vinn\u00fcnk. A legegyszer\u0171bb statikusan linkelni ezeket.<\/p>\n<p>Sajnos nem minden k\u00f6nyvt\u00e1rral lehet statikusan linkelni.<\/p>\n<p>El\u0151sz\u00f6r is, a rendszer k\u00f6nyvt\u00e1rakat, mint p\u00e9ld\u00e1ul. <i>libfuse<\/i>, <i>libblkid<\/i> , dinamikusan kell linkelni, hogy biztosak legy\u00fcnk a kernel kompatibilit\u00e1s\u00e1ban \u00e9s annak moduljaival. <\/p>\n<p>M\u00e1sodszor, licencel\u00e9si szempontb\u00f3l van egy \u00e1rnyalat. <\/p>\n<p>A GPL licenc alapvet\u0151en csak a ny\u00edlt forr\u00e1sk\u00f3d\u00fa k\u00f3ddal val\u00f3 linkel\u00e9st enged\u00e9lyezi. Az MIT \u00e9s BSD enged\u00e9lyezik a statikus linkel\u00e9st, \u00e9s lehet\u0151v\u00e9 teszik a k\u00f6nyvt\u00e1rak projektekbe val\u00f3 integr\u00e1l\u00e1s\u00e1t. Az LGPL viszont l\u00e1tsz\u00f3lag nem ellenkezik a statikus linkel\u00e9ssel, de megk\u00f6veteli, hogy a linkel\u00e9shez sz\u00fcks\u00e9ges f\u00e1jlokat k\u00f6zz\u00e9tegy\u00fck. <\/p>\n<p>\u00c1ltal\u00e1noss\u00e1gban elmondhat\u00f3, hogy a dinamikus linkel\u00e9s haszn\u00e1lata megv\u00e9di az eml\u00edtett f\u00e1jlok ny\u00fajt\u00e1s\u00e1nak k\u00f6telezetts\u00e9g\u00e9t\u0151l.<\/p>\n<h2>C\/C++ alkalmaz\u00e1sok \u00e9p\u00edt\u00e9se<\/h2>\n<p>\nC\/C++ alkalmaz\u00e1sok k\u00fcl\u00f6nb\u00f6z\u0151 platformokhoz \u00e9s disztrib\u00faci\u00f3khoz val\u00f3 \u00e9p\u00edt\u00e9s\u00e9hez elegend\u0151 egy megfelel\u0151 verzi\u00f3j\u00fa gcc-t v\u00e1lasztani vagy \u00f6sszegy\u0171jteni, \u00e9s speci\u00e1lis architekt\u00far\u00e1khoz haszn\u00e1lni a keresztford\u00edt\u00f3kat, \u00f6sszeszedve minden sz\u00fcks\u00e9ges k\u00f6nyvt\u00e1rat. Ez a munka teljes\u00edthet\u0151, de meglehet\u0151sen f\u00e1rads\u00e1gos. \u00c9s nincs garancia arra, hogy a kiv\u00e1lasztott ford\u00edt\u00f3 \u00e9s k\u00f6nyvt\u00e1rak m\u0171k\u00f6d\u0151 verzi\u00f3t biztos\u00edtanak. <\/p>\n<p>Nyilv\u00e1nval\u00f3 el\u0151nye: nagym\u00e9rt\u00e9kben leegyszer\u0171s\u00edti az infrastrukt\u00far\u00e1t, mivel az \u00e9p\u00edt\u00e9si folyamatot egy g\u00e9pen lehet elv\u00e9gezni. Ezen k\u00edv\u00fcl elegend\u0151 egy architekt\u00far\u00e1hoz egy k\u00e9szlet bin\u00e1ris f\u00e1jlt \u00f6sszegy\u0171jteni, \u00e9s azokat csomagokba lehet pakolni k\u00fcl\u00f6nb\u00f6z\u0151 disztrib\u00faci\u00f3khoz. \u00c9ppen \u00edgy k\u00e9sz\u00fclnek a veeam csomagok a Veeam Agent for Linux sz\u00e1m\u00e1ra.<\/p>\n<p>Ezzel a megold\u00e1ssal szemben egyszer\u0171en k\u00e9sz\u00edthet\u00fcnk egy build farmot, vagyis t\u00f6bb g\u00e9pet a csomagol\u00e1shoz. Minden ilyen g\u00e9p biztos\u00edtja az alkalmaz\u00e1s ford\u00edt\u00e1s\u00e1t \u00e9s a csomag elk\u00e9sz\u00edt\u00e9s\u00e9t egy adott eloszt\u00f3 \u00e9s architekt\u00fara sz\u00e1m\u00e1ra. Ebben az esetben a ford\u00edt\u00f3szerver be\u00e1ll\u00edt\u00e1sa \u00e9s a k\u00f6nyvt\u00e1rak kiv\u00e1laszt\u00e1sa elhagyhat\u00f3. R\u00e1ad\u00e1sul a build folyamata k\u00f6nnyen p\u00e1rhuzamos\u00edthat\u00f3. <\/p>\n<p>Igaz, hogy van ennek a megk\u00f6zel\u00edt\u00e9snek egy h\u00e1tr\u00e1nya is: minden eloszt\u00f3 sz\u00e1m\u00e1ra, amely ugyanazon architekt\u00fara keretein bel\u00fcl m\u0171k\u00f6dik, k\u00fcl\u00f6n kell elk\u00e9sz\u00edten\u00fcnk a megfelel\u0151 bin\u00e1ris f\u00e1jlokat. A m\u00e1sik h\u00e1tr\u00e1ny, hogy sok g\u00e9pet kell \u00fczemeltetni, ami jelent\u0151s lemezkapacit\u00e1st \u00e9s RAM-ot ig\u00e9nyel. <\/p>\n<p>\u00cdgy k\u00e9sz\u00fclnek a KMOD csomagok a veeamsnap kernel modulhoz a Red Hat eloszt\u00f3khoz.<\/p>\n<h2>Open Build Service<\/h2>\n<p>\nA SUSE koll\u00e9g\u00e1i megpr\u00f3b\u00e1lt\u00e1k megval\u00f3s\u00edtani a kompromisszumnak egy speci\u00e1lis szolg\u00e1ltat\u00e1st az alkalmaz\u00e1sok ford\u00edt\u00e1s\u00e1hoz \u00e9s csomagol\u00e1s\u00e1hoz \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/openbuildservice.org\/\">openbuildservice<\/a><\/noindex>.<\/p>\n<p>L\u00e9nyeg\u00e9ben ez egy hypervisor, amely l\u00e9trehoz egy virtu\u00e1lis g\u00e9pet, telep\u00edti az \u00f6sszes sz\u00fcks\u00e9ges csomagot, v\u00e9grehajtja az alkalmaz\u00e1s ford\u00edt\u00e1s\u00e1t \u00e9s a csomag elk\u00e9sz\u00edt\u00e9s\u00e9t ebben az elszigetelt k\u00f6rnyezetben, majd ez a virtu\u00e1lis g\u00e9p felszabadul.<\/p>\n<p><img decoding=\"async\" alt=\"A Linux soksz\u00edn\u0171: hogyan lehet dolgozni b\u00e1rmely disztrib\u00faci\u00f3val\" src=\"\/wp-content\/uploads\/2019\/10\/93d2a70c589a7186ecef85a7863e59e8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAz OpenBuildService-ben megval\u00f3s\u00edtott \u00fctemez\u0151 automatikusan meghat\u00e1rozza, hogy h\u00e1ny virtu\u00e1lis g\u00e9pet ind\u00edthatunk a csomagok optim\u00e1lis sebess\u00e9g\u0171 \u00f6ssze\u00e1ll\u00edt\u00e1s\u00e1hoz. A be\u00e9p\u00edtett al\u00e1\u00edr\u00f3 mechanizmus automatikusan al\u00e1\u00edrja a csomagokat, \u00e9s felt\u00f6lti \u0151ket a be\u00e9p\u00edtett t\u00e1rol\u00f3ba. A be\u00e9p\u00edtett verzi\u00f3kezel\u0151 rendszer r\u00f6gz\u00edti a m\u00f3dos\u00edt\u00e1sok \u00e9s \u00e9p\u00edt\u00e9sek t\u00f6rt\u00e9net\u00e9t. Csak annyit kell tenni, hogy felt\u00f6ltj\u00fck a forr\u00e1sainkat a rendszerbe. A szerver fel\u00e1ll\u00edt\u00e1sa sem sz\u00fcks\u00e9ges, haszn\u00e1lhatjuk a ny\u00edlt forr\u00e1st.<\/p>\n<p>Itt azonban van egy probl\u00e9ma: ez a komb\u00e1jn nehezen illeszthet\u0151 a megl\u00e9v\u0151 infrastrukt\u00far\u00e1ba. P\u00e9ld\u00e1ul a verzi\u00f3kezel\u00e9sre nincs sz\u00fcks\u00e9g, m\u00e1r van egy saj\u00e1tunk a forr\u00e1sokhoz. Az al\u00e1\u00edr\u00e1si mechanizmusunk elt\u00e9r\u0151: egy speci\u00e1lis szerver tal\u00e1lhat\u00f3. A t\u00e1rol\u00f3ra sem lenne sz\u00fcks\u00e9g. <\/p>\n<p>Tov\u00e1bb\u00e1, m\u00e1s eloszt\u00f3k t\u00e1mogat\u00e1sa \u2014 p\u00e9ld\u00e1ul a Red Hat \u2014 meglehet\u0151sen gyenge, ami teljesen \u00e9rthet\u0151.<\/p>\n<p>Ennek a szolg\u00e1ltat\u00e1snak az el\u0151nye a SUSE disztrib\u00faci\u00f3 leg\u00fajabb verzi\u00f3j\u00e1nak gyors t\u00e1mogat\u00e1sa. A hivatalos kiad\u00e1si bejelent\u00e9s el\u0151tt a sz\u00fcks\u00e9ges csomagok nyilv\u00e1nos adatt\u00e1rba ker\u00fclnek. Az OpenBuildService el\u00e9rhet\u0151 disztrib\u00faci\u00f3s list\u00e1j\u00e1ban \u00faj jelenik meg. Kiv\u00e1lasztjuk, \u00e9s hozz\u00e1ad\u00f3dik a build tervhez. \u00cdgy az \u00faj disztrib\u00faci\u00f3 verzi\u00f3j\u00e1t gyakorlatilag egy kattint\u00e1ssal hozz\u00e1adhatjuk.<\/p>\n<p>Infrastruktur\u00e1nkban az OpenBuildService seg\u00edts\u00e9g\u00e9vel a KMP csomagok sz\u00e9les v\u00e1laszt\u00e9ka k\u00e9sz\u00fcl a veeamsnap kernel modulhoz a SUSE disztrib\u00faci\u00f3khoz.<\/p>\n<p>Ezut\u00e1n szeretn\u00e9k egy kicsit r\u00e9szletesebben foglalkozni a kernel modulokkal kapcsolatos k\u00e9rd\u00e9sekkel.<\/p>\n<h2>kernel ABI<\/h2>\n<p>\nA Linux kernel modulok t\u00f6rt\u00e9nelmileg forr\u00e1sk\u00f3d form\u00e1j\u00e1ban terjedtek. Ennek az az oka, hogy a kernel k\u00e9sz\u00edt\u0151i nem terhelik magukat azzal, hogy stabil API-t biztos\u00edtsanak a kernel modulok sz\u00e1m\u00e1ra, \u00e9s k\u00fcl\u00f6n\u00f6sen nem a bin\u00e1ris szinten, az \u00fagynevezett kABI-n\u00e1l.<\/p>\n<p>Ahhoz, hogy egy modult \u00e9p\u00edts\u00fcnk a van\u00edlia kernelhez, felt\u00e9tlen\u00fcl sz\u00fcks\u00e9g van \u00e9ppen ennek a kernelnek a header f\u00e1jljaira, \u00e9s csak ezen a kernelen fog m\u0171k\u00f6dni. <\/p>\n<p>A DKMS lehet\u0151v\u00e9 teszi a modulok \u00e9p\u00edt\u00e9si folyamat\u00e1nak automatiz\u00e1l\u00e1s\u00e1t a kernel friss\u00edt\u00e9sekor. Ennek k\u00f6vetkezt\u00e9ben a Debian (\u00e9s annak sz\u00e1mos rokon) t\u00e1rol\u00f3 felhaszn\u00e1l\u00f3i vagy a disztrib\u00fator t\u00e1rol\u00f3j\u00e1b\u00f3l sz\u00e1rmaz\u00f3 kernel modulokat, vagy forr\u00e1sb\u00f3l DKMS seg\u00edts\u00e9g\u00e9vel \u00e9p\u00edtett modulokat haszn\u00e1lnak.<\/p>\n<p>Azonban ez a helyzet nem igaz\u00e1n felel meg az Enterprise szegmens ig\u00e9nyeinek. A propriet\u00e1rius k\u00f3dok terjeszt\u0151i azt akarj\u00e1k, hogy a term\u00e9k\u00fcket m\u00e1r \u00f6sszegy\u0171jt\u00f6tt bin\u00e1risok form\u00e1j\u00e1ban terjessz\u00e9k. <\/p>\n<p>A rendszergazd\u00e1k nem akarj\u00e1k megtartani a fejleszt\u00e9si eszk\u00f6z\u00f6ket a production szervereken biztons\u00e1gi okokb\u00f3l. Az Enterprise Linux disztrib\u00fatorok - mint p\u00e9ld\u00e1ul a Red Hat \u00e9s a SUSE - \u00fagy d\u00f6nt\u00f6ttek, hogy a felhaszn\u00e1l\u00f3ik sz\u00e1m\u00e1ra stabil kABI-t tudnak biztos\u00edtani. Ennek eredm\u00e9nyek\u00e9nt KMOD csomagok alakultak ki a Red Hat sz\u00e1m\u00e1ra \u00e9s KMP csomagok a SUSE sz\u00e1m\u00e1ra.<\/p>\n<p>Ez a megold\u00e1s l\u00e9nyege meglehet\u0151sen egyszer\u0171. Egy adott disztrib\u00faci\u00f3 verzi\u00f3hoz a kernel API fagyasztva van. A disztrib\u00fator bejelenti, hogy p\u00e9ld\u00e1ul a 3.10-es kernelt haszn\u00e1lja, \u00e9s csak olyan jav\u00edt\u00e1sokat \u00e9s fejleszt\u00e9seket v\u00e9gez, amelyek nem \u00e9rintik a kernel fel\u00fcleteit, m\u00edg az els\u0151 kernelhez \u00e9p\u00edtett modulok felhaszn\u00e1lhat\u00f3k minden k\u00f6vetkez\u0151 verzi\u00f3ra \u00fajra\u00e9p\u00edt\u00e9s n\u00e9lk\u00fcl.<\/p>\n<p>A Red Hat bejelentette a kABI kompatibilit\u00e1st a disztrib\u00faci\u00f3 \u00e9letciklusa sor\u00e1n. Ez azt jelenti, hogy a rhel 6.0-ra (2010 novemberi kiad\u00e1s) k\u00e9sz\u00fclt modulnak is m\u0171k\u00f6dnie kell a 6.10-es verzi\u00f3n (2018 j\u00faniusi kiad\u00e1s). Ez majdnem 8 \u00e9v. Term\u00e9szetesen, ez egy viszonylag bonyolult feladat. <br \/>\nT\u00f6bb esetet r\u00f6gz\u00edtett\u00fcnk, amikor a kABI kompatibilit\u00e1si probl\u00e9m\u00e1k miatt a veeamsnap modul megsz\u0171nt m\u0171k\u00f6dni. <\/p>\n<p>Miut\u00e1n a RHEL 7.0-ra k\u00e9sz\u00fclt veeamsnap modul nem volt kompatibilis a RHEL 7.5-\u00f6s kernellel, de egy\u00e9bk\u00e9nt bet\u00f6lt\u0151d\u00f6tt, \u00e9s garant\u00e1ltan \u00f6sszeomlott a szerver, \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy teljesen elhagyjuk a kABI kompatibilit\u00e1st a RHEL 7 eset\u00e9ben. <\/p>\n<p>Jelenleg a KMOD csomag a RHEL 7-hez minden verzi\u00f3ra tartalmaz \u00f6ssze\u00e1ll\u00edt\u00e1st \u00e9s egy scriptet, amely biztos\u00edtja a modul bet\u00f6lt\u00e9s\u00e9t.<\/p>\n<p>A SUSE \u00f3vatosabb megk\u00f6zel\u00edt\u00e9st alkalmazott a kABI kompatibilit\u00e1s \u00fcgy\u00e9ben. Csak egy szolg\u00e1ltat\u00e1scsomagon bel\u00fcl biztos\u00edtj\u00e1k a kABI kompatibilit\u00e1st. <\/p>\n<p>P\u00e9ld\u00e1ul a SLES 12 kiad\u00e1sa 2014 szeptember\u00e9ben t\u00f6rt\u00e9nt. A SLES 12 SP1 m\u00e1r 2015 december\u00e9ben megjelent, teh\u00e1t picivel t\u00f6bb mint egy \u00e9v telt el. Annak ellen\u00e9re, hogy mindk\u00e9t kiad\u00e1s a 3.12-es kernelt haszn\u00e1lja, kABI inkompatibilisek. Nyilv\u00e1nval\u00f3, hogy a kABI kompatibilit\u00e1s fenntart\u00e1sa csup\u00e1n egy \u00e9v alatt sokkal egyszer\u0171bb. Az \u00e9ves kernelfriss\u00edt\u00e9si ciklus nem okozhat probl\u00e9m\u00e1t a modulfejleszt\u0151knek. <\/p>\n<p>A SUSE ilyen politik\u00e1ja k\u00f6vetkezt\u00e9ben nem tapasztaltunk egyetlen kABI kompatibilit\u00e1si probl\u00e9m\u00e1t sem a veeamsnap modulunkkal. Igaz, hogy a SUSE csomagok sz\u00e1ma k\u00f6zel t\u00edzszer nagyobb.<\/p>\n<h2>Jav\u00edt\u00e1sok \u00e9s vissza\u00e1ll\u00edt\u00e1sok<\/h2>\n<p>\nAnnak ellen\u00e9re, hogy a disztrib\u00fatorok arra t\u00f6rekednek, hogy biztos\u00edts\u00e1k a kABI kompatibilit\u00e1st \u00e9s a kernel stabilit\u00e1s\u00e1t, m\u00e9g a teljes\u00edtm\u00e9nyjav\u00edt\u00e1sra \u00e9s a stabil kernel hib\u00e1inak kik\u00fcsz\u00f6b\u00f6l\u00e9s\u00e9re is t\u00f6rekednek. <\/p>\n<p>Ek\u00f6zben az enterprise linux kernel fejleszt\u0151i a saj\u00e1t \"hibajav\u00edt\u00e1saik\" mellett figyelemmel k\u00eds\u00e9rik a van\u00edlia kernel v\u00e1ltoz\u00e1sait, \u00e9s \u00e1tviszik azokat a \"stabil\" verzi\u00f3jukba.<\/p>\n<p>Ez n\u00e9ha \u00faj <noindex><a rel=\"nofollow\" href=\"https:\/\/access.redhat.com\/solutions\/3658111\">hib\u00e1khoz vezet.<\/a><\/noindex>.<\/p>\n<p>A legutols\u00f3 Red Hat 6-os kiad\u00e1s egyik kisebb friss\u00edt\u00e9s\u00e9ben egy hiba l\u00e9pett fel. Ez ahhoz vezetett, hogy a veeamsnap modul garant\u00e1ltan \u00f6sszeomlott a snapshotok felszabad\u00edt\u00e1sakor. Az kernel forr\u00e1sk\u00f3dj\u00e1nak az friss\u00edt\u00e9s el\u0151tti \u00e9s ut\u00e1ni \u00f6sszehasonl\u00edt\u00e1sa sor\u00e1n kider\u00fclt, hogy a hib\u00e1t a backport okozta. Hasonl\u00f3 jav\u00edt\u00e1st v\u00e9geztek a 4.19-es van\u00edlia kerneln\u00e9l. Csak \u00e9ppen a van\u00edlia kernel ezt a jav\u00edt\u00e1st norm\u00e1lisan kezelte, m\u00edg a \"stabil\" 2.6.32-be t\u00f6rt\u00e9n\u0151 \u00e1tvitelkor probl\u00e9ma mer\u00fclt fel a spin-lockkal.<\/p>\n<p>Term\u00e9szetesen mindenkin\u00e9l, mindenhol el\u0151fordulnak hib\u00e1k, de meg\u00e9rte-e 4.19-es k\u00f3dot \u00e1tvinni 2.6.32-be, kock\u00e1ztatva ezzel a stabilit\u00e1st?.. Nem vagyok benne biztos\u2026<\/p>\n<p>A legrosszabb, amikor a \u201estabilit\u00e1s\u201d \u00e9s a \u201emoderniz\u00e1ci\u00f3\u201d k\u00f6z\u00f6tti h\u00faz\u00f3versenyhez a marketing is csatlakozik. A marketingoszt\u00e1lynak arra van sz\u00fcks\u00e9ge, hogy az \u00faj disztrib\u00faci\u00f3 magja stabil legyen, egyr\u00e9szt, m\u00edg m\u00e1sr\u00e9szt m\u00e9gis jobb teljes\u00edtm\u00e9nnyel \u00e9s \u00faj funkci\u00f3kkal rendelkezzen. Ez furcsa kompromisszumokhoz vezet. <\/p>\n<p>Amikor megpr\u00f3b\u00e1ltam \u00f6ssze\u00e1ll\u00edtani egy modult a SLES 12 SP3 4.4-es kernel\u00e9n, meglepetten tapasztaltam, hogy abban a van\u00edlia 4.8-as verzi\u00f3 funkci\u00f3i megtal\u00e1lhat\u00f3ak. V\u00e9lem\u00e9nyem szerint a SLES 12 SP3 4.4-es kernel\u00e9nek blokk I\/O megval\u00f3s\u00edt\u00e1sa ink\u00e1bb hasonl\u00edt a 4.8-ra, mint a SLES 12 SP2 stabil 4.4-es verzi\u00f3j\u00e1ra. Nem tudom meg\u00edt\u00e9lni, hogy a 4.8-b\u00f3l h\u00e1ny sz\u00e1zal\u00e9knyi k\u00f3dot vittek \u00e1t a SLES-es 4.4-be a SP3 sz\u00e1m\u00e1ra, de hogy ezt tov\u00e1bbra is stabil 4.4-k\u00e9nt emlegetni, azt nem tudom. <\/p>\n<p>A legrosszabb az, hogy amikor olyan modulokat \u00edrok, amelyek egyar\u00e1nt j\u00f3l m\u0171k\u00f6dnek k\u00fcl\u00f6nb\u00f6z\u0151 kernel verzi\u00f3kon, m\u00e1r nem lehet a kernel verzi\u00f3ra t\u00e1maszkodni. Figyelembe kell venni a disztrib\u00faci\u00f3t is. J\u00f3, hogy n\u00e9ha lehet hivatkozni egy defini\u00e1l\u00e1sra, amely az \u00faj funkci\u00f3val egy\u00fctt jelenik meg, de erre nem mindig van lehet\u0151s\u00e9g. <\/p>\n<p>Ennek eredm\u00e9nyek\u00e9nt a k\u00f3d furcsa felt\u00e9teles ford\u00edt\u00e1si direkt\u00edv\u00e1kkal gyarapszik.<\/p>\n<p>Tal\u00e1lkozni lehet olyan jav\u00edt\u00e1sokkal is, amelyek megv\u00e1ltoztatj\u00e1k a dokument\u00e1lt kernel API-t. <br \/>\nBel\u00e9ptem egy disztrib\u00faci\u00f3ba <noindex><a rel=\"nofollow\" href=\"https:\/\/neon.kde.org\/\">KDE neon<\/a><\/noindex> 5.16 \u00e9s nagyon meglep\u0151dtem, amikor l\u00e1ttam, hogy a lookup_bdev h\u00edv\u00e1sa ebben a kernel verzi\u00f3ban megv\u00e1ltoztatta a bel\u00e9p\u0151 param\u00e9terek list\u00e1j\u00e1t.<\/p>\n<p>Az \u00f6ssze\u00e1ll\u00edt\u00e1shoz hozz\u00e1 kellett adnom a makefile-hoz egy szkriptet, amely ellen\u0151rzi, hogy a lookup_bdev funkci\u00f3nak van-e mask param\u00e9tere.<\/p>\n<h2>Kernel modulok al\u00e1\u00edr\u00e1sa<\/h2>\n<p>\nDe t\u00e9rj\u00fcnk vissza a csomagok terjeszt\u00e9s\u00e9nek k\u00e9rd\u00e9s\u00e9hez.<\/p>\n<p>A stabil kABI egyik el\u0151nye, hogy a kernel modulokat bin\u00e1ris f\u00e1jlk\u00e9nt al\u00e1 lehet \u00edrni. Ebben az esetben a fejleszt\u0151 biztos lehet abban, hogy a modul nem s\u00e9r\u00fclt meg v\u00e9letlen\u00fcl, vagy nem m\u00f3dos\u00edtott\u00e1k sz\u00e1nd\u00e9kosan. Ezt a modinfo parancs seg\u00edts\u00e9g\u00e9vel lehet ellen\u0151rizni. <\/p>\n<p>A Red Hat \u00e9s a SUSE disztrib\u00faci\u00f3k lehet\u0151v\u00e9 teszik a modul al\u00e1\u00edr\u00e1s\u00e1nak ellen\u0151rz\u00e9s\u00e9t, \u00e9s csak akkor t\u00f6ltik be, ha a rendszerben be van jegyezve a megfelel\u0151 tan\u00fas\u00edtv\u00e1ny. A tan\u00fas\u00edtv\u00e1ny egy nyilv\u00e1nos kulcs, amellyel a modult al\u00e1\u00edrj\u00e1k. Ezt k\u00fcl\u00f6n csomag form\u00e1j\u00e1ban terjesztj\u00fck.<\/p>\n<p>A probl\u00e9ma az, hogy a tan\u00fas\u00edtv\u00e1nyok be\u00e9p\u00edthet\u0151k a kernelbe (ezeket az \u00e9rt\u00e9kes\u00edt\u0151k haszn\u00e1lj\u00e1k), vagy az EFI nem volatilis mem\u00f3ri\u00e1j\u00e1ba kell \u00edrni \u0151ket egy seg\u00e9dprogram seg\u00edts\u00e9g\u00e9vel. <i>mokutil<\/i>. Seg\u00e9dprogram <i>mokutil<\/i> a tan\u00fas\u00edtv\u00e1ny telep\u00edt\u00e9sekor a rendszer \u00fajraind\u00edt\u00e1s\u00e1t k\u00e9ri, \u00e9s a m\u0171velet el\u0151tt, m\u00e9g a m\u0171k\u00f6d\u00e9si rendszer bet\u00f6lt\u0151d\u00e9se el\u0151tt, lehet\u0151s\u00e9get ad az adminisztr\u00e1tornak, hogy enged\u00e9lyezze az \u00faj tan\u00fas\u00edtv\u00e1ny bet\u00f6lt\u00e9s\u00e9t. <\/p>\n<p>\u00cdgy a tan\u00fas\u00edtv\u00e1ny hozz\u00e1ad\u00e1sa fizikai adminisztr\u00e1tori hozz\u00e1f\u00e9r\u00e9st ig\u00e9nyel a rendszerhez. Ha a g\u00e9p valahol a felh\u0151ben vagy egyszer\u0171en egy t\u00e1voli szerveren tal\u00e1lhat\u00f3, \u00e9s csak h\u00e1l\u00f3zaton kereszt\u00fcl el\u00e9rhet\u0151 (p\u00e9ld\u00e1ul ssh-n kereszt\u00fcl), akkor a tan\u00fas\u00edtv\u00e1ny hozz\u00e1ad\u00e1sa lehetetlen. <\/p>\n<h2>EFI virtu\u00e1lis g\u00e9peken<\/h2>\n<p>\nB\u00e1r az EFI m\u00e1r r\u00e9g\u00f3ta t\u00e1mogatott szinte minden alaplapgy\u00e1rt\u00f3 \u00e1ltal, az adminisztr\u00e1tor a rendszer telep\u00edt\u00e9sekor nem biztos, hogy figyelembe veszi az EFI sz\u00fcks\u00e9gess\u00e9g\u00e9t, \u00e9s az ki is lehet kapcsolva. <\/p>\n<p>Nem minden hypervisor t\u00e1mogatja az EFI-t. A VMWare vSphere az 5-\u00f6s verzi\u00f3t\u00f3l kezd\u0151d\u0151en t\u00e1mogatja az EFI-t. <br \/>\nA Microsoft Hyper-V szint\u00e9n kapott EFI t\u00e1mogat\u00e1st a Hyper-V for Windows Server 2012R2-t\u0151l kezd\u0151d\u0151en. <\/p>\n<p>Azonban az alap\u00e9rtelmezett be\u00e1ll\u00edt\u00e1s szerint ez a funkci\u00f3 a Linux g\u00e9pek eset\u00e9ben ki van kapcsolva, \u00edgy a tan\u00fas\u00edtv\u00e1ny telep\u00edt\u00e9se nem lehets\u00e9ges. <\/p>\n<p>A vSphere 6.5-ben az opci\u00f3t <b>Secure Boot<\/b> csak a r\u00e9gi Flash-alap\u00fa webes fel\u00fcleten kereszt\u00fcl lehet be\u00e1ll\u00edtani. A HTML-5 alap\u00fa Web UI m\u00e9g mindig jelent\u0151sen elmarad.<\/p>\n<h2>K\u00eds\u00e9rleti disztrib\u00faci\u00f3k<\/h2>\n<p>\nV\u00e9g\u00fcl n\u00e9zz\u00fcnk meg n\u00e9h\u00e1ny k\u00eds\u00e9rleti disztrib\u00faci\u00f3t \u00e9s a hivatalos t\u00e1mogat\u00e1s n\u00e9lk\u00fcli disztrib\u00faci\u00f3kat. Egyr\u00e9szt ezek a disztrib\u00faci\u00f3k val\u00f3sz\u00edn\u0171leg nem fordulnak el\u0151 komoly szervezetek szerverein. Ezeknek a disztrib\u00faci\u00f3knak nincs hivatalos t\u00e1mogat\u00e1suk. Ez\u00e9rt a term\u00e9k technikai t\u00e1mogat\u00e1s\u00e1t ilyen disztrib\u00faci\u00f3kon nem lehet biztos\u00edtani. <\/p>\n<p>Azonban ezek a disztrib\u00faci\u00f3k k\u00e9nyelmes platformot ny\u00fajtanak \u00faj k\u00eds\u00e9rleti megold\u00e1sok kipr\u00f3b\u00e1l\u00e1s\u00e1ra. P\u00e9ld\u00e1ul a Fedora, az OpenSUSE Tumbleweed vagy a Debian Unstable verzi\u00f3i. Ezek viszonylag stabilak. Mindig \u00faj programverzi\u00f3kat tartalmaznak, \u00e9s mindig \u00faj kernel van benn\u00fck. Egy \u00e9v m\u00falva ez a k\u00eds\u00e9rleti funkci\u00f3 megjelenhet a friss\u00edtett RHEL, SLES vagy Ubuntu verzi\u00f3kban. <\/p>\n<p>Teh\u00e1t ha valami nem m\u0171k\u00f6dik egy k\u00eds\u00e9rleti disztrib\u00faci\u00f3n, az arra \u00f6szt\u00f6n\u00f6z, hogy vizsg\u00e1ljuk meg a probl\u00e9m\u00e1t \u00e9s oldjuk meg azt. Fel kell k\u00e9sz\u00fclni arra, hogy ez a funkci\u00f3 hamarosan megjelenik a felhaszn\u00e1l\u00f3k produkci\u00f3s szerverein.<\/p>\n<p>A jelenlegi, hivatalosan t\u00e1mogatott 3.0 verzi\u00f3j\u00fa disztrib\u00faci\u00f3k list\u00e1j\u00e1t tanulm\u00e1nyozhatja. <noindex><a rel=\"nofollow\" href=\"https:\/\/helpcenter.veeam.com\/docs\/agentforlinux\/userguide\/system_requirements.html?ver=30\">itt<\/a><\/noindex>De a val\u00f3s disztrib\u00faci\u00f3k list\u00e1ja, amelyeken a term\u00e9k\u00fcnk m\u0171k\u00f6dik, sokkal sz\u00e9lesebb.<\/p>\n<p>Sz\u00e1momra \u00e9rdekes k\u00eds\u00e9rlet volt az 'Elbrusz' oper\u00e1ci\u00f3s rendszerrel. A veeam csomag \u00e1tdolgoz\u00e1sa ut\u00e1n term\u00e9k\u00fcnk telep\u00fclt \u00e9s m\u0171k\u00f6d\u00f6tt. Err\u0151l a k\u00eds\u00e9rletr\u0151l \u00edrtam a Habr-on. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/veeam\/blog\/447960\/\">a Spotify d\u00f6nt\u00e9shozatali m\u00f3dszertan\u00e1r\u00f3l. Egyre t\u00f6bb felhaszn\u00e1l\u00f3 prefer\u00e1lja a zenehallgat\u00e1st mobilon a streaming szolg\u00e1ltat\u00e1sban, de a c\u00e9gn\u00e9l t\u00falnyom\u00f3r\u00e9szt webprogramoz\u00f3k dolgoznak. A Spotify elemezte ezt a helyzetet, \u00e9s \u00fagy d\u00f6nt\u00f6tt, hogy t\u00f6bb mobilfejleszt\u0151t vesz fel, valamint \u00e1tnevezi a webes szakembereket \u00faj ir\u00e1nyba:<\/a><\/noindex>. <\/p>\n<p>A t\u00e1mogat\u00e1s \u00faj disztrib\u00faci\u00f3k sz\u00e1m\u00e1ra tov\u00e1bb folytat\u00f3dik. A 4.0 verzi\u00f3 megjelen\u00e9s\u00e9re sz\u00e1m\u00edtunk. Hamarosan \u00e9rkezik a b\u00e9ta, figyeljenek a friss\u00edt\u00e9sekre. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.veeam.com\/whats-new-linux-agent.html\">whats-new<\/a><\/noindex>!<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/veeam\/blog\/471226\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0435 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 \u2014 \u0437\u0430\u0434\u0430\u0447\u043a\u0430 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u0430\u044f. \u0427\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 Veeam Agent for Linux \u043d\u0430 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 \u043e\u0442 Red Hat 6 \u0438 Debian 6, \u0434\u043e OpenSUSE 15.1 \u0438 Ubuntu 19.04 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043f\u0435\u043a\u0442\u0440 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0443\u0447\u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u0432\u0445\u043e\u0434\u0438\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u044f\u0434\u0440\u0430. \u0421\u0442\u0430\u0442\u044c\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043f\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29206,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38929","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/linux-mnogolikij-kak-rabotat-na-lyubom-distributive\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Linux \u043c\u043d\u043e\u0433\u043e\u043b\u0438\u043a\u0438\u0439: \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/linux-mnogolikij-kak-rabotat-na-lyubom-distributive\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:26:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:26:48+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Linux soksz\u00edn\u0171: hogyan dolgozzunk b\u00e1rmely disztrib\u00faci\u00f3val | ProHoster","description":"Alkalmaz\u00e1s l\u00e9trehoz\u00e1sa biztons\u00e1gi m\u00e1solatok sz\u00e1m\u00e1ra.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/linux-mnogolikij-kak-rabotat-na-lyubom-distributive","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Linux \u043c\u043d\u043e\u0433\u043e\u043b\u0438\u043a\u0438\u0439: \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 | ProHoster","og:description":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/linux-mnogolikij-kak-rabotat-na-lyubom-distributive","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:26:48+00:00","article:modified_time":"2019-10-31T19:26:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38929","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 23:59:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:00:26","updated":"2026-01-23 23:59:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/38929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=38929"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/38929\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/29206"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=38929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=38929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=38929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}