Hlavní navigace

Balíčkovacie systémy v systéme Solaris

29. 2. 2008
Doba čtení: 4 minuty

Sdílet

Štandardný balíčkovací systém OS Solaris je veľmi jednoduchý – umožňuje len pridanie, prípadne odstránenie jednotlivých balíčkov. Vykonáva síce kontrolu závislostí, no sám nezabezpečuje ich ošetrovanie. V prípade, že nie sú nainštalované požadované balíčky, systém vyhlási chybu, ale sám balíčky nenainštaluje.

Zjavné nedostatky tohto systému sa pokúsila kompenzovať komunita Blastwave, ktorá inšpirovaná systémom apt-get z Debian Linux vytvorila nástroj pkg_get s podobnou funkcionalitou. Tento nástroj spĺňa základné požiadavky systémových administrátorov, no za zmienku stojí, že nemá napríklad doriešené ošetrovanie závislostí v prípade odstraňovania balíčkov.

Princíp

Balíčkovací systém OS Solaris je založený na balíčkoch – skomprimovaných súboroch, ktoré obsahujú hlavne:

  • súbory samotnej inštalovanej aplikácie
  • základné informácie o samotnom balíčku
  • informácie o umiestneniach a parametroch inštalovaných súborov
  • informácie o závislostiach
  • post-inštalačné a pre-inštalačné skripty

Súbor pkginfo

Súbor pkginfo je v podstate veľmi jednoduchý súbor popisujúci balík ako taký. Jeho syntax sa skladá zo súboru premenných a ich hodnôt [19].

  • PKG – Názov balíka (napr SUNWlibC)
  • NAME – Názov, zvyčajne sa zhoduje s DESC
  • ARCH – Architektúra, väčšinou i386 alebo SPARC
  • VERSION – Verzia
  • CATEGORY – Kategória (povinný parameter), najčastejšie používanou kategóriou je application
  • VENDOR – Autor softvéru
  • EMAIL – E-mail adresa
  • DESC – Popis, zvyčajne sa zhoduje s NAME
  • PSTAMP – Značka autora balíčka
  • BASEDIR – prefix – koreňový adresár pre adresárovú štruktúru balíčka
  • CLASSES – možnosť profilovať balík na jednotlivé triedy, ktoré majú postupnosť pri inštalácii

Súbor prototype

Tento súbor obsahuje informácie o aplikačných súboroch, adresároch a ich umiestnení. Prvý riadok obsahuje umiestnenie súboru pkginfo. Príklad súboru prototype je:

i pkginfo=./pkginfo
f none booklist.txt 0644 bin bin
d none books 0755 bin bin
d none books/ABOUTDOC 0755 bin bin
d none books/ABOUTDOC/ebt 0755 bin bin
f none books/ABOUTDOC/ebt/ABOUTDOC.dat 0644 bin bin
f none books/ABOUTDOC/ebt/ABOUTDOC.edr 0644 bin bin
f none books/ABOUTDOC/ebt/ABOUTDOC.tag 0644 bin bin
s none books/ABOUTDOC/ebt/search.tdr=./toc.tdr
f none books/ABOUTDOC/ebt/toc.tdr 0644 bin bin
d none books/ABOUTDOC/index 0755 bin bin
f none books/ABOUTDOC/index/index.dat 0644 bin bin
f none books/ABOUTDOC/index/vocab.dat 0644 bin bin
f none books/ABOUTDOC/styles.ent 0644 bin bin

Závislosti

Závislosti balíčkov sú zaznamenané v súbore depend. Príklad súboru depend balíčka SUNWsshu je:

P SUNWcar       Core Architecture, (Root)
P SUNWcakr      Core Solaris Kernel Architecture (Root)
P SUNWkvm       Core Architecture, (Kvm)
P SUNWcsr       Core Solaris, (Root)
P SUNWckr       Core Solaris Kernel (Root)
P SUNWcnetr     Core Solaris Network Infrastructure (Root)
P SUNWcsu       Core Solaris, (Usr)
P SUNWcsl       Core Solaris Libraries
P SUNWcsd       Core Solaris Devices

