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.