Solarise paketihaldus

Allikas: Kuutõrvaja

Sissejuhatus

Operatsioonisüsteemi Solaris tarkvara esineb pakettide vormis, mis tähendab praktiliselt seda, et nii on mugavam jälgida, millised vahendid on süsteemis olemas ning programme lisada, eemaldada või uuendada ilma vajaduseta tarkvara kompileerida. Lisaks operatsioonisüsteemi paigaldusmeedial esinevatele pakettidele on kombeks riistvaraga, nt SCSI kontroller või võrgukaart kaasa lisada pakendatud kujul draivereid ja haldusprogramme. Samuti pakendavad ettevõtlikud inimesed Solarise operatsioonisüsteemi jaoks tarkvara, kõige populaarsemad arhiivid tunduvad olevat

Solaris sisaldab vahendeid ka tarkvara lähtetekstidest kompileerimiseks ning pakendamiseks.

Kui on plaanis Solaris tarkvaraga tegeleda, siis on mõistlik omada SunSolve kasutajat, mis võimaldab pääseda ligi Solarise turvaparandustele ning lugeda nende ja muu asjasse puutuva kohta aadressilt http://sunsolve.sun.com/.

Peale Solarise paigaldamist avaneb registreerimise programmi aken, mille abil saab vajadusel omale SunSolve kasutaja registreerida ning samuti oma süsteemi registreerida Sun poolt jagatavate tarkvara-uuenduste kasutamiseks. Seda automaatselt käivitunud programmi võib aga ka ignoreerida kui järgida alltoodud juhised tarkvara uuendamiseks. Laskumata SunSolve teenuste üksikasjadesse olgu öeldud, et lihtsamal juhul piisab ühest SunSolve kasutajast, eraldi igale kasutuses olevale Solarise arvutile ei ole tarvis kontot registreerida.

Solarise paketihalduse kasutamine

Programmi pkginfo käivitamine ilma argumentideta esitab kõigi süsteemi paigaldatud pakettide nimekirja. Selliselt saab aga küsida infot konkreetse paketi kohta

bash# pkginfo -l SUNWless
  PKGINST:  SUNWless
     NAME:  The GNU pager (less)
 CATEGORY:  system
     ARCH:  i386
  VERSION:  11.10.0,REV=2005.01.08.01.09
  BASEDIR:  /
   VENDOR:  Sun Microsystems, Inc.
     DESC:  The GNU pager (less) 381
   PSTAMP:  sfw10-x20050108013941
 INSTDATE:  Mar 20 2007 09:59
  HOTLINE:  Please contact your local service provider
   STATUS:  completely installed
    FILES:        5 installed pathnames
                  2 shared pathnames
                  2 directories
                  3 executables
                232 blocks used (approx)

Andmed kõigi paigaldatud süsteemi paigaldatud pakettide kohta asuvad failis /var/sadm/install/contents, kui on soov saada teada, millisesse paketti mõni fail kuulub on kõige lihtsam nt grep utiliidi abil sealt failist seos järgi vaadata.

Paketi paigaldamiseks peab paigaldatava tarkvara pakett olema kohalikus failisüsteemis või võrgust kättesaadav, näiteks

bash# pkgadd -d http://www.blastwave.org/pkg_get.pkg

Kui on vajadus paigaldada tarkvara mõne muu juurika suhtes, siis saab seda teha näidates juurfailisüsteemi asjukoha

bash# pkgadd -R /mnt paketifailinimi

Solarise tarkvara saab uuendada smpatch ja pca utiliitide abil, samuti graafilise kasutajaliidesega programmi updatemanager abil. Kuna kõik nimetatud programmid haldavad oma muudatusi samas nn paketihalduse andmebaasi suhtes võib neid kasutada vaheldumisi.

Paigaldatud paketi eemaldamiseks tuleb öelda

# pkgrm paketinimi

Tarkvara uuendamine smpatch utiliidi abil

Kuigi Sun jagab Solarise turvalisusega seotud parandusi tasuta, tuleb nende kasutamiseks registreerida SunSolve süsteemis kasutaja. Seejärel tuleb oma süsteem registreerida kopeerides template faili

