Az előző írásban létrehoztunk egy LPAR-t, illetve arra telepítettünk egy alap 6.1-es AIX-ot. Ha valaki ezt szintén megtette, akkor az a személy gyorsan szembesülni fog vele, hogy ezen az AIX-on alapból SSH sem található. A gép telnet segítségével érhető el távolról. Ez pedig így 2012 elején eléggé kevés számunkra.
Akkor nézzük, hogy tudunk néhány hasznos csomagot/alkalmazást telepíteni.
AIX csomagkezelés
Az AIX-ban a csomagoknak valami hasonló féle névkonvencióval fognak megjelenni:
BOS.NET.TCP.SERVER
Szintek jelentései:
BOS -> Base Operating System Component
BOS.NET -> Csomag neve
BOS.NET.TCP -> Fileset Csoport
BOS.NET.TCP.SERVER -> Telepíthető fileset
Amennyiben ki akarjuk listázni, hogy milyen installált fileset-ek érhetőek el a rendszerünkön, akkor használjuk a következő parancsot:
# lslpp -l
A fenti kép azért igényel némi magyarázatot. Az első oszlopban látszanak a fileset-ek nevei. A második oszlopban a verió számai. A harmadikban az állapotuk, a negyedikben pedig rövid szöveges leírás róluk.
Akkor kicsit bővebben a számozásról. Négy számjegy van pontokkal elválasztva. Az első számjegy jelöli a Verziót. A második a Release-t, a harmadik a Modification, az utolsó pedig a Fix.
A rendszerünknek is van ám OS szintje. Ezt a következő parancsal tudjuk lekérni:
# oslevel -s
Ebben az esetben a 6100 jelöli az AIX fő verzióját, az első 01 jelöli a Technology Level-ét (TL), a második 01 jelöli a Service Pack-jét (SP), az utolsó 4 jegyű szám pedig azt, hogy 2008. év, 23. hetében kiadásra került Service Pack.
Ahogy látszik a legtöbb rendszer komponens fileset-jének, illetve az OS level-nek a számozása között kapcsolat figyelhető meg.
Csomagok installálása
Az AIX három féle csomagtípust ismer.
-
LPP (Licensed Program Product) – Ez a tradicionális AIX fileset
RPM – Linux alapú csomagok. Természetesen AIX és PPC-re fordított RPM-ek telepíthetőek
ISMP – (InstallShield MultiPlatform)
Ahogy már mutattam a következő parancsokkal lehet lekérni telepített fileset-eket. Most viszont a L kacsolóval hívjuk meg:
# lslpp -L
A zölddel jelölt részek (F) a tradicionális fileset-ekből lettek telepítve. Míg a pirossal jelöltek (R) RPM csomagokból.
A továbbiakban megpróbálom bemutatni egy SSH és BASH telepítésén kresztül az AIX csomagkezelését. Az én telepítő fileset-jeim és RPM csomagjaim egy NFS-en lesznek. Amit az adott gépre a /install mappába mountoltam:
Installp
Tradicionálisan a LPP-ket a következő paranccsal szokás telepíteni:
# installp -acXYd /install -e /tmp/install.log openssh.base
Kapcsolók:
-ac Apply és COMMIT. Az Apply-val telepítjuk, a committal véglegesítjuk is. Ha valaki biztosra akar menni először csak -a kapcsolóval telepít és utána tesztelés után commitálja.
-X ha megadjuk ezt a kapcsolót, akkor amennyiben nincs elég hely a telepítéshez automatikusan megnöveli a kívánt LVM kötetet a kívánt mérettel.
-Y automatikusan minden license kérdésre igennel felel.
-d utána kell megadni azt a PATH-ot vagy device-t ahol keresni kell a telepítő fileset-eket.
-e ezek után kell megadni a LOG path-ját ahova a logojait mentse
Ahogy a képen látszik, nem lehetett a fileset-et telepíteni, mert előfeltétele, az openssl.base nem elérhető.
Geninstall
Relatíve új eszköz egy generic installer. A célja, hogy felváltsa a külön parancsokat a különböző filesetek, illetve patchek installálására. Egyetlen parancs, ami képes lekezelni minden féle telepítendő állományt. Nézzük az előző parancsot, hogy kellene kiadnunk a generikus installerrel:
# geninstall -d /install I:openssh.base
Ahogy látszik a kimenet ugyan az. A -d kaproló után megint csak meg kellett adni a device-t vagy PATH-t ahol a telepítendő filesetek találhatóak. A fileset hivatkozása előtt írtam egy „I:”-t is. Lehetőségünk van ugyanis direkt meghivatkozni, hogy milyen típusú fileset-et keresünk. A következő típusok érhetőek el:
-
I: installp format
R: RPM format
J: ISMP format
E: interim fix format
Nem kötelező, de megadhatjuk a típusát a fileset-nek. Ez akkor fontos, ha egy fileset elérhető mindkét típusként.
Természetesen le is kérhetjük a listát, hogy egy adott médián vagy PATH alatt milyen telepítendő filesetek érhetőek el:
# geninstall -L -d /install/aix-6100
A fenti listában egy láthatjuk a fileset nevét, verzióját, leírását, és sok egyebet. Pirossal jelöltem az LPP, zöldel az RPM csomagokat.
Akkor, most nézzük, hogyan telepítünk a geninstall segítségével egyszerre minden csomagot (openssl, openssh, bash):
# geninstall -Yd /install/aix-6100 openssl.base openssh.base bash-3.2
Természetesen a geninstall parancs segítségével csomagokat el is távolíthatunk:
# geninstall -u bash-3.2
Szeméy szerint én a geninstall használatát erősen ajánlom. Egyszerűbbé és átláthatóvá teszi a csomagkezelést AIX alatt.
RPM
Ha már a geninstall-t kitárgyaltuk, akkor viszont nézzük meg, az RPM-et a geninstall nélkül hogyan tudjuk telepíteni. Nem lesz egy nagy meglepetés, a Linuxból ismert rpm parancsot kell használnunk:
# rpm -i /install/aix-6100/bash-3.2-1.aix5.2.ppc.rpm
SSH elindítása
Tehát most már számtalan módon tudjuk, hogy telepítsük az SSH-t. Fontos, hogy először az OPENSSL dependenciáját installáljuk. Amint sikeresen telepítettük létre kell, hogy jöjjön a szükséges SSH service. Ezt a következő parancs segítségével tudjuk ellenőrizni:
# lssrc -s sshd
Ahogy látszik, inoperative státuszban van. Tehát nincs elindítva. Ahhoz, hogy elindítsuk a következő parancsot kell kiadnunk:
# startsrc -s sshd
A parancs kiadása után már látszik a listázásnál, hogy active az állapota, és még azt is kiírja nekünk, hogy milyen PID alatt fut.
(Csak zárójelesen jegyzem meg, hogy értelemszerűen leállítani a stopsrc paranccsal kell egy service-t)
Ha már itt járunk nézzük meg a rendszerünkön milyen service-k futnak:
# lssrc -a
Ahogy látszik, alapból rengeteg service installálódik, csak nincsenek elindítva. Sok esetben persze előzetes konfigurációs beállítások szükségesek a service elindítása előtt.
Reposity
Többször hivatkoztam a csomagkezelő parancsok esetében a -d kapcsoló után egy installer mediára, vagy PATH-ra. A telepítő médiákról van lehetőségünk egy lokális másolatot készíteni. Alapértelmezetten a /usr/sys/inst.images helyre készülnek ezek a csomagmásolások.
# gencopy -Xd /dev/cd0 all
A -X kapcsolóval adhatjuk meg, hogyha szükséges növelje meg a szükséges LVM kötetek méretét. A -d után értelemszerűen, hogy honnal másoljon. A végére pedig megadtam, hogy mindent másoljon le. Ha akarjuk csak bizonyos csoportokat is definiálhatunk.
Ezek után a /usr/sys/inst.images/ alatt elérhetőek lesznek a filesetek. Tehát a CD/DVD nélkül is elérhetőek lesznek a rajta lévő telepítők.
Patchek
A Solarishoz hasonlóan, a patchek itt is külön vannak. A telepített patchek listáját a következő paranccsal kérhetjük le.
# instfix -i
A patchek vagy patch gyűjtemények installálhatóak az installp vagy geninstall parancs segítségével is, a már bemutatott módon.
Összegzés
Sajnos az AIX is kicsit le van maradva, és távoli repository alapú csomagkezelés nem elérhető az OS-ben. Szerencsére mint LPP mint RPM alapú csomagok telepíthetőek AIX-ra, és a geninstall segítségével egyszerűen kezelhetőek. Sajnos automatikus függőséget nem tud így sem kezelni, ezt valamilyen szinten magunknak kell megoldani. Szubjektív véleményem szerint Solaris-os közösség több csomagot portolt, és tett elérhetővé nyilvánosan mint az AIX-os. Így számomra elég nagy kihívást okozott összebányászni minden féle hasznos csomagot, és azok megfelelő függőségét.