Zahy blogja

BHyve tesztecske

(Ma már nem ez a hivatalos írásmód, én valami perverzióból mégis BHyve-nak írom.)
Ha már egyszer van egy AMD C-60-as procival szerelt netbookom, gondoltam kipróbálom a BHyve-ot. (A NAS-on kívül ez az egyetlen olyan gépem, amelyik alkalmas a futtatására.) Ráadásul a 10.2-s FreeBSD-ben végre hivatalosan is támogatott az AMD-féle AMD-V, így összesen annyi dolgom volt, hogy 10.1-ről felfrissítsem (jelenleg még 10.2-BETA2-n fut, de valószínűleg a nap végére megkapja az RC1-et is).
Azt kezdetnek el lehet mondani, hogy ha az ember nem használ semmi előtét programot, akkor a BHyve használata iszonyat macerás, ezer paramétert kell állítani, ráadásul kell egy loader amivel elindítjuk a VM-et, aztán valami másik amivel futtatjuk azt, és végül egy harmadik, amivel leállítjuk. Van ugyan egy vmrun.sh nevű script a rendszerben a példák között, de abban például a nem-FreeBSD-s VM-ek futtatása nincs támogatva. (FreeBSD-hez a gyárilag rendelkezésre álló bhyveload kell az 1. ponthoz, minden más OS-hez egy grub2-bhyve nevű csomagot kell telepíteni, de ezt a loadert egyelőre nem kezeli a script - mondjuk nem lenne kifejezetten bonyolult belehekkelni.) Én meg pont nem FreeBSD-t akartam benne megnézni, hanem mást. Megjegyzendő, hogy a Handbook kifejezetten részletesen és szájbarágósan leírja ezeket a lépéseket.
Ha jól vettem ki a dolgokat a doksikból, jelenleg 64-bites OS-ekkel lehet értelmesen kisérletezni, így én egy Ubuntu szerver LTS-t és egy CentOS7-t választottam magamnak. Nehezítő tényező, hogy jelenleg a BHyve semmiféle grafikus kártya emulációjára/szimulációjára/virtualizációjára nem képes (sőt ha jól olvastam a közeljövőben nem is várható), a VM-ben - ha megfelelően paramétereztük fel -, a klasszikus COM1/COM2 érhető el, azaz csak soros konzollal működő OS-ek jöhetnek szóba. Mondjuk ez azt is jelzi, hogy szerver virtualizációra van igazából kihegyezve. Hálózatként a host oldaláról egy tun interfészt javasolt használni, amit aztán pl. a host valós interfészével összebridzselve lehet működő hálózatot csiholni.
No a lényeg, megcsináltam a VM diszkjéhez egy 8 GB-os img-t, eldöntöttm, hogy a 4 GB memóriából 1 legyen elég a VM-nek, és elindítottam az Ubuntu telepítőjét. Egész tűrhetően működött, a leírást követve minden szépen ment egészen odáig, míg a mgpartícionált diszkre az általam kiválasztott LVM-struktúra megépítése után el nem kezdett FS-t csinálni - ebbe egy gyönyörű linuxos hibával belehalt - több oldalnyi stack-dump. Újra és újra kipróbálva (más-és más telepítési lehetőségeket kipróbálva - úgy is mint OEM install, nem OEM install), stabilan és megbízhatóan ugyanott szállt szét. Ubuntut félretettem, jött a CentOS. Annak a bootja egy hangyányival macerásabb (nekem kell a grub-ból kiválasztanom a kernel és initrd imidzseket), a telepítés elindul, a diszket ugyanúgy LVM-esítve, a szükséges (nyilván minimalista) csomagkészletet kiválasztva, a rendszer szépen feltelepül. Ugyan nyekereg útközben, hogy a hálózat szerinte off-ban van, de ennek ellenére amikor a kész rendszert indítottam, szépen működött. Kapott DHCP-n címet, és annyira ment, hogy az első körben megejtett yum update - ami pedig lehúzott egy vagon frissítést -, minden további nélkül lefutott.
Miután volt sikerélmény, újra nekiugrottam az Ubuntunak - pont ugyanazzal az eredménnyel. OK, ugorjunk, letöltöttem egy Debian 8.1-es telepítőt, ahhoz is elkészítettem az "infrastruktúrát" és hajrá. És mondhat akárki akármit, az Ubuntu csak egy felpimpelt Debian - pont ugyanott, pont ugyanúgy halt meg. Ezt akkor egyelőre félreteszem, elképzelhető, hogy valami Slackware-t még kipróbálok, esetleg LVM nélküli módban az Ubuntut. Az a legfurcsább, hogy találtam egy eléggé durva cucost a nete, amiben pont ugyanígy FreeBSD, meg BHyve és Ubuntu LTS játszik, a leglényegesebb különbség, hogy ő ZFS fölötti ZVOL-t használ VM-diszknek, nem pedig fájl.img-t. A cikk egyébként a HardenedBSD-s Shawn Webb leírása arról, hogy egy, a FreeBSD által nem támogatott Wifit hogyan használ: mivel Linuxhoz van driver, ezért FreeBSD alatt van egy BHyve VM-ben egy Ubuntu, az megkapja az egész kártyát szőröstül-bőröstül (hogy ezt hogy kell, én doksiban még nem láttam máshol leírva, csak hivatkoznak a lehetőségre), és a VM-ben NAT-ol egyet a FreeBSD-nek - így máris lehet a host-ról is Wifizni. Perverz.
Még egy apróság. A kezdetben a netbookot kábeleztem. Aztán megunván a kényelmetlen drótkígyót, áttértem Wifire - ez meg azért volt kényelmetlen, mert a bridge konfigot is módosítani kellett - ezért aztán gondoltam egy merészet, és az ezer éve leírt módon a wifit és az ethernetet összekapcsoltam egy lagg interfésszé, és még egyszer utoljára módosítottam a konfigon. És az már látszik, hogy valahol valami nem kerek, mert az a tény, hogy az eth+wlan -> lagg interfészt egy bridge-be fogom a tun-nal, egyelőre nem végigtesztelt módon ugyan, de néha azt eredményezte, hogy beállt a hálózat, és bit se ki, se be. Majd még próbálkozom vele, hátha csak az interfészek felkonfigurálási sorrendje kavar, de mivel ha leáll a BHyve-os VM, akkor megjavul, lehetnek itt rejtettebb hibák.
(Egyszer ki akarok benne próbálni valamilyen Windows-t is, bár erre vonatkozó kérdésemre azóta se kaptam választ a lusta haveromtól, hogy vajon van-e olyan win szerver verzió, amelyik tényleg el tud működni soros konzollal, és mi az és honnan lehet pl. teszthez legálisan hozzájutni, mert venni aztán nem fogok, de ehhez lopni kissé gáz.)

