Programinės įrangos diegimas bei tvarkymas Debian GNU/Linux pagrindu padarytose distribucijose
Autorius: Mantas Kriaučiūnas
(mantas@akl.lt)
Reikalavimai: norėti suprasti, kaip naudotis Debian GNU/Linux paketų tvarkymo sistema (reikės naudotis apt, dpkg ar eiliniam
vartotojui patogesniais paketų menedžeriais: aptitude, deity,
synaptic, smart package manager, red-carpet)
Dirbant su bet kokia operacine sistema dažnai
prireikia kažkokių naujų programų, šriftų, draiverių ar
kitokių dalykėlių, kurių kažkodėl nėra tavojoje sistemoje :)
Jeigu
jūs jau susidūrėte su 'šviežių baitukų poreikiu' debian
operacinėje sistemoje - vadinasi šis straipsnelis kaip tik
jums. Jį perskaitę sužinosite kaip jį korektiškai įdiegti
programas, šriftus ir kitus įdomius dalykus Debian GNU/Linux pagrindu padarytose OS, pvz Baltix ar Ubuntu.
Debian'e, kaip ir daugumoje Linux distribucijų yra
naudojama paketų valdymo sistema - t.y. programos, šriftai,
dokumentacija ir t.t. sudedami į specialius archyvus, kurie vadinami
paketais. Debian paketų bylų galūnė yra .deb. Viena programa
gali būti išskaidyta į kelis paketus: pvz tekstų redaktorius
AbiWord susideda iš paketų abiword-common, abiword-doc,
abiword-gnome, abiword-gtk, abiword-plugins bei xfonts-abi.
Paketų
valdymo sistema susideda iš:
1. Duomenų bazės, kurioje
įrašyta kokie paketai yra įdiegti tavo į operacinę sistemą,
kokios bylos kokiems paketams priklauso, taip pat priklausomybės tarp
paketų (kad veiktų vienos programos joms reikia kitų programų, šriftų
ir t.t., pvz abiword-gnome paketui reikalingas abiword-common
paketas)
2. Įrankių (programų), kurių pagalba galima įdiegti,
išmesti bei konfigūruoti paketus.
Tai tiek teorijos, o
dabar norėčiau perspėti nekantriuosius:
Diegti programinę įrangą ne iš
specialiai debian'ui sukurtų paketų (ne iš paketo_vardas.deb)
į /usr ar kitus
sisteminius katalogus (išskyrus /usr/local) yra tikra nesamonė,
kadangi tuomet paketų valdymo sistema iš dalies praranda
prasmę, o ir Debian GNU/Linux pagrindu padaryta OS gali pasidaryti nestabili. Tas pats
galioja ir
bylų, esančių sisteminiuose kataloguose trynimui ar
modifikavimui.
Paketams įdiegti, išmesti bei peržiūrėti galima naudoti grafinėje bei tekstinėje aplinkoje veikiančius įrankius - paketų menedžerius arba specialias komandas. Paprasčiausia ir daugeliu atveju patogiausia yra naudotis paketų menedžeriais. Vienas iš populiariausių paketų menedžerių yra Synaptic:

