2005 Gruodis 27

Programų instaliavimas

Įrašyta kategorijose: BSD — tmv @ 21:12

FreeBSD katalogų struktūra yra griežtai kontroliuojama. Todėl viskas, kas yra instaliuojama, turi patekti
į /usr/local katalogą. Linux OS programų instaliavimas yra mažiau kontroliuojamas. Pvz: jei programa
pagal nutylėjimą savo bibliotekas laiko /var/lib kataloge, o config failus /etc kataloge, tai FreeBSD sistemoje
instaliuojant programą failai patenka atitinkamai į /usr/local/lib ir /usr/local/etc.
O programos paleidžiamieji failai į /usr/local/etc/rc.d. Šie failai yra vykdomi po /etc/rc.d esančių failų.
Taigi, instaliavus programą, nereikia daug ieškoti kur yra config ar kiti failai, kuriuos norite pakeisti po instaliacijos.

Programų instaliavimas FreeBSD sistemoje yra gana paprastas. FreeBSD naudoja du programų instaliavimo būdus:
1. Instaliacija iš paketų naudojant programas pkg_* (pkg_add, pkg_update ir kt.).
2. Instaliacija iš portų.
Na ir žinoma galima pačiam sukonfiguruoti/sukompiliuoti/suinstaliuoti, tačiau tai nerekomenduojama,
nes gali atsirasti nenumatyti katalogai, ar pvz: config failai patekti i /etc, o ne į /usr/local/etc katalogą.

:: /usr/local katalogo struktūra

bin - binariniai failai, sukompiliuotos programos.
etc - config failai.
include - C failai naudojami kompiliacijos metu.
info - naudojami dokumentacijos sukurimui.
lib - įvairios bibliotekos.
libexec - programų naudojami pagalbiniai binariniai failai.
man - instaliuotų programų aprašymai.
sbin - sisteminiai binariniai failai.
share - programų aprašymai, ivairi informacija, kuri vienoda visoms architektūroms (alpha, 386) ir kt.
var - darbiniai įdiegtų programų failai, laikini kintamieji.
Katalogų struktūra beveik tokia pat kaip ir /usr kataloge. /usr/local reikalingas tam,
kad atskirtų vartotojo instaliuotų programų failus nuo bazinės FreeBSD instaliacijos failų.

:: Programų paieška

Prieš instaliuojant programą jums būtina žinoti, ar galima rasti jūsu norimą programą portuose ar paketuose.
Pagrindinis portų puslapis yra http://www.freshports.org/. Ten viskas yra suskirstyta į kategorijas, galima paieška.
Paketus galite rasti adresu ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages.

:: Informacija apie įdiegtas programas

kokios programos jau yra instaliuotos:
#pkg_info
jei norite, kad rodytų puslapiais surinkite:
#pkg_info | less
AbiWord2-2.0.1 An open-source, cross-platform WYSIWYG word processor
BitchX-1.0c19_1 An alternative ircII color client with optional GTK/GNOME
Hermes-1.3.2 Fast pixel formats conversion library
Mesa-3.4.2_2 A graphics library similar to SGI’s OpenGL
ORBit2-2.6.0 High-performance CORBA ORB with support for the C language
…..

Informacija apie instaliuotų programų versijas:
#pkg_version -v | less
AbiWord2-2.0.1 < needs updating (port has 2.0.2)
BitchX-1.0c19_1 < needs updating (port has 1.0c19_3)
XFree86-4.3.0,1 = up-to-date with port
…..

taip pat galima peržiūrėti ar nėra jau instaliuota programa.
Ši komanda išrinks tik jūsu užduotos programos įrašus:
#pkg_info | grep xmms
xmms-cdread-0.14a A XMMS input plugin for read AudioCD via IDE bus
xmms-midi-0.03 XMMS input plugin to play midi files
xmms-volnorm-0.8.1 Volume Normalizer plugin for XMMS