FreeBSD SA

No comment. A legszebb, hogy aki nem nyújt TCP-szolgáltatást nem-megbízható klienseknek, az nincs veszélyben. Most elgondolkodtam, a gyakorlatban ez lehet egy NFSv2-t használó NFS-szever, egy NTP-szerver, és csak megbízható slave-ekkel rendelkező DNS-szerver. Juhé.

FreeBSD 10.2-BETA2

Így jár aki figyelmetlen. Gondoltam megfrissítem az asztali gépet a múlt héten megjelent BETA1-re, és épp bőszen megy az update, amikor is sikerül belefutnom a hírbe, hogy tegnap megjelent a 10.2-BETA2. Hát istenem, idő van, tej van ... - szóval kétlépcsős update következik. (Egy VM-ben a múlt héten már frissítettem egyet, azzal nem volt gond - mondjuk agyonra nem terheltem/teszteltem; majd most.)

A szokásos SA

Nem tudom mi van ezekkel, kurvulnak elfele. Egy hónapja nem jött új SA. OK, EN - azaz Errata Notice - az volt pár, sőt rendszerfrissítés is, de SA már ezer éve nem jött. Ráadásul a mostani nem is érint, ugyanis BIND-hiba, ami alapból csak azokat érinti, akik 8.x vagy 9.x verziót használnak, hiszen már csak azokban van gyárilag BIND. Csinos kis remote DOS. Részletek a linken.

