Ubuntu 16.04 Xenial Xerus szerver

A kezeim alatt lévő szerverek többsége jelenleg Ubuntu Linux alapú. Két évente, az új LTS kiadás megjelenése után jön el a pillanat, amikor rászánom magam, hogy a szervereinken operációs rendszert frissítsek. Legtöbbször még aznap megbánom a dolgot. Az Ubuntu 16.04 LTS esetében sem lett ez másként.

Ubuntu 16.04 Xenial Xerus
Ubuntu 16.04 Xenial Xerus, volt már jobb Ubuntu kiadás

Régi motorosként pontosan tudom, hogy az operációs rendszerek és úgy általában a szoftverek esetén az újabb legtöbbször egyáltalán nem jobbat jelent. Sőt. A kiadók már régóta a felhasználókra hagyják a szoftverek tesztelését. Emiatt jött ki tavaly úgy csúcstelefon, hogy az első frissítésig csak játékkonzolnak vagy fényképezőgépnek volt használható, mert telefonálni pl. pont nem lehetett vele. Azt a részét épp nem tesztelték. Az Ubuntu 16.04 sem cáfol rá a trendekre. Sajnos.

Ubuntu 16.04 Xenial Xerus

Igazából már az új Ubuntu csomaglistájának átböngészésekor levert a víz. Nagyon szeretnék látni egy embert, aki mondjuk éles szerveren végig merne csinálni egy 14.04 => 16.04 átállást. Szerintem a 16.04 nem sok ponton maradt kompatibilis az előző (14.04) LTS kiadással. A 16.04 jóval kevesebb választást hagy, mint a 14.04. A Xenial Xerus sem MySQL, sem PHP esetében nem kínál alternatív verziókat.

A 16.04 egyetlen pozitívuma, hogy az Nginx csomag végre nem ősrégi, hanem friss, ropogós 1.10. amely HTTP/2 támogatást is kínál. Nem részletezem miért, de erre épp szükségünk van. Egy piros pont jár ezért, de többet nem tudnék adni a produkcióra.

PHP 7

Az első komolyabb probléma a PHP 7.0. A 7-es szám már első ránézésre is fájóan aggasztónak tűnik. Gondolom mindenki tudja, hogy miért nem került kiadásra a 6-os PHP. Nos, a 7-es is az áztatott bőrkorbács finomságával közelít a régebbi PHP kódok felhasználóihoz.

Egy halom függvény megszűnt vagy megváltozott. Pl. mysql_*() függvények már nincsenek, csak mysqli_*() vagy PDO. Bizony, lehet szépen végigmenni a régi kódokon, és belefirkálni a kis i-betűket a függvénynevekbe. Remek móka. Figyelve persze arra is, hogy mi egyebet kell még átírni, mert a mysql_query() és a mysqli_query() pl. más sorrendben várja tök ugyanazokat a paramétereket. Nincs ereg_*(), nincs split(). Szerintem a 3 évesnél régebbi kódok között nagyon-nagyon kellene keresgélni, hogy PHP 7 kompatibiliset találjunk.

MySQL 5.7

Rég sejthető volt, hogy az Oracle hatalmas dédelgető kezei között valamikor elkezd majd vér szivárogni a kis MySQL szemgödreiből. Hát, ez a pillanat is eljött tavaly. Az eddig jó működő SQL lekérdezések egy részével alapbeállítások szerint nem kompatibilis a MySQL 5.7. Persze az egyszerűbbekkel nincs gond, csak az 5-6 sorban terpeszkedő, komplexebb lekérdezéseket kellene átírni. Erre szerintem még az sem vállalkozik szívesen, akiknek már az oviban is a MySQL delfin volt a jele. Sok munkaóra, semmiért. Egyetlen lehetőség marad, kikapcsolgatni ezeket az „okosságokat”.

Az első gyomrosok után persze jönnek a további finomságok. A MySQL 5.7 olyan szinten memleakes, hogy egy nulla terheltségű lap mellett is 600 megabyte memóriát emésztett fel 15 perc alatt. Az új performance schema tényleg csodálatosan sok infót ad, de érdekes, hogy szerinte épp csak 90 MB van allokálva. A top viszont picit mást mutat, 600 MB fölött jár a mysqld (600 MB RES, 1,7 GB VIRT). A 90 MB egyébként reális volna, a MySQL 5.5 kb. annyit használt azonos beállítások mellett. 1-2 óra kutakodás után belátható volt, hogy a gond állítgatással nem orvosolható.

Ha az Ubuntunál bárki tesztelte volna a MySQL 5.7-et, akkor biztosan nem ez került volna a végleges 16.04-be. Ez ugyanis leginkább egy ipari hulladék.

Mivel semmi kedvem nekiesni a MySQL forráskódjának, lassan érzékeny búcsút veszek tőle én is. Sajnálom, de csöppet sem véletlen, hogy annyian MariaDB-re váltanak. Szerencsére ez is elérhető az Ubuntu 16.04 disztribúcióban. Mostantól az fut nálunk is. Hosszú távú tapasztalatom még nincs vele, de ez nem produkálja a „minden-ramot-felfalok” kisgömböc effektust.

Természetesen az Ubuntu 16.04 sok más ponton is hozott idegesítő, bugyuta újdonságokat (pl. systemd). Én a legtöbbet olyannak látom, mintha néhány idiótát odaengedtek volna a rendszerhez, és ők aztán jól megmutatták, hogy „dolgoznak”. Szépen átalakítottak, megreformálták az eddig kifogástalanul működő dolgokat.