Jo pagalba galima ne tik įdiegti ar išmesti paketus, bet ir keisti paketų saugyklų (repozitorijų) sąrašą, konfigūruoti paketus, pažiūrėti pakeitimų žurnalą ir t.t.
Paketams įdiegti, išmesti bei peržiūrėti naudojama dpkg komanda. Pvz.: jei norite įdiegti paketą etherconf_1.10_all.deb rašykite:
dpkg -i
etherconf_1.10_all.deb
Jei norite išmesti - rašykite:
dpkg -r etherconf
Kitose linux distribucijose dažnai yra naudojama
rpm komanda, kuri yra praktiškai tas pats, kad ir dpkg komanda
Debian GNU/Linux pagrindu padarytose distribucijose.
Paketus konfigūruoti galima su
dpkg-reconfigure komanda, pvz norėdami pakeisti tinklo
parametrus rašykite:
dpkg-reconfigure etherconf
Paketas, kurį konfigūruojate turi būti jau įdiegtas į sistemą.
Dirbdami su dpkg pastebėsite, kad dažnai diegiant vieną paketą gaunate pranešimą, kad paketas negali būti įdiegtas, kadangi jam reikia kažkokio kito paketo. Tokiems ir kitokiems nepatogumams išspręsti buvo sukurti aukštesnio lygio paketų įrankiai - Advanced Package Tools (sutrumpintai APT). Jų pagalba programinės įrangos įdiegimas, išmetimas bei paieška žymiai pagreitėjo ir tapo labai paprasta. APT susideda iš dviejų dalių:
1.
Duomenų bazės apie įdiegtus bei galimus įdiegti paketus (angliškai
vadinama apt cache).
2. Įrankių (programų), kurių pagalba galima
įdiegti, išmesti bei konfigūruoti prieinamų paketų duomenų
bazę bei pačius paketus.
Duomenų bazė apie prieinamus įdiegti paketus formuojama iš taip vadinamų paketų saugyklų (šaltinių, angliškai packages sources), kurie yra surašomi į konfigūracinę bylą /etc/apt/sources.list. Pavyzdžiui stabilios Debian versijos paketų šaltinis (kitaip tariant - įrašas byloje /etc/apt/sources.list) iš iš lietuviško debian veidrodžio atrodo taip:
deb http://debian.balt.net/debian/ stable main contrib non-free
Stabilios (2005 metų 10 mėn.) Ubuntu versijos paketų šaltinis atrodo taip:
deb http://lt.archive.ubuntu.com/ubuntu breezy main restricted universe multiverse
Pradedantiesiems paketų šaltinius
daug patogiau bus tvarkyti su atitinkamu įrankiu: apt-setup.
Jį paleidę galėsite pridėti paketų šaltinius iš CD,
interneto ar disko. Jei dirbate grafinėje aplinkoje - galite
įsidiegti gtk-sources įrankį.
Pridėję jums reikalingus
apt-šaltinius turite atnaujinti prieinamų paketų duomenų bazę,
tai padaro komanda apt-get update.
. Paketams įdiegti
naudojamos komanda: apt-get install paketo_vardas, o išmesti:
apt-get remove paketo_vardas. Paketų paieškai naudokite
komandą apt-cache search raktiniai žodžiai. Tarkim jūs norite
įsidiegti kokią nors garso grojimo programą. Taigi - iš
pradžių reikia susirasti:
apt-cache search audio player
įvykdę
šią komandą gausite paketų sąrašą su
aprašymais:
mp3blaster - Full-screen console mp3 and ogg
vorbis player
mpg321 - A Free command-line mp3 player, compatible
with mpg123
noatun-plugins - plugins for Noatun, the KDE media
player
python-id3 - Python module for id3-tags manipulation
rawrec
- Buffered raw audio recorder/player
rio500 - Diamond Rio500
digital audio player support
setcd - Control the behaviour of your
cdrom device
smpeg-gtv - SMPEG GTK+ MPEG audio/video
player
smpeg-plaympeg - SMPEG command line MPEG audio/video
player
splay - Sound player for MPEG-1,2 layer 1,2,3
toolame -
MPEG-1 layer 2 audio encoder
xmms - Versatile X audio player that
looks like Winamp
Paskaičius rastų paketų aprašymus
tereikia įdiegti jums patinkančią programą, pvz xmms: apt-get install
xmms
Darbui su paketais yra sukurta keletas apt apvalkalų,
kurie dar labiau pagreitina ir palengvina programų įdiegimą, suradimą
ar išmetimą. Patogiausi iš jų yra aptitude
(tekstinio režimo) bei stormpkg ir synaptic (dirba tik
grafinėje aplinkoje).
Darbui su paketais tekstiniame režime
rekomenduoju naudoti ne apt-get, o aptitude. Ją galima naudoti
ne tik dialoginiame režime (jis įsijungia paleidus aptitude be jokių
parametrų), bet ir kaip apt-get pakaitalą komandiniame režime - pvz.:
įdiegti paketą: aptitude install paketo_vardas
išmesti
paketą: aptitude remove paketo_vardas
kitas komandinio
režimo galimybes gausite parašę: aptitude --help
Taigi,
surasti, įdiegti, bei išmesti programas jau mokame, beliko
sužinoti kur rasti tuos paketų šaltinius, kuriuose yra naujos
programos, šriftai, draiveriai ir t.t. arba blogiausiu atveju,
kur rasti atskirus paketus. Ieškoti siūlyčiau pradėti tokiais
metodais:
1. Visų pirma pažiūrėti ar reikalingos programinės
įrangos nėra jūsų naudojamoje debian versijos (distribucijas)
repositoriume. Pagrindinis debian repositoriumo puslapis yra
http://packages.debian.org. Visų pirma siūlyčiau susirasti ar yra
tenai kartais nėra reikiamos programinės įrangos. Ieškoti yra
labai paprasta - tereikia įrašyti raktinį žodį (pvz jei reikia
draiverių NVIDIA video kortai įrašykite žodį nvidia). Jei pas
jus teisingai sukonfigūruoti apt šaltiniai - paieškai
galite naudoti komandą apt-cache search arba apt apvalkalus - deity,
stormpkg ir pan. Jei rasite reikiamą programinę įrangą, skirtą jūsų
naudojamai debian versijai - puiku, tereikia pasinaudoti paketų
įdiegimo įrankiais - dpkg (diegiant atskirus, diske esančius paketus)
arba apt-get install (diegiant paketus iš paketų
šaltinių).
2. Jei paketo nėra debian repositoriume,
galima nueiti į apt-get.org
(pagrindinis neoficialių debian paketų šaltinių puslapis) arba
paprasčiausiai paieškoti paketų šiuose puslapiuose:
www.debian.org, www.debianplannet.org, www.debianhelp.org,
www.google.com ir t.t. ir paieškoti ar kartais ten nėra
reikiamos programos (ar reikalingos programos versijos). Pvz naujos
bandomosios Xfree86 versijas randasi
http://people.debian.org/~branden/, ten yra ir nuoroda į naujausius
XFree paketus stabiliai Debian versijai (pvz Potato (2.2) ar Woody
(3.0)). Taip pat daug debian paketų galima rasti
http://www.internatif.org/bortzmeyer/debian/apt-sources/.
3.
Jei naudojame stable (ar kitą distribuciją, kurioje reikia daug ką
atnaujinti, norint įdėti paketą iš unstable ar testing) ir
norime įsidėti paketą (arba kažkokią ), kuris yra unstable ar testing
tai atsisiunčiame paketo pirminius tekstus (sources) iš debian
paketų repozitoriaus (apt-get source paketo_vardas) ir pasidarome iš
jų deb paketą savo sistemai (dpkg-buildpackage):
a) į
/etc/apt/sources.list įdedi reikiamos distr. (testing, unstable)
deb-src šaltinį
b) apt-get update
c) apt-get build-dep
paketo_vardas (ši komanda atsiunčia ir įdiegia visus paketus,
kurių reikia pasirinkto paketo kompiliavimui. Jei ji dar nėra
realizuota jūsų naudojamoje debian versijoje - praleisk ją, o paskui
rankiniu būdu, su apt-get install ar pan. sudėk visus reikiamus devel
paketus)
d) apt-get source paketo_vardas (gali panaudoti --build
parametrą)
e) jei nenaudojai --build ankstesnėj komandoj padaryk:
dpkg-source -x paketo_vardas.dsc (ši komanda išskleidžia
atsiųstą pirminių tekstų (sources) archyvą ir pritaiko debian'o
programuotojų padarytus pakeitimus, kurie būna byloje
paketo_vardas.diff.gz. paketo_vardas.dsc atsiras einamajame kataloge
po 'apt-get source' komandos )
cd paketo_vardas
dpkg-buildpackage
-D -us -uc (ši komanda sukompiliuoja ir padaro deb paketus)
cd
..
f) valio, tu jau turi reikiamus deb paketus, skirtus tavo OS
(įsitikinimui - komanda ls -la :)), gali daryti dpkg -i ir t.t.
Taip
pat labai patogu yra naudotis apt-build programa.
4. Jei
vistiek nerandate jums reikalingų programų (arba rastos paketų
versijos yra per senos) - pažiūrėkite Experimental distribuciją - į
/etc/apt/sources.lists įdėkite:
deb
http://debian.balt.net/debian ../project/experimental main contrib
non-free
(debian.balt.net galima pakeisti bet kuriuo kitu
debian mirror, nes Experimental distribucija yra kiekviename debian
veidrodyje, žr.:
http://www.debian.org/doc/manuals/quick-reference/ch-system.en.html#s-dirtree)
daugiau
inf apie Experimental distribuciją rasite:
http://www.debian.org/doc/developers-reference/ch-resources.en.html#s4.7.4.2
5.
Jei aukščiau pasiūlyti būdai netinka, tačiau paketą galima
gauti RPM formatu, bandykite pasinaudoti alien programa. (konvertuoja
tarp deb, rpm ir kitų formatų)
6. Žinoma, dar galima patiems
kompiliuotis ar instaliuotis visokiu instalerių pagalba (kaip Windows
OS), tačiau tik ne į tuos pačius katalogus, kur dedami failai iš
paketų, o pvz į /usr/local arba /home. O jei programoms reikia kad
pvz X'ai būtų /usr/X11R6 tai nepamirškime puikios Linux
savybės - simbolinių nuorodų (symlink) ;)