FreeBSD + RPi2

Nagy nehezen sikerült találnom egy erre a célra beáldozható kártyát, így futottam egy rövid tesztkört fenti párosítással. Mivel az RPi2 újabb, mint a legutolsó stabil FreeBSD kiadás, logikusan nincs hivatalosan tölthető RELEASE.iso (illetve img) - és igaz ugyan, hogy elvben kompatibilis a régiekkel, de pont a boothoz kell pár apró változás. A lényeg, egy június 18-i, 11-CURRENT verzióval indultam.

A tapasztalatok kissé felemásak.

A képernyő bal szélén kb 4-6-8 karakternyi infó nem lászik, így néhány infó leolvasása legalábbis nem triviális (mindez egy fullHD-TV-t használva kijelzőn, ugyanez a párosítás a Raspbiannal ilyen problémát nem mutat).

FreeBSD frissítés

Egyelőre hivatalos SA-t nem láttam a dologról, mindenesetere a tegnap esti rutinfrissítés nem várt eredményt hozott, lett egy új kernel és egy ufs.ko modul a gépen, valamint a verziószám is 10.1-RELEASE-p10-re változott -p9-ről. A csomagoknál pedig Perl verzióléptetés történt, így megint több kupac csomag verziószáma lépett előre. Mondjuk megint volt egy SAT-solver hiba a pkgNG-ben, most a LibreOffice-szal nem tudott mit kezdeni, de - miután egy pkg fetch-csel meggyőződtem róla, hogy van letölthető verzió, egy pkg remove hu-libreoffice után már lefutott a frissítés, és a visszatelepítés is gond nélkül működött. Szóval mit a régi viccben a határőr jelentésében: "egy fő ki, egy fő be, az ország létszáma változatlan".

Bramble

A RaspberryPi klaszter. Mondjuk arra nem találtam még magyarázatot, hogy a "mert megtehetjük" válaszon kívül vajon mire is lehet használni. Persze valószínűleg ez is olyan, mint a Minix - oktatásra akár jó is lehet - ehhez persze elsősorban a kódot kellene megnézni.

Új SA-k a láthatáron

Rekordot döntöttünk, utolsó bejegyzésem január 28-án volt, azóta majdnem 4 teljes hét eltelt. Szóval akkor egy saját: IGMP-DoS, kernel panic távolról, minden FreeBSD verzió érintett. Valamint egy örökölt: BIND-DoS, de ez 10-es ágat nem érinti (mert ugye abban kidobták az alaprendszerből a BIND-ot).
(És ha már itt tartunk, ha lassan is, de a Samba-portok is frissültek.)

Nyalóka-teszt indul.

Gyárilag kaptam zseblámpát (ami eddig nem volt), meg olvasható színezetű billentyűzetet. Cserébe elvették a gyors ki/be kapcsoló ikonjaimat. Ez nagyjából egál. Holnaptól akkuteszt (bár az eredeti, 3 nap 16 órát nehéz lesz verni - neki magának se nagyon sikerült megközelítenie se.) Moto G2

sha1sum in ELF-binary

Találtam egy programot a neten, és legnagyobb meglepetésre ezt mondta a FreeBSD-s file parancs :

ABC: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.26, BuildID[sha1] XYZ, not stripped