pkg_info komanda skaito duomenis iš katalogo /var/db/pkg. Taigi, galite nueiti į šį katalogą:
#cd /var/db/pkg
ir peržiurėti instaliuotas programas:
#ls | less
AbiWord2-2.0.1
BitchX-1.0c19_1
Hermes-1.3.2

:: Instaliavimas iš paketų

.: Naudojant sysinstall

#/stand/sysinstall
Pasirodys lenetelė. Pasirinkite punktą
Configure > Packages
paskui, jei turite FreeBSD instaliacinį diską, rinkitės “CD/DVD” punktą, jei ne,
galite rinktis “FTP”, “Floppy”, ar kurį kitą punktą.
Paskui pasirinksite paketą kuri norite instaliuoti, galite išsirinkti kelis. Paskui pasirinkite punktą “Install”.

.: Naudojant pkg_* programą

Naudojamos programos pkg_add, pkg_delete, pkg_info, pkg_update, pkg_version, pkg_create ir kitos.
Instaliuoti programą:
šiuo atveju pirma parsisiunčiame programą, o tada instaliuojame:
#fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages/multimedia/xmms-1.2.8_1.tgz
#pkg_add xmms-1.2.8_1.tgz
šiuo atveju parsiunčia pati pkg_add programa ir tada instaliuoja:
#pkg_add ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages/multimedia/xmms-1.2.8_1.tgz
jei naudosite šią komandą programa pkg_add nustatys jūsų FreeBSD versiją ir parsiųs norimą programą
iš ftp serverio ir suinstaliuos:
#pkg_add -r xmms
Pašalinti programą:
#pkg_delete /var/db/pkg/xmms-1.2.8_1

:: Instaliavimas iš portų

Instaliuoti portus galima FreeBSD instaliavimo metu, naudodamiesi /stand/sysinstall, arba atsisiųsdami iš interneto.
Parsisiųsti galima šiuo būdu:
#fetch -o ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/ports.tar.gz | tar xfvz -C /usr

.: Instaliavimas

Norint instaliuoti reikiamą programą iš portų, reikia pereiti į norimos programos katalogą:
#cd /usr/ports/audio/xmms
Jeigu nežinote kur yra norima programa galite paieškoti:
#whereis xmms
xmms: /usr/ports/multimedia/xmms
tai reiškia, kad xmms portas yra kataloge /usr/ports/multimedia/xmms, taigi nueiname ten:
#cd /usr/ports/multimedia/xmms
paskui surenkame:
#make
#make install
#make clean
pirma komanda sukompiliuoja paketą.
antra instaliuoja.
trečia ištrina darbinį paketo katalogą.
arba galima iškart:
#make install clean

.: Kaip visa tai veikia

surinkus komandą:
#make install
vykdomos tokios komandos:
fetch - parsiunčia instaliuojamos programos pradinius tekstus (xmms-1.2.8_1.tar.gz) ir patalpina
į /usr/ports/distfiles katalogą.
checksum - patikrina MD5 paketo sumą.Saugumo sumetimais.
extract - išarchyvuoja paketą į darbinį katalogą, šiuo atveju i /usr/ports/multimedia/xmms/work.
patch - įneša pataisymus iš katalogo files, šiuo atveju i /usr/ports/multimedia/xmms/files. Files katalogo gali ir nebūti.
configure - sukonfiguruoja ir paruošia pradinius tekstus kompiliavimui.
build - kompiliuoja ir instaliuoja paketą.

.: Norint ištrinti instaliuotą programą

#make deinstall
ši komanda veikia tik tai paketo versijai kuri buvo instaliuota. Jei paketas buvo atnaujintas,
tai ši komanda neveiks. Taip pat neveiks jeigu instaliavote naudodamiesi komanda make install clean
arba po to atlikote komandą make clean. Tuomet reikia naudoti komandą pkg_delete.

.: Disko vietos atlaisvinimas

