Kui sa oled ka varem UNIX® süsteeme kasutanud, siis tead arvatavasti, et tüüpliline lisatarkvara paigaldamise protsess näeb välja umbes selline:
Laadi tarkvara alla. See võib olla nii lähtekoodina kui ka binaarfailidena.
Paki tarkvara lahti (tavaliselt tar-formaadis fail, mis on pakitud compress(1), gzip(1) või bzip2(1) abil ).
Otsi üles dokumentatsioon (tavaliselt kas README - või INSTALL-fail või failid kataloogis doc/) ja loe sealt, kuidas antud tarkvara installeeritakse.
Kui tarkvara on lähtekoodina, siis tuleb see kompileerida. Selleks pead sa võib-olla redigeerima Makefile'i või käivitama configure-skripti ning võib-olla tegema veel mõningaid muudatusi.
Paigalda ja testi tarkvara.
Ja seda ainult juhul, kui asjad lähevad hästi. Kui sa üritad paigaldada programmi, mis pole eelnevalt FreeBSDle porditud, siis võib selle töölesaamiseks olla vaja isegi lähtekoodi redigeerida.
Soovi korral võid sa FreeBSD-s muidugi tarkvara paigaldada ka edaspidi sellisel traditsioonilisel viisil. FreeBSD-l on aga kaks tehnoloogiat, mis sind sellest vaevast säästavad: pakid ja portsud. Selle teksti kirjutamise hetkel on neid saadaval üle 12,300 programmi.
Iga programm on pakina ühes failis, mille sa peaksid alla laadima. Pakk sisaldab programmi jaoks eelkompileeritud käskude koopiaid, konfiguratsioonifaile ning dokumenatsiooni. Allalaaditud pakiga töötamiseks on süsteemis olemas käsud pkg_add(1), pkg_delete(1), pkg_info(1), jne. Uue rakenduse paigaldamiseks piisab pakkide puhul vaid ühest käsust.
FreeBSD ports mingist rakendusest on komplekt faile, mis automatiseerivad rakenduse lähtekoodist binaarfailiks kompileerimist.
Pea meeles, et tavaliselt peaksid sa kasutama programmi kompileerimiseks mitut käsku (lahtipakkimine, paikamine, kompileerimine, installeerimine). Failid, mis on portsu koosseisus, sisaldavad aga ise kogu vajalikku informatsiooni ja see võimaldab kõike eelpoolmainitut süsteemil sinu eest teha. Sa pead sisestama üksikud lihtsad käsud ja programmi lähtekood laaditakse sinu eest alla, pakitakse lahti, paigatakse, kompileeritakse ja installeeritakse sinu eest.
Muuseas saab portsude süsteemi kasutada ka pakkide loomiseks, mida saab hiljem kasutada pkg_add-i ja teiste pakihalduskäskudega.
Nii portsud kui ka pakid saavad aru sõltuvustest . Oletame, et sa tahad installeerida programmi, mis sõltub mingist teegist. Nii programm kui ka rakendus on saadaval FreeBSD portsude ja pakkide süsteemi kaudu. Nii pkg_add kui ka portsude süsteem saavad aru, et vajalik teek pole installeeritud, ja instaleerivad esiteks selle.
Arvestades, et mõlemad tehnoloogiad on suhteliselt sarnased, võib tekkida küsimus, miks FreeBSD üldse mõlemat kasutab. Asi on selles, et mõlemal süsteemil on oma tugevad küljed ja see, kumba kasutada, sõltub ainult sinu eelistusest.
Pakkide eelised
Pakk on üldjuhul väiksem kui sama rakenduse tar-failiks kokku pakitud lähtekood.
Pakkide puhul pole vaja midagi kompileerida. See võib olla väga oluline suurte programmide puhul nagu Mozilla , KDE või GNOME ning eriti oluline aeglaste süsteemi puhul.
Pakkide puhul ei pea sul olema mingeid teadmisi tarkvara kompileerimise protsessist FreeBSD-s.
Portsude eelised
Tavaliselt on pakid kompileeritud väga konservatiivse seadistusega, kuna nad peavad töötama võimalikult paljudel süsteemidel. Installeerides portsust võid sa muuta kompileerimise seadistusi näiteks selliseks, et genereeritaks Pentium IV või Athloni protsessorile spetsiifilist koodi.
Mõnede pakkide puhul määrab kompileerimiseks kasutatud seadistus ära, mida programm saab teha ja mida mitte. Üheks selliseks programmiks, mida saab kompileerida paljude eri seadistustega, on näiteks Apache. Kasutades portsu ei pea sa leppima vaikeväärtustega, vaid saad neid ise valida.
Mõningatel juhtudel on sama rakendus saadaval mitme eri pakina, et anda võimalus valida erinevate seadistuste vahel. Näiteks on Ghostscript saadaval ghostscript- ja ghostscript-nox11- pakkidena, sõltuvalt sellest, kas sul on paigaldatud X11 server. Selline kohmakas valikuvõimaluse andmine on pakkide puhul seega kuigipalju küll võimalik, kuid muutub võimatuks niipea, kui rakendusel on rohkem kui paar üksikut kompileerimise valikut.
Mõnede programmide litsents keelab nende levitamise binaarfailidena. Sellisel juhul on nende lähtekoodina levitamine ainus võimalus.
Mõned inimesed ei usalda binaarkujul levitatavaid asju. Lähtekoodi omades on sul vähemalt teoreetiline võimalus see läbi lugeda ja sealt potentsiaalseid probleeme otsida.
Kui sul on kohalikke paikasid, siis läheb sul nende programmile pealepanekuks vaja lähtekoodi.
Osale inimestest meeldib, kui kood on käepärast, et nad saaksid seda igavuse korral lugeda, seda häkkida või sealt laenata (kui litsents seda muidugi lubab) jne.
Et hoida silma peal uuendatud portsudel, peaksid sa endale tellima meililistid FreeBSD ports mailing list and the FreeBSD ports bugs mailing list.
WarningEnne mingi rakenduse paigaldamist peaksid uurima lehte aadressil http://vuxml.freebsd.org/, et olla kursis seda rakendust puudutavate võimalike turvaprobleemidega.
Võid paigaldada ka portsu nimega security/portaudit, mis kontrollib automaatselt iga paigaldatatud rakenduse kohta teadaolevaid nõrku kohti, sama asja uuritakse enne iga uue portsu ehitamist. Samal ajal, kui oled paigaldanud pakke, saad kasutada käsku portaudit -F -a
Ülejäänud osa sellest peatükist selgitab, kuidas pakke ja portse kolmandate osapoolte tarkvara paigaldamiseks ja programmide töö korraldamiseks FreeBSD all kasutada.