(A fájl nevét és a checksum-ot direkt szedtem ki.) Számomra az a meglepő, hogy eddig nem találkoztam ilyennel (vagy legalábbis nem vettem észre) hogy egy binárisba beleplántálják a checksum-ját - illetve egy valamilyen checksum-ot. (Határozottan jobb ötlet, mint extended attribútumban tartani, bár gyanítom ezt könnyebb módosítani.) No most ha ráengedem az sha1 nevű programot, akkor (természetesen) mást számol ki. Jelenleg túrom a netet hogy milyen eszközökkel lehet ezt olvasni/írni/ellenőrizni. Egyelőre két RedHat-es oldalt találtam a témában, de eléggé szószátyárak. Annyit már látok, hogy vannak valamilyen eu-readelf meg eu-unstrip parancsok, amik ehhez kötődnek(*). Érdekes, de valószínűleg nem túl jól keresek, mert gugli nem igazán ad értékelhető találatot. A szoftvert a FreeBSD Linux-emulációjával akartam egy kicsit tesztelgetni de sajnos az jelenleg 2.6.18-as kernelt emulál, ez a dög meg ugye ennél újabb kernelt igényel - ezt induláskor egy morózus hibaüzenettel jelzi is :-( . A fenti RedHat-es parancsok neve alapján rápróbáltam a readelf-re, és gyakorlatilag egy perc alatt meglett az egyik infó:


$ readelf -x .note.gnu.build-id ABC

és az első 16 bájt után ott a keresett infó. No most akkor még azt kellene kideríteni, hogy pontosan mely szekciókat számítja bele, és hogy vajon mivel lehetne felülírni, csak mert writeelf-et nem találtam. Marad a binris peccselés (bpatch, vagy bvi) :-)

Csak a szokásos SA-k

Megint eltelt vagy két hét, megint új FreeBSD SA-k jöttek. Ezúttal van lokálisan kihasználható memóriaszivárgás/korrupció az SCTP-ben, illetve távolról DOS-olható (kernel pánik) - szintén SCTP-beli hiba. Mind a kettő 8-astól 10-es ágig bezárólag minden támogatott verzióban létező hiba.
Lassan ott tartunk, hogy ha nem jön ki két-három hiba egy 2 hetes intervallumban, akkor kezdhetünk aggódni, mert nem végzik a "munkájukat" a fejlesztők.

Heti rendes

FreeBSD SA. Eddig egy esett be, OpenSSL témakörében, ha jól számolom 8 CVE-numbert soroltak fel a leírásban. A frissítés a szokásos freebsd-update fetch install módon történik, reboot, vagy legalábbis az ntpd és a sendmail újraindítása erősen javasolt. Legalábbis ezek az alaprendszerben meglevő, SSL-lel fordított binárisok - ha jól láttam a listát. Nyilván aki az alaprendszerbeli OpenSSL-t használva SSL-t fordít egy alkalmazásba és statikus binárist állít elő, akkor ha az szerver, akkor újrafordítás és újraindítás szükséges. (Nem szervernél ebből elég csak a fordítás.)

MSO feature-ök az LO-ban

Egy eredetileg docx-ben levő anyag LO-val lett kicsit módosítva (igen, tudom, ez már 3 hiba egymás után). Mentés után egy MSO-val próbáltuk nyomtatni de szerencsére még időben észrevettük, hogy valami nagyon nem OK. Jött az ODT-be mentés, majd előbb az MSO-ban, majd egy wines LO-ban történő megnyitás. Mind a kettőben érthetetlen módosulás látszott. Végül a mentés-másként DOC-ba hozta meg az eredményt, ezt már legalább a másik gépen levő LO képes volt szinte ugyanolyan kinézetűen kinyomtatni, mint ami az eredeti állapot volt.
Haverom megfogalmazása:

[Megoldva] Láthatatlan karakterek az LO menüjében