Jei instaliuojate programą iš portų ir taupote disko vietą, patartina naudoti komandą:
#make install clean
nes paskutinė komanda clean ištrina darbinį katalogą work, kuris užima disko vietą.
Taip pat galite ištrinti ir failus esančius /usr/local/distfiles kataloge. Bet tai daryti nerekomenduojama,
nes jei pasirodys kokia skylė programoje ir norėsite programą perkompiliuoti su nauju patchu tai
vėl teks siųstis programos pradinius tekstus.

:: Portų atnaujinimas.

Atnaujinti portus galima naudojant programėle CVSup. Tam reikia instaliuoti programą cvsup-bin.
Po to reikia nueiti į katalogą /usr/ports/net/cvsupit:
#cd /usr/ports/net/cvsupit
ir surinkti komandą:
#make install
Jums parodys lentelę iš kurios turėsite pasirinkti iš kokios versijos norite atnaujinti portus.
Punktas . (taškas) reiškia naujausias portų versijas. Jį ir pasirinkite. Kitus punktus pasirinkite pagal nutylėjimą.
Iš tiesų nieko nėra instaliuojama, bet yra sukuriamas /etc/cvsupfile failas, kurį naudoja CVSup.
Paskui galite atsidaryti failą /etc/cvsupfile:
#ee /etc/cvsupfile
ten pamatysite kažką panašaus į:
*default host=cvsup10.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs
*default tag=.
*default delete use-rel-suffix
src-all
*default tag=.
ports-all
doc-all
užkomenuokite eilutes prasidedančias src-, nes pradinius tekstus atnaujinti nebūtina.
O bus atnaujinami tik portai ir manualai :).
eilutė cvsup10.FreeBSD.org reiškia iš kurio serverio bus atnaujinami portai.
Kuo didesnis cvsup numeris tuo mažiau gali būti apkrautas.
Paskui surinkite:
#/usr/local/bin/cvsup -g -L 2 /etc/cvsupfile
Taip pat galite padaryti, kad portai būtu atnaujinami kas dieną ar savaitę. Tam yra naudojama crontab programa.
Galima sukurti nereikalingų atnaujinti portų sąrašą.
Sukurkite failą “refuse”:
#ee /usr/sup/ports-all/refuse
ten irašykite portus kurių jus nenorite atnaujinti. Pas mane įrašyta kažkas panašaus į:
ports/hungarian
ports/japanese
ports/polish
doc/ja_*
doc/nl_*
ports/biology

Visi šitie portai nebus atnaujinami. Nes man tai tikrai nereikalingi manualai japonų kalba :).

:: Po instaliacijos

Instaliavus norimą programą surinkite:
#rehash
ši komanda “perkrauna” shell’a todėl iškart galėsite įdiegtą programą paleisti:
#xmms

:: Kas geriau portai ar paketai ?

.: Paketų privalumai

*suspausti .tgz paketai užima mažiau vietos nei pradiniai tekstai.
*instaliuojant su pkg_* paketas nėra kompiliuojamas, o tokiems gigantams kaip
Mozilla, KDE arba GNOME kompiliacija užima daug laiko. Taigi, instaliuojant iš paketo sugaištama mažiau laiko.

.: Portų privalumai

*instaliuojant programą iš portų galima keisti kompiliacijos parametrus. Na pvz. galima susikompiliuoti
paketą ne Pentium procesoriui, o Athlon. O aiškiau, tai jei jūs naudojate KDE,
galite instaliuojant xmms pakeisti WANT_GNOME parametrą į “no”.
*kai kurių programų licencija neleidžia platinti programą binariniu pavidalu, galimi tik pradiniai tekstai.
*saugumas. Galite patys patikrinti ar teisingai parašyti pradiniai tekstai :).
*jeigu jūs turite lopus (patch) galite juos pritaikyti diegiamai programai.
*portuose galima rasti naujesnes programų versijas.

PABAIGA

Komentarų nėra »

Komentarų nėra.

Šio įrašo komentarų RSS kanalas. TrackBack URL

Palikite komentarą

Comment spam protected by SpamBam

Variklis: WordPress