Poznámka: parameter P (prerequisite for installation) určuje, že sa jedná o vyžadovaný balíček.

Zdroje balíčkov

V súčasnosti existujú pre operačný systém Solaris 10 tri hlavné zdroje balíčkov:

  • Spoločnosť SUN Misrosystems
  • komunita SunFreeware
  • komunita Blastwave

Nasledujúca tabuľka uvádza porovnanie spomínaných zdrojov balíčkov:

Zdroje balíčkov
Balíčkovací systém SUN balíčky SunFreeware blastwave
Predpona balíčkov SUNW SFW CSW
Koreňový inštalačný adresár / /usr/sfw /opt/csw
Zdroje Inštalačné médiá výrobcu HTTP/FTP mirrory projektu Sunfreeware HTTP/FTP mirrory projektu Blastwave
Inštalácia balíčkov Manuálna inštalácia jednotlivých balíčkov nástrojom pkgadd Automatizovaná inštalácia nástrojom pkg-get Automatizovaná inštalácia nástrojom pkg-get
Odstránenie balíčkov Manuálne odstránenie jednotlivých balíčkov nástrojom pkgrm Odstránenie nástrojom pkg-get ale bez kontroly závislostí Odstránenie nástrojom pkg-get ale bez kontroly závislostí
Aktualizácia balíčkov Manuálne odstránenie starého a inštalácia nového balíčka nástrojmi pkgrm a pkgadd Automatizovaná aktualizácia nástrojompkg-get Automatizovaná aktualizácia nástrojom pkg-get

Podpora softvéru výrobcom

Okrem vlastných softvérových produktov garantuje Spoločnosť SUN Microsystem podporu aj vybraným Open source aplikáciám. Príklady plne podporovaných aplikácií sú:

  • Apache
  • Apache2
  • bind
  • ppp
  • Samba
  • sendmail
  • SER (SIP Proxy Server)
  • wu-ftpd
  • Zebra
  • Perl
  • Secure Shell
  • traceroute

Okrem vymenovaných aplikácií poskytuje spoločnosť SUN Microsystems aj tzv. Moderated podporu, ktorá je realizovaná vo forme poskytovania aktualizácií, ktoré sú dodávané výrobcami jednotlivých aplikácií softvéru. Presný zoznam podporovaného a čiastočne podporovaného softvéru je možné nájsť na stránke: www.sun.com/sof­tware/solaris/fre­eware.

Aktualizácie

Na aktualizáciu softvérových balíčkov sa používajú spomínané balíčkovacie systémy. OS Solaris má však úplne separátny systém záplat nazývaný Solarich Patch Management, ktorý je určený hlavne pre systémové komponenty.

Balíčkovací systém projektu Indiana

V rámci projektu Indiana, ktorý je jedným z projektov realizovaných v rámci OpenSolaris je Image Packaging System (IPS). Tento je v súčasnosti v štádiu vývoja a kladie si za cieľ vytvorenie multiplatformového univerzálneho balíčkovacieho systému. Niektoré z jeho avizovaných vlastností by mali byť:

ict ve školství 24

  • Univerzálnosť (podpora operačných systémov Solaris, Linux, Windows, Mac OS a iných)
  • Možnosť inštalovať balíčky aj pre ne-administrátorských používateľov
  • Skupinovanie balíčkov
  • Jednoduché vytváranie a uverejňovanie vlastných balíčkov
  • Možnosť návratu do stavu pred aktualizáciou v prípade jej neúspechu
  • Možnosť správy balíčkov na viacerých serveroch súčasne
  • Naviazanie zadefinovaných akcií na operácie pridania, resp. odstránenia balíčka (tzv. trigger)
  • Závislosti na súboroch, ktoré nie sú súčasťou balíčkov

Zdroje

[1] Matúš Kováčik, Štúdia pokročilých vlastností operačného systému Solaris – Diplomová práca, Bratislava: FIIT STU, 2007

[2] Peter Ronai, Solaris Packaging – jednoduchý návod, Root.cz