No ilyet eddig még nem pipáltam. Hét végén volt egy frissítés a gépen, erre ma csörög a telefon, mi az isten van a gépen, nem lehet nyomtatni - csak fehér ablak látszik, miután rá lett klattyantva a nyomtató-ikonra. No hazajövet nézem mi van, hát a normálisan futtatott (és néhány egyéb random) alkalmazásban minden szép és jó (néztem VBox-ot, Gimp-et, Evince-t, O/A-t, FF-et, pár XFCE-s alkalmazást - mind jó). Ellenben a LibreOffice menüben minden szöveg hiányzik. Ha lenyitom a menüt, és pl. billentyűzettel elkezdek jobbra-balra "rohanni", akkor időnként látszik, hogy van ot tszöveg. Sőt! Csináltam képernyőképet - és azon minden látszik. Ellenben a képernyőn nem látszik. (Anno karakteres terminálon volt un. invisible attributum - "tput invis" segítségével lehetett bekapcsolni - de grafikus felületen még nem találkoztam ilyennel.)
fc-cache -c -v nem segít. ~/.config törlése nem segít. Egyelőre még keresem a megoldást, de ez azért elég furcsa.

Karácsonyi FreeBSD SA

Nos megérkezett a napok óta susogott NTPD-vuln-nal kapcsolatos bejelentés. Akik klasszikus ISC-féle ntpd-t használnak, azoknak remote-root, meg amit akartok.
Öröm az ürümben, hogy az előző, unbound-SA kapcsán emlegetett hiba nem létezik (legalábbis az első 64-bites gépen végrehajtott frissítés szerint). Azaz a hibajavításhoz szükséges (ezen a gépen éppen) 18 db javítófájl mellé valóban villámgyorsan letöltött még 461 másikat (a lib32-t technikailag), ellenben nem akarta a frászt hozni a derék jóhiszemű rendszergazdára, és nem emlegeti a / törlését. Ráadásul sikerült is újraindulnia, szóval van itt karácsonyi áhitat, meg öröm, boldogság. (Közben a második Amd64-es gépen is lezajlott fájdalommentesen, lassan időszerű tesztelni 32-bites gépeken is.)

FreeBSD SA-k

Beesett kettő. Vagy több.
Az első a leírás szerint csak a 10.1-et érinti (???), a második már nem ennyire válogatós. (És milyen szép, hogy a nem túl régi linuxos strings hibához hasonlóan ez is egy olyan programban: file, aminek azért első ránézésre nem kéne túl bonyolultnak lennie. Hát ez van.)
Javítás: közben jött egy bind hiba is. (De ez legalább csak a 8-as és 9-es ágnak rossz.)

Eheti csomagfrissítés :-(

Kb 2-3 hete frissült végre a FreeBSD ports-ban (és persze a bináris csomagok között is) a GNOME, és lett GNOME3. Naccerű - már annak, aki azt akarna használni. Nekem egyelőre azt jelentette, hogy az elmúlt 2 héten ömlöttek az ebből adódó csomagjavítások - és persze az újratelepítendó csomagok. (És várhatóan még van 2-3 hétig ez megszűnni nem nagyon fog, max elhalkulni.) A múlt heti frissítés se volt kevés, de a mai az minden várakozásomat alulmúlta. Egyrészt a csomagok darabszámát, másrészt sikertelenségét tekintve.

A mai frissítés lehúzott majd egy gigát. Letörölt egy kupac csomagot, telepített egy tucat újat, és frissített 10 marékkal. Node mindezt oly módon, hogy eredményül nem volt FF, LO, a fél XFCE hiányzott, és egy csomó segégprogram is ment a levesbe; ilyen senkinek nem kellő marhaságok, mint Evince, gThumb, Gimp, Brasero vagy éppen az XSane; ami külön gyönyör, hogy az általam használt levelezőt is mindenestül kikukázta :-( Szerencsére szemfülesen mikor kiírta, hogy mit tenne, akkor a törlendőeket felírtam, így viszonylag fájdalommentesen vissza tudtam rakni azokat, amikről még ma is azt képzelem, hogy esetleg szükség lenne rá. Ez mindenesetre nem tetszik. (Hozzátartozik az igazsághoz, hogy a csomagfrissítés úgy indult, hogy fél ablaknyi SAT solverre vonatkozó hibaüzenettel jelezte, hogy valami azért nem OK, így némileg gyanakodva figyeltem a működését.)