bash# cp /usr/lib/breg/data/RegistrationProfile.properties /tmp/RegistrationProfile.properties

Ning täites /tmp/RegistrationProfile.properties failis asjakohased väljad väärtustega ning öelda

bash# sconadm register -a -r /tmp/RegistrationProfile.properties

Seejärel saab smpatch käsuga uuendustest osa. Näiteks saab süsteemilt küsida, mis uuendused ootavad rakendamist

bash# smpatch analyze

Uuenduste paigaldamine toimub käsuga

bash# smpatch update

Uuendamise juures tuleb tähele panna, et mõne uuenduse puhul on vajalik süsteemi alglaadimine, sellest annab smpatch teada konsoolile sarnaselt

Jun  5 16:24:41 arvuti root:  => Thread[Thread-20,5,main] <=Problem installing patches: NOTICE: Patch 127755-01 cannot be installed until the next system shutdown.
Jun  5 16:52:48 arvuti root:  => Thread[Thread-20,5,main] <=Problem installing patches: NOTICE: Patch 126206-04 cannot be installed until the next system shutdown.
Jun  5 16:52:48 arvuti root:  => Thread[Thread-20,5,main] <=Problem installing patches: NOTICE: Patch 127888-07 cannot be installed until the next system shutdown.

Alglaadimine tuleb teha selliselt

  • Drop to the firmware prompt - init 0 or shutdown -i 0
  • Power down the system - init 5 or shutdown -i 5
  • Restart the system - init 6 or shutdown -i 6

Ning seejärel automaatselt toimub shutdown järgnevuse ajal paikade rakendamine, taas teated konsoolile

...
svc.startd: The system is coming down.  Please wait.
svc.startd: 88 system services are now being stopped.
Jun  5 17:55:13 arvuti syslogd: going down on signal 15
Jun  5 17:55:13 rpc.metad: Terminated
Installing updatesInstalling update 126206-04 Succeeded
Installing update 127888-07 Succeeded
Installing update 127755-01 Succeeded
svc.startd: The system is down.
syncing file systems... done
rebooting...
Resetting ...

Praktiliselt väheneb oluliselt süsteemi teenuse mitte-töötamise aeg kui enne 'smpatch update' käsku öelda

 # smpatch download

mille käigus paikamiseks vajalik materjal võrgust kohale kopeeritakse, vaikimisi kataloogi /var/sadm/spool.

Tarkvara uuendamine pca utiliidi abil

Lisaks smpatch utiliidile on olemas programm pca (Patch Check Advanced). See on perli skript, mille saab kopeerida aadressilt http://www.par.univie.ac.at/solaris/pca/ kusjuures kasutamiseks on vajalik samuti SunSolve konto.

Paranduste paigaldamiseks tuleb öelda

bash# cd /usr/src/system/pca-download
bash# pca --user=username --passwd=parool --install --wgetproxy=http://proxy:3128/ --download

mille tulemusena kopeeritakse kasutades proxy'it parandused kataloogi /usr/src/system/pca-download ning paigaldatakse. Kui mingil põhjusel on tarvist protseduuri korrata või soovitakse paigaldusi rakendada teisele arvutile hoides kopeerimise aega kokku, sobib kasutada käsku

bash# pca --user=username --passwd=parool --install --wgetproxy=http://proxy:3128/ --patchurl=http://ftp.loomaaed.tartu.ee/pca-download

Tarkvara uuendamine updatemanager utiliidi abil

Programmi updatemanager eeliseks ja puuduseks on asjaolu, et tegu on graafilise programmiga. Updatemanager käivitatakse käsuga

bash# updatemanager

ning seejärel avaneb järgmine pilt

Updatemanger-installed-updates.gif

Tarkvara uuendamine patchadd utiliidi abil

Programmiga patchadd saab rakendada üksikuid patch'e, kuid seda tuleks kasutada kui miski muu variant ei toimi.

Blastwave paketihalduse kasutamine

Blastwave CSW (community software) arhiivi pakettidest paigaldatud tarvkara asub süsteemis kataloogis /opt/csw ning paketihaldus toimub programmiga pkg-get. Blastwave arhiivi kasutamine algab pkg-get paketi paigaldamisega

bash# pkgadd -d http://www.blastwave.org/pkg_get.pkg

Seejärel saab seadistusfailis /opt/csw/etc/pkg-get.conf näidata sobiva arhiivi sisaldava peegli, näiteks

url=http://ftp.aso.ee/pub/csw/unstable

Enne CSW pakettide paigaldamist tuleb uuendada index

bash# pkg-get -U

Seejärel saab küsida CSW arhiivis olemasolevate pakettide nimekirja

bash# pkg-get -a

Paketi paigaldamiseks tuleb öelda, automaatselt paigaldatakse ka vajalikud sõltuvused

bash# pkg-get -i paketinimi

CSW pakettide uuendamiseks tuleb öelda, siinjuures ei puutu SunSolve konto asjasse

bash# pkg-get -u

Süsteemilt saab ka küsida, millised paigaldatud paketid on uuendatavad

# pkg-get -c

või näiteks selliselt

# pkg-get -c | grep -v installed | grep -v SAME
...
      software                    localrev                   remoterev
     apache2rt        2.2.4,REV=2007.02.19        2.2.6,REV=2007.10.25
   berkeleydb4   4.2.52,REV=2005.04.28_rev=p4   4.2.52,REV=2008.02.23_rev=p5
        common                       1.4.5        1.4.6,REV=2008.04.28
        curlrt       7.16.3,REV=2007.07.01       7.18.0,REV=2008.01.28
         glib2                     2.12.11                      2.16.3
         gnupg        1.4.7,REV=2007.07.01        1.4.8,REV=2008.02.28
        gnutls                       1.6.3                       2.0.4
          jpeg           6b,REV=2007.08.04           6b,REV=2007.10.28
     libgcrypt                       1.2.4        1.4.1,REV=2008.05.27
 ...

Kuigi CSW pakettidega tegelmiseks oma mõeldud pkg-get utiliit on tarvkara registreeritud samas /var/sadm keskkonnas, näiteks saab Solarise enda paketihalduse vahendiga küsida infot CSW paketi kohta

# pkginfo -l CSWtop
  PKGINST:  CSWtop
     NAME:  top - UNIX system state reporter utility
 CATEGORY:  application
     ARCH:  sparc
  VERSION:  3.6,REV=2007.01.01
  BASEDIR:  /opt/csw
   VENDOR:  http://www.unixtop.org packaged for CSW by Cyril Plisko
     DESC:  top utility - UNIX system state reporter
   PSTAMP:  login20070101072512
 INSTDATE:  Jul 09 2007 20:24
  HOTLINE:  http://www.blastwave.org/bugtrack/
    EMAIL:  imp@blastwave.org
   STATUS:  completely installed
    FILES:       10 installed pathnames
                  6 shared pathnames
                  1 linked files
                  6 directories
                  2 executables
                  2 setuid/setgid executables
                252 blocks used (approx)

Blastwave repositoorium võimaldab kontrollida failide autentsust kontrollsummade abil. Selleks tuleb paigaldada süsteemi Blastwave'i võti öeldes

 # wget --output-document=pgp.key http://www.blastwave.org/mirrors.html
 # gpg --import pgp.key

ning seadistusfailis peavad olema read sellisel kujul

 #use_gpg=false
 #use_md5=false

CSW tarkvara eemaldamiseks saab kasutada samuti programmi pkgrm, näiteks Nagiose NRPE plugina eemaldamiseks tuleb öelda

 # pkgrm nrpe

Paketihalduse haldamine

Paketihalduse käigus koguneb kataloog /var/sadm alla erinevaid faile. Teadlikult opereerides saab failisüsteemis vabastada ruumi samal ajal kaotamata funktsionaalsuses. Näiteks kui ei ole kavas paiku tagasi võtta, võib öelda

 # find /var/sadm/pkg -type f -name undo.Z -exec rm {} \;

Teine tõenäoline võimalus ruumi vabastamiseks on öeldes

 # rm /var/sadm/spool/*.jar

Kasulikud materjalid