Anketa

Ktorý návod by ste cheli ako ďalší?:

Partenské projekty

FreeBSD - Prehľad o inštalovaní softvéru

Verzia pre tlačSend by emailPDF verzia

Ak sme už používali systém UNIX®, vieme, že postup na inštaláciu softvéru od tretích strán vyzerá takto:

  1. Stiahneme si softvér, ktorých môže byť distribuovaný ako zdrojový kód alebo binárne.

  2. Rozbalíme softvér z jeho distribučného formátu (zvyčajne ide o tar balík skomprimovaný pomocou compress(1), gzip(1), alebo bzip2(1)).

  3. Vyhľadáme dokumentáciu (pravdepodobne v súbore INSTALL alebo README alebo v nejakom súbore v podadresári doc/) a prečítame si ako softvér nainštalovať.

  4. Ak je softvér distribuovaný v podobe zdrojového kódu, preložíme ho do binárneho tvaru. To si môže vyžadovať úpravu súboru Makefile alebo spustenie skriptu configure a ďalšiu potrebnú prácu.

  5. Otestujeme nainštalovaný softvér.

Takto to však funguje iba v prípade, že všetko pôjde hladko. Ak inštalujeme softvérový balík, ktorý nebol portovaný pre FreeBSD, môže byť potrebné vojsť do zdrojového kódu a upraviť ho, aby fungoval správne.

Ak chceme, môžeme naďalej inštalovať softvér týmto  “tradičným” spôsobom, no FreeBSD poskytuje dve technológie, ktoré nám môžu ušetriť mnoho úsilia: balíky a porty. V čase písania príručky, existovalo cez 20,000 aplikácií od tretích strán, ktoré boli týmto spôsobom dostupné.

Pre inštaláciu ktorejkoľvek zo spomínaných aplikácií je potrebné stiahnuť FreeBSD balík. Tento balík obsahuj predkompilované kópie všetkých príkazov pre aplikáciu spolu s konfiguračnými súbormi a dokumentáciou. Stiahnutý balík sa dá spracovávať pomocou FreeBSD príkazov na správu balíkov ako napríklad pkg_add(1), pkg_delete(1), pkg_info(1) atď. Inštaláciu novej aplikácie je možné vykonať zadaním jedného príkazu.

FreeBSD port pre aplikáciu je zbierka súborov navrhnutých pre automatizáciu procesu prekladu zo zdrojového kódu.

Za normálnych okolností je potrebné pri svojpomocnom preklade programu vykonať mnoho úkonov  (stiahnutie, rozbalenie, aplikovanie záplat, preloženie do binárneho tvaru, nainštalovanie). Súbory, ktoré tvoria port, obsahujú všetky potrebné informácie na to, aby to systém urobil za nás. My ručne spustíme iba jeden príkaz a zdrojový súbor pre aplikáciu sa automaticky stiahne, rozbalí, aplikujú sa záplaty, preloží sa a nainštaluje.

Systém portov tiež môže byť využitý na vytvorenie balíkov, s ktorými neskôr môžeme pracovať pomocou  pkg_add a ostatnými príkazmi na správu balíkov.

Balíky aj porty rešpektujú závislosti. Ak chcme nainštalovať aplikáciu, ktorá závisí od konkrétnej knižnice, ktorú je potrebné nainštalovať, aplikácia aj knižnica sú dostupné ako FreeBSD porty a ako balíky. Ak na pridanie aplikácie použijeme príkaz pkg_add alebo systém portov, v oboch prípadoch nás systém upozorní, že knižnica nie je nainštalovaná a automaticky najskôr nainštaluje potrebnú knižnicu.

Keď sú tieto dve technológie také podobné, podsúva sa otázka, prečo FreeBSD poskytuje obe. Balíky a porty majú svoje výhody, a to, ktoré z nich použijeme, záleží len od našej voľby.

Výhody balíkov

  • Skomprimovaný binárny tar balík je zvyčajne menší, ako skomprimovaný tar balík so zdrojovým kódom aplikácie.

  • Balíky nevyžadujú dodatočné prekladanie do binárneho tvaru. Pre veľké systémy ako Mozilla, KDE alebo GNOME to môže byť dôležité na pomalých systémoch.

  • Balíky nevyžadujú žiadne znalosti o procese prekladu softvéru do binárneho tvaru vo FreeBSD.

Výhody portov

  • Balíky sú zvyčajne prekladané s konzervatívnymi voľbami, aby ich bolo možné spustiť na čo najširšom počte systémov. Inštalovaním z portu, môžeme voľby prekladu prispôsobiť svojmu systému napríklad pre procesor Pentium 4 alebo Athlon.

  • Niektoré aplikácie majú voľby, ktoré určujú čo môžu a čo nemôžu vykonávať. Napríklad aplikácia Apache môže byť nastavená s veľkým rozsahom rôznych zabudovaných volieb. Pri zostavovaní pomocou portu tieto voľby nemusíme prijať a môžeme aplikáciu nastaviť podľa seba.

    V niektorých prípadoch pre jednu aplikáciu existuje viacero balíkov, z ktorých každý používa určité nastavenia. Napríklad Ghostscript je dostupný ako balík ghostscript a balík ghostscript-nox11, podľa toho či máme alebo nemáme nainštalovaný server X11. Takýto druh hrubého nastavenia je možný pomocou balíčkov, no prestáva byť možný ak existujú viac ako dve voľby pri preklade do binárneho kódu.

  • Licenčné podmienky niektorých programov zakazujú distribúciu v binárnej podobe. Tieto programy môžu byť distribuované len vo forme zdrojového kódu.

  • Niektorí ľudia nedôverujú binárnym distribúciám. Ak máme k dispozícii zdrojový kód, môžeme si ho (teoreticky) celý prejsť a sami nájsť a opraviť možné problémy.

  • Ak máme záplaty, potrebujeme zdrojový kód aby sme ich vedeli použiť.

  • Niektorý ľudia dokážu zdrojová kód čítať a vo voľnom čase ho dobrovoľne vylepšujú, vytvárajú pomocou neho iné aplikácie (ak to licencia umožňuje), atď.

Ak chceme sledovať aktualizáciu portov, môžeme sa prihlásiť do mailových konferencií FreeBSD ports mailing listFreeBSD ports bugs mailing list.

Upozornenie: Pred tým, ako nainštalujeme nejakú aplikáciu, mali by sme na stránke http://vuxml.freebsd.org/ skontrolovať, či pri aplikácii, ktorú sa chystáme použiť, neexistujú nejaké bezpečnostné hrozby.

Môžeme si tiež nainštalovať nástroj ports-mgmt/portaudit, ktorý bude aplikácie automaticky kontrolovať, a hľadať známe zraniteľnosti a vykoná kontrolu aj pred zostavením každého portu. Okrem toho môžeme použiť príkaz portaudit -F -a po nainštalovaní niekoľkých balíkov.

Cieľom tejto kapitoly je podať vysvetlenie o tom, ako sa používajú balíky a porty na inštalovanie a správu softvéru pre FreeBSD od tretích strán.