Felhasználóbarát Csomagkezelő Rendszer Kialakítása Debian Alapú Linuxokhoz

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 75

Felhaszn l bar t csomagkezel rendszer ao a o kialakt sa Debian alap Linuxokhoz a u

Pfeiffer Szil rd (Holczer Szil rd) a a http://pfeifferszilard.hu

Tartalomjegyz k e
1. Bevezet s e 2. Ismerked s a csomagokkal e 2.1. A csomag t rt nete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o e 2.2. A csomagokr l altal ban . . . . . . . . . . . . . . . . . . . . . . . . . . o a 3. A Debian csomagok 3.1. Csomagform tum . . . . . . a 3.2. N vkonvenci k . . . . . . . e o 3.3. A control f jl . . . . . . . . a 3.3.1. K telez mez k . . o o o 3.3.2. Opcion lis mez k . . a o 3.4. Csomagkezel szkriptek . . o 3.5. Priorit si szintek . . . . . . a 3.6. Virtu lis csomagok . . . . . a 3.7. F gg s gi viszonyok . . . . u oe 3.8. Pre-depends jelent se . . . e 3.9. Reverse depends jelent se e 3.10. Csomag llapotok . . . . . . a 3.11. Csomagfrisst s . . . . . . . e 4. A Debain csomagkezel eszk zei o o 4.1. dpkg . . . . . . . . . . . . . 4.2. dselect . . . . . . . . . . . . 4.3. apt . . . . . . . . . . . . . . 4.3.1. Az apt-get parancs . 4.3.2. Az apt-cache parancs 1 2 2 2 4 4 4 5 5 5 7 8 9 9 10 10 11 11 12 12 13 15 15 24 28 28 29 31 31 31 31 32 32

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

5. Az APT cache allom ny a 5.1. Az APT cache allom ny c lja . . . . . . . . . . . . . . . . . . . . . . . . a e 5.2. Az APT cache allom ny szerkezete . . . . . . . . . . . . . . . . . . . . . a 6. Az APT programoz sa a 6.1. A csomagkezel programk nyvt r el k szt se o o a o e e 6.2. Cache allom ny el allt sa . . . . . . . . . . . a o a 6.3. Cache allom ny kezel se . . . . . . . . . . . . a e 6.4. Csomagok kezel se . . . . . . . . . . . . . . . e 6.5. Vegyes algoritmusok . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

II

7. Egy csomagkezel alkalmaz s elk szt se o a e e 7.1. A megval st s altal nos l p sei . . . . . o a a e e 7.1.1. K vetelm nyek meghat roz sa . . o e a a 7.1.2. Fejleszt i eszk z k megv laszt sa o o o a a 7.1.3. Csomagk szt s . . . . . . . . . . e e 7.1.4. Terjeszt s . . . . . . . . . . . . . e 7.1.5. Menedzsel s . . . . . . . . . . . e 7.1.6. Visszajelz sek kezel se . . . . . . e e 7.2. A koncepci fel llt sa . . . . . . . . . . o a a 7.2.1. Az alapvet elgondol s . . . . . . o a 7.2.2. A szerkezeti strukt ra . . . . . . u 7.2.3. A keres s . . . . . . . . . . . . . e 7.2.4. A sz r s . . . . . . . . . . . . . . ue 7.2.5. A felhaszn l i fel let . . . . . . . ao u 7.3. Amire a fel let ep l . . . . . . . . . . . . u u 7.3.1. El k sz leti l p sek . . . . . . . o e u e e 7.3.2. A cache allom ny fel pt se . . . a e e 7.3.3. A csomagler k kinyer se . . . . o e 7.3.4. A csomagler k rendez se . . . . o e 7.3.5. A faszerkezet kialakt sa . . . . . a 7.3.6. Keres s a f ban . . . . . . . . . . e a 7.3.7. Elemek kisz r se a f b l . . . . . ue a o 7.3.8. A rendszer frisst se . . . . . . . e 8. A felhaszn l i felulet ao 8.1. Fel letf ggetlen l megl v elemek . u u u e o 8.1.1. Men szerkezet . . . . . . . u 8.1.2. Fa szerkezet megjelent s . u e 8.1.3. Oszlopok a f ban . . . . . . a 8.1.4. Jel l s v . . . . . . . . . . oo a 8.1.5. St tuszb r . . . . . . . . . . a a 8.2. NCurses . . . . . . . . . . . . . . . 8.3. Gtk . . . . . . . . . . . . . . . . . 9. Nemzetk zis g o e 10. Osszefoglal o 11. Summary

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

34 34 34 35 37 38 38 38 38 38 38 40 40 41 41 41 41 42 42 43 44 45 46 47 47 48 49 50 50 50 50 51 53 54 55

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

III

A. Fuggel k e A.1. A cache allom ny fejl ce . . . . . . . . . a e A.2. A cache allom ny csomagler ja . . . . . a o A.3. A cache allom ny archv allom ny ler ja a a o A.4. A cache allom ny verzi sz m ler ja . . . a o a o A.5. A cache allom ny f gg s g ler ja . . . . a u oe o A.6. A cache allom ny f gg s g ler ja . . . . a u oe o

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

56 56 57 57 58 58 58 60 60 61 62 63 63 63 64 64 65 65 66 66 67 67 68 68 71 71

B. Fuggel k e B.1. A fa elemeinek fel pt se . . . . . . . . . . . . . . . . . . . . . . . . . . e e B.2. A fa elemeinek kezel se . . . . . . . . . . . . . . . . . . . . . . . . . . e B.3. Elemek kisz r se a f b l . . . . . . . . . . . . . . . . . . . . . . . . . . ue a o C. Fuggel k e C.1. Abra: C.2. Abra: C.3. Abra: C.4. Abra: C.5. Abra: C.6. Abra: C.7. Abra: C.8. Abra: C.9. Abra: C.10. Abra: C.11. Abra: C.12. Abra: T rgymutat a o Hivatkoz sok a

Grakus fel let . . . . . . . . . . . u Karakteres fel let . . . . . . . . . u e V ltoztat sok erv nyest se . . . . a a e Az APT forr sf jl szerkeszt se . . a a e Egyszer keres s . . . . . . . . . . u e Osszetett keres s . . . . . . . . . . e Sz r s kateg ri ra . . . . . . . . . ue o a Sz r s sz vegre . . . . . . . . . . ue o Megjelentend oszlopok sorrendje o Rendez si elvek . . . . . . . . . . e S g . . . . . . . . . . . . . . . . u o N vjegy . . . . . . . . . . . . . . e

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

1.

Bevezet s e

A manaps g haszn latos Linux alap rendszerek (melyek k z l a Debian, illetve az ennek a a u o u alapjain nyugv UHU-Linux prefer ltak a szakdolgozat megr s n l) mindegyike rendelo a aa a kezik valamely csomagkezel si k pess ggel, amelyet a k vetkez k ppen lehet r viden e e e o o e o osszefoglalni. A csomagok bin ris allom nyok az adott rendszernek megfelel f jlform tummal a a o a a melyeket legink bb a Windows telept programokhoz lehetne hasonltani, b r ann l soka o a a kal tervezettebbek es szabv nyostottabbak. A csomag az altala t rolt programr l tartala a o maz inform ci kat gyis mint n v, priorit s, tpus, m ret, allapot, stb. melyek egyfel l a o u e a e o a rendszerben bet lt tt szerep t azonostj k, m sfel l csomag allapot r l szolg lnak adao o e a a o ao a tokkal. Ezen inform ci k megjelent s re, term szetesen maga a rendszer is kn l lea o e e e a a o het s get, de a c l jelen esetben eppen az, hogy az atlag felhaszn l altal is atl that , oe e ao kezelhet rendszert hozzunk l tre, melynek alapj t a k vetkez otlet k pezi. o e a o o e

2.
2.1.

Ismerked s a csomagokkal e
A csomag t rt nete o e

Kezdetben vala a tar.gz, vagyis minden programot a felhaszn l nak sz ks gk ppen le ao u e e kellett fordtania, ha azokat haszn lni kv nt k Linux rendszereikben. A Debian k szt se a a a e e sor n sz ks gesnek l tt k, hogy rendszer mag ban foglaljon egy csomagkezel eszk zt a u e a a a o o teh t a hres csomag is, aminek a dpkg (Debian PacKage Manager) nevet adt k. Igy a a kifejez s a GNU/Linux rendszerekb l fakadt, m g miel tt a Red Hat megalkotta volna az e o e o o rpm (RedHat Package Manager) rendszer t. Am egy uj dilemma hamar megragadta a e GNU/Linux rendszerek k szt inek gondolat t. Sz ks gesnek l tszott egy gyors, gyakore o a u e a latias es hat kony ut megalkot sa a csomagok telept s re, mely egy ttal automatikusan e a e e u kezeln a f gg s geket, es fel gyeln a kongur ci s allom nyokat a frisst si folyamat e u oe u e a o a e alatt. Ism t a Debian nyitott utat, az APT (Advenced Package Tool) megsz let s vel, m g e u ee e miel tt a Conectiv ban portolt k volna, vagy ak r m s disztrib ci k alkalmazt k volna. o a a a a u o a

2.2.

A csomagokr l altal ban o a

a Altal noss gban elmondhat , hogy a csomag minden olyan f jlt tartalmaz, mely a kiv a o a a lasztott program, illetve tulajdons g megval st s hoz sz ks ges. Alapvet en k t csoa o a a u e o e magfajt t k l nb ztet nk meg: a uo o u Bin ris csomag, ami futtathat es kongur ci s f jlokat, k zik nyvet, inform ci s a o a o a e o a o oldalakat, szerz i jogi inform ci kat es egy b dokumentumokat tartalmaz. Ezek o a o e a f jlok egy Debian-specikus archiv l si form ban ker lnek terjeszt sre, melyea aa a u e ket a kit ntetett .deb kiterjeszt ssel l tnak el. Ezen bin ris allom nyok a Debian u e a a a dpkg nev eszk z vel t m rthet ek ki, melyr l r szletesen annak k zik nyv ben u o e o o o o e e o e olvashatunk. Forr s csomag, mely all egy .dsc f jlb l, ami a forr scsomag jellemz it rja le, valaa a o a o mint egy .orig.tar.gz allom nyb l, mely a forr sok eredeti, v ltoztat s n lk li, tar a o a a a e u a form tum , gzip-el t m rtett v ltozata, es altal ban egy .diff.gz f jlb l, melya u o o a a o ben a Debian-specikus v ltoztat sok tal lhat ak az eredeti forr shoz k pest. Ezen a a a o a e csomagfajta ki- es bet m rt s hez, a dpkg-source eszk z haszn lhat , melyekr l o oe e o a o o b vebben szint n azok k zik nyveiben olvashatunk. o e e o A szoftverek csomagkezel rendszerrel t rt n telept se eset n, f gg s geket keo o e o e e u oe zel nk, melyeket a csomagok karbantart i allaptanak meg. Ezen f gg s gek ler sa a u o u oe a control f jlban t rt nik, melyet minden csomaghoz csatolni kell. P ldak nt megemlthet a o e e e o az a csomag, mely a GNU C fordt t (gcc) tartalmazza, mely f gg a binutils csomagt l, o u o ami az assembler es a linker programokat foglalja mag ban. Ha a felhaszn l megpr b lja a ao o a telepteni a gcc-t an lk l, hogy binutilst m r kor bban teleptette volna, a csomagkezel e u a a o

a rendszer (dpkg) hiba zenetet k ld, hogy ez ut bbi telept se sz ks ges, es le lltja a teu u o e u e lept si folyamatot. Meg kell azonban jegyezni, hogy ez a tulajdons g fel lbr lhat n mi e a u a o e kitart ssal. a

3.
3.1.

A Debian csomagok
Csomagform tum a

A Debian csomag vagy archv f jl futtathat allom nyokat, program k nyvt rakat, il a o a o a letve dokument ci kat tartalmaz, melyek az adott programhoz kapcsol dnak, illetve ana o o nak haszn lat t rj k le. Alapesetben a Debian archv f jl neve a .deb kiterjeszt ssel a a a a e v gz dik. e o A Debian csomag bels szerkezet t a deb (5) k zik nyvoldal rja le. Mivel azono e e o ban ez a szerkezet alland v ltoztat s alatt all, a .deb f jlok kezel s re a dpkg-deb (8) o a a a ee haszn land . a o Eg szen a leg jabb (Woody) disztrib ci ig minden, Debianhoz tartoz archv alloe u u o o m ny, kezelhet volt szabv nyos UNIX parancsok ar es tar segts g vel, ha a dpkg a o a e e parancs nem allt rendelkez sre. e

3.2.

N vkonvenci k e o

A Debian csomagok elnevez sei a k vetkez szab lyszer s get k vetik: e o o a ue o o a a a N v Verzi Sz m-DebianAtdolgoz siSz m.deb e ahol a N v a csomag nev t jel li. Ellen rz sk nt meghat rozhat Debian archv f jlhoz e e o o e e a o a tartoz n v a k vetkez m dszerek egyik vel: o e o o o e a Packages f jl vizsg lat val, mely ugyanazon k nyvt rban t rol dik, ahonnan a a a a o a a o csomagunk is sz rmazik. Ez a f jl szakaszokban tartalmazza a csomagok ler s t. a a aa Minden szakasz els bejegyz se a csomag form lis neve. o e a a dpkg -info N v VVV-RRR.deb parancs kiad s val, ahol VVV a csomag vere aa zi sz m t, RRR pedig a csomag revzi s sz m t jelenti. A megjelen k perny , o a a o a a o e o egyebek mellett, tartalmazza az archv f jlhoz rendelt nevet. a A VVV egy verzi sz m, ami fejleszt s folyamat val all osszef gg sben, es nincs r o a e a u e a meghat rozott szabv ny, b r vannak bevett formul k (19990513 vagy 1.3.8pre1), a a a a melyekt l term szetesen el lehet t rni. o e e Az RRR r sz a Debian revzi s sz m, melyet a Debian fejleszt i (vagy egy ni fele o a o e haszn l k, amennyiben maguknak kv nnak csomagot l trehozni) hat roznak meg. Ez a ao a e a a sz m a Debian csomag revzi s szintj nek felel meg. Egy ujabb szint altal ban v ltoz st a o e a a jelent a Debian MakeFile-ban (debian/rules), a Debian control f jlban (debian/control), a a telept , illetve elt volt szkriptekben (debian/p*), vagy a csomag altal haszn lt kono a o a gur ci s allom nyokban. a o a

3.3.

A control f jl a

Egy hello nev Debian csomaghoz tartoz control f jl kimenete a k vetkez : u o a o o Package: hello Priority: optional Section: devel Installed-Size: 45 Maintainer: Adam Heath <doogie@debian.org> Architecture: i386 Version: 1.3-16 Depends: libc6 (>= 2.1) Description: The classic greeting, and a good example The GNU hello program produces a familiar, friendly greeting. It allows nonprogrammers to use a classic computer science tool which would otherwise be unavailable to them. . Seriously, though: this is an example of how to do a Debian package. It is the Debian version of the GNU Projects hello world program (which is itself an example for the GNU Project). 3.3.1. K telez mez k o o o

Package: <csomagnv> A csomag nev t adja meg. Ez az a n v amellyel hivatkozhae e e a tunk r a k l nb z , csomagkezel eszk z kben, es altal ban de nem felt tlen l a uo o o o o o e u egyezik a Debain archv f jl nev nek els szakasz val. a e o a Version: <verziler karakterlnc> A mez a 3.2 pontban kifejtett verzi o o a o o sz mokat adja meg. a Description: <rvid lers> <b}vebb lers> Els sora r vid ler st ad a o a o a o o a csomagr l, a tov bbi sorok pedig r szletesebb jellemz st adhatnak annak jellego a e e zetess geir l. A b vebb ler s minden sor t egy sz k z karakter kell, hogy mee o o a a o o gel zze, ures sorok eset n a sz k z ut n csup n egy . allhat. o e o o a a 3.3.2. Opcion lis mez k a o

Section: <szekci> Altal nos mez , mely egyfajta csoportba sorolja a csomagokat, o a o azok kateg ri ja alapj n. P ldak nt n h ny egyszer csoport: utils, net, x11, o a a e e e a u mail, stb. Ez egyben annak az alk nyvt rnak a neve is, amiben a csomag a Debian o a FTP szerveren elhelyezkedik. Priority: <fontossg> A mez azt adja meg, hogy mennyire fontos ezt a csomagot a o telepten nk. N h ny szoftver, mint p ld ul a dselect, illetve a console-apt k pes u e a e a e

ezen mez alapj n kategoriz lni a csomagokat. Debian eset n, a fenti k t mez o a a e e o e ert kei nem v laszthat ak szabadon, csak a Policy Manualban lert ert keket vea o e hetik fel, melyek annak eld nt s re haszn lhat k, hogy az adott csomagok milyen o ee a o felhaszn l sra sz nt k. aa a a e Essential: <yes | no> A mez altal ban csak akkor sz ks ges, ha annak ert ke yes, o a u e mivel az arra utal, hogy a csomag sz ks ges a rendszer helyes m k d s hez. A u e u o ee dpkg, vagy egy b m s csomagkezel eszk z, nem engedi meg az ilyen bejegyz ssel e a o o e rendelkez csomagok elt volt s t, hacsak nem haszn ljuk valamelyik k nyszert o a a a a e o (force) opci t. o Architecture: <architektra | all> Az a processzortpus, amihez a bin ris csou a mag fordtva lett. Az egyszer architekt r k a k vetkez k: i386, m68k, alpha, u ua o o e sparc, powerpc, stb. Az all ert k jelent se, hogy a csomag architekt ra-f ggete u u len. Erre megemlthet k p ldak nt a shell, illetve perl szkriptek, valamint a doku o e e ment ci k. a o Source: <forrs neve> A forr scsomag neve, melyb l a bin ris verzi sz rmazik, a a o a o a felt ve ha a kett k z tt elt r s van. e o o o ee Depends: <csomaglista> Azon csomagok list ja, melyeknek m r teleptve es kona a gur lva kell lenni k, hogy ezt a csomagok sikeresek telepthess k. Amennyiben a u u a list ban szerepl csomagok b rmelyike nincs teleptve a rendszeren, a csomaga o a kezel nem enged lyezi ennek telept s t. Mindezek mellett lefuttatja a list ban o e e e a szerepl csomagok postinst szkriptj t. o e Pre-Depends: <csomaglista> Azon csomagok list ja, melyeknek teleptve, illetve a a kongur lva kell lenni k, miel tt az adott csomag telept s be fogn nk. Altal ban a u o e e a ezt a mez t akkor haszn lj k, ha sz ks ges n h ny csomag megl te a teleptend o a a u e e a e o csomag preinst szkriptj nek futtat s hoz. e aa Recommends: <csomaglista> Olyan csomagok, melyek kiv teles esetekt l eltekintve e o egy tt tal lhat ak meg a rendszeren az adott csomaggal. u a o Suggests: <csomaglista> Ezen csomaglista elemei kapcsol dnak a megadott csoo maghoz, n velik annak haszn lhat s g t, de hi nyuk nem befoly solja a csomag o a oa a a a m k d k pess g t. u o o e e e A Depends, Pre-Depends, Recommends es Suggests mez k vagylagos csomagok csoo portjainak list j t tartalmazza. Minden csoport csomagok list j t jelenti, melyek | aa aa (pipe) jellel, ezeken bel l a csomagok k t jellel vannak elv lasztva egym st l. Minden u oo a a o egyes elem egy csomagn v, melyet z r jelek k z tt all verzi sz m k vethet. e ao o o o o a o A verzi sz mot << jel el zi meg, amennyiben az ett l k s bbi verzi k is megfelelnek, o a o o eo o oo es k t jellel elv lasztva a Debian csomag revzi s sz ma k vetheti. Az elfogadott verzi k a o a o o

meghat roz s ra ezen t lmen en a >>, <<, >=, <= es az = jelek haszn latosak, a aa u o a rendre nagyobb, kisebb, nagyobb egyenl , kisebb egyenl es egyenl jelent ssel. o o o e o o Conicts: <csomaglista> Az utk z csomagok list ja. Erre az esetre p lda, ha a e a k t csomag azonos nev allom nyt tartalmaz. A csomagkezel alkalmaz sok e u a o a o o nem enged lyezik utk z csomagok egyidej jelenl t t a rendszerben. Egym ssal e u ee a o e utk z sben l v csomagok Conicts mez inek mindegyik ben szerepel a m sik e o o e a csomag. Replaces: <csomaglista> Azon csomagok list ja, melyek f jljait ezen csomag lea a cser li. Arra haszn lhat , hogy enged lyezz k a csomag sz m ra, hogy m s, m r e a o e u a a a a aban a Conicts mez vel egy tt szok s teleptett csomagok f jljait rja fel l. Altal a u o u a haszn lni, a t bbi csomag elt volt s nak kik nyszert s re, ha a csomagoknak vana o a a a e e e nak azonos allom nyaik. a Provides: <csomaglista> Azon virtu lis csomagok list ja, melyeket ez a csomag a a a ny jt. Altal ban abban az esetben haszn latos, ha t bb csomag k l n-k l n is u a o uo uo ny jthat egy adott szolg ltat st. P ldak nt emlthet ek a gcc es az g++ csomagok u a a e e o melyek mindketten, ny jtj k a c-comiler nev csomagot, melyt l m s csomagok u a u o a is f gghetnek. Ez megold st jelent arra, hogy a f gg csomagoknak ne kelljen isu a u o merni k a f gg s gben szerepl osszes csomag nev t, es ne kellejen a azokat pipe u u oe o e jellel elv lasztva felsorolniuk. a A Conicts, Replaces es Provides mez k vessz vel, vagy whitespace-el elv lasztott o o a list j t tartalmazz k. A Conicts mez vessz i logikai vagy m veletk nt is ertelmezhet aa a o o u e o ek.

3.4.

Csomagkezel szkriptek o

A Debian maintenance szkriptek, olyan futtathat allom nyok, melyek funkci jukt l o a o o f gg en a csomag telept se el tt, illetve ut n hajt dnak v gre. Ezen allom nyok a u o e o a o e a control nev f jlal egy tt a Debian archv f jl r sz t k pezik. Az egyes f jlok a k vetu a u a e e e a o kez k: o preinst Ez a szkript az el tt fut le, miel tt a csomag kit m rt se megt rt nne, az ot o o o oe o e tartalmaz Debian archv allom nyb l (.deb). N h ny szkript le lltja a hozz o a o e a a a kapcsol d szolg ltat sokat, mg azok telept se vagy frisst se be nem fejez dik, o o a a e e o vagyis amg a postinst szkript futtat sa sikeresen le nem z rul. a a postinst Ez a szkript tipikusan a csomag k l nb z kongur ci j t v gzi el, miut n az uo o o a oa e a m r ki lett csomagolva az ot tartalmaz Debian archv allom nyb l. A postinst a o a o szkript gyakorta tesz fel k rd seket a felhaszn l nak, illetve gyelmezteti ot, ha e e ao alap rtelmez seket fogad el, hogy t rjen vissza es kongur lja ujra a csomagot, e e e a

ha a helyzet bizonytalan. N h ny postinst szkript, miut n a csomag telept se, e a a e vagy frisst se befejez d tt, parancsokat hajt v gre szolg ltat sok indt sa, illetve e o o e a a a ujraindt sa erdek ben. a e prerm Ez a szkript a csomaghoz kapcsol d minden szolg ltat st le llt, mivel az el tt o o a a a o fut le, miel tt a csomaghoz tartoz allom nyok elt volt sa megkezd dne. o o a a a o a postrm A szkript altal ban csomaghoz k t d hivatkoz sokat m dost, illetve a csomag oo o a o altal l trehozott allom nyokat t r l. e a oo Jelenleg az osszes fentiekben megemltett control f jl a /var/lib/dpkg/info k nyv a o t rban tal lhat . A minden f jl neve azon csomag nev vel kezd dik, melyhez tartozik, a a o a e o es pont ut n a fent emltett szkriptnevekkel, mint kiterjeszt sekkel, z rulnak. A csoa e a magn v.list nev allom ny az osszes, a csomagn vvel hivatkozott, csomaghoz tartoz e u a e o allom nyt tartalmazza, annak el r si utj val egy tt. a ee a u

3.5.

Priorit si szintek a

A disztrib ci karbantart i minden egyes Debian csomaghoz ugynevezett fontoss gi szinu o o a tet rendelnek hozz , melyek a k vetkez ek lehetnek: a o o Required priorit si szinttel rendelkez csomag felt tlen l sz ks ges a rendszer m k d a o e u u e u o e s hez. Ez a csoport foglalja mag ban mindazokat a csomagokat, melyek a rendszer e a hib inak kezel s re, javt s ra haszn lhat k. a ee a a a o Ezeket a csomagokat nem javallott elt voltani, mivel ez esetben a rendszer tela jesen haszn lhatatlann v lhat, es nem lesz nk k pesek a dpkg segts g vel renda a a u e e e szer nket helyre lltani. Maga a rendszer csak a required priorit s csomagok megu a au l te eset n lehet, hogy gyakorlatilag haszn lhatatlan, de m k d k pes, es rendele e a u o o e kez sre all minden olyan eszk z, mellyel bootolhatunk, illetve tov bbi csomagokat e o a telepthet nk. u Important priorit si szint csomagok az osszes Unix alap rendszerben jelen vannak. a u u Egy b csomagok melyek n lk l a rendszer nem fut, vagy nem haszn lhat megfee e u a o lel en. Ez a szint m g mindg nem foglalja mag ban az Emacs, X11, TEX, vagy o e a m s, ezekhez hasonl an nagy m ret alkalmaz sokat. Az important csomagok a o e u a csup n a rendszer csupasz infrastrukt r j t alkotj k. a uaa a Standard csomagok szabv ny szerint l teznek minden Linux rendszerben, melyek mega e lehet sen kicsi, de nem t lzottan korl tozott karakteres m d csomagokat foglalnak o u a o u magukban. Ezek azok a csomagok, melyek alap rtelmez s szerint telept sre ker lnek, ha a e e e u felhaszn l nem v laszt semmi egyebet. Ez a csoport m g mindig nem tartalmaz ao a e

nagy m ret programokat, de m r r sz t k pezi p ld ul az Emacs es a TEX, illetve e u a e e e e a A L TEX azon r szei, melyek k pesek m k dni grakus fel let n lk l. e e u o u e u Optoinal szinten m r minden olyan csomag telepthet , melyek esszer en elv rhat ak, a o u a o es nem t masztanak k l nleges k vetelm nyeket. Tartalmaz grakus szervert, a a uo o e teljes TEX disztrib ci t, valamint sok egy b hasznos alkalmaz st. u o e a o Extra priorit ssal rendelkez csomagok gyakorta utk znek m s, magasabb priorit si osza o a a t lyba tartoz csomagokkal, es csak akkor hasznosak sz munkra, ha tiszt ban vaa o a a a gyunk vele mire is val k igaz ban. Altal ban van olyan k vetelm ny, mely nem o a o e teszi lehet v , hogy optional priorit s k nt soroljuk be oket. o e au e

3.6.

Virtu lis csomagok a

a A virtu lis csomag olyan altal nos elnevez s, melyet csomagok egyes csoportjaira alkala e mazunk, melyek alapvet en hasonl szolg ltat st ny jtanak. P ldak nt a tin es a trn progo o a a u e e ram emlthet meg, melyek mindegyike hrek olvas sra szolg l, es b rmelyik k k pes o a a a u e kiel gteni egy olyan csomag f gg s geit, melynek hrolvas programra van sz ks ge e u oe o u e m k d s hez. Eppen ez rt, ezek mindegyike ny jtja a news-reader nev virtu lis csomau o ee e u u a got. Hasonl k ppen az exim es a sendmail programok, melyek mail-transport-agent viro e tu lis csomagot ny jthatj k. Az olyan csomagok, melyek f ggenek az emltett virtu lis a u a u a csomagt l, telepthet k abban az esetben, ha a virtu lis csomagot ad csomagok k z l o o a o o u b rmelyik teleptve van, hiszen f gg s g ket m r egyetlen megl v csomag is kiel gti. a u oe u a e o e Abban az esetben, ha t bb csomag is ny jthat egy virtu lis csomagot, a Debian leo u a het s get ad egy prefer lt csomag kiv laszt s ra. Ezt az update-alternatives paoe a a aa ranccsal tehetj k meg. u

3.7.

oe Fugg s gi viszonyok

A Debian csomagkezel si mechanizmusa egy sor csomagf gg si viszonyt deklar l, mee u e a e lyek segts g vel erz kelhet v v lik, hogy melyik az a szint ahol A program m g B e e o e a e program megl t t l f ggetlen l uzemeltethet . eeo u u o A csomag f gg (depends) B csomagt l, ha B-nek teleptve kell lennie ahhoz, hogy A u o futhasson. N mely esetben A nem csup n B-t l, hanem annak valamely verzi j t l e a o oao a f gg. Ilyenkor altal ban egy als hat rt adnak meg, ami azt jelenti, hogy A csomag u o a telept s hez B-nek a megadott, vagy ann l frissebb verzi val kell rendelkeznie. e e a o A csomag abban az esetben javasolja (recommends) B-t, ha a csomag karbantart ja o e ugy t li meg, hogy a legt bb felhaszn l nem kv nja haszn lni A-t, azon szolg lo ao a a a tat sok n lk l melyeket B ny jt. a e u u

10 A csomag tan csolja (suggests) B-t, ha B olyan allom nyokat tartalmaz, melyek a a kapcsol dnak ( s altal ban javtj k) A m k d s hez. o e a a u o ee o A utk zik (conicts) B-vel, amennyiben A nem m k d k pes, ha B teleptve van u o o e a rendszeren. Leggyakrabban az az eset all fenn, hogy A olyan f jlokat tartalmaz, a melyek verzi jukat tekintve t lhaladj k a B-ben megl v ket. o u a e o A cser li (replaces) B-t, ha a B altal l trehozott f jlok t rl dnek, vagy fel lr dnak e e a o o uo A telept se eset n. e e A akkor tartalmazza B-t, ha A, B minden allom ny t, es funkci j t mag ban foga a oa a lalja. Ez a megold s lehet s get ny jt, hogy a felhaszn l k lemezter letet taa oe u ao u kartsanak meg azzal, hogy csak a sz mukra val ban sz ks ges csomagot teleptik. a o u e

3.8.

Pre-depends jelent se e

A pre-depends egy k l nleges f gg s get jelent. Egy k z ns ges csomag eset n, a uo u oe o o e e dpkg kicsomagolja annak archv allom ny t, f ggetlen l att l, hogy f gg s gei k z tt a a u u o u oe o o szerepl csomagok jelen vannak-e a rendszerben vagy sem. A kicsomagol s itt azt jelenti, o a hogy a dpkg kibontja a f jlokat az archv allom nyb l, melyeket a rendszerbe telepteni a a o kv n, majd a hely kre teszi oket. a u Abban az esetben azonban, ha vannak olyan csomagok, melyekt l f gg az eppen teo u leptend csomag, es azok nincsenek teleptve a rendszerben, akkor a dpkg visszautastja o a csomag telept s t a congure szkript futtat sakor. Vannak azonban olyan csomagok is, e e a melyek eset n a kicsomagol st is megtagadja a dpkg mindaddig, amg annak f gg s gei e a u oe nem ker lnek telept sre. Ezeket a f gg s geket nevezz k pre-depends-nek. u e u oe u

3.9.

Reverse depends jelent se e

Ez a f gg s gi viszony nem m s, mint a kor bban m r emltett gymond norm l u oe a a a u a f gg s gi viszony megfordt sa. Vagyis itt azok a csomagok szerepelnek, melyeknek u oe a norm l f gg s gei k z tt a reverse depends bejegyz st tartalmaz csomag neve szea u oe o o e o repel. M sk pp megfogalmazva, azon csomagok, melyek nem n lk l zhetik a sz ban a e e uo o forg csomagot, ami egy ttal azt is jelenti, hogy az adott csomag elt volt sakor, annak o u a a fordtott f gg s gben szerepl csomagokat is t r lni kell. u oe o oo

11

3.10.

Csomag llapotok a

A csomagok allapotjelz i azt fejezik ki, hogy a felhaszn l mit kv n tenni a csomaggal. o ao a Ezek a k vetkez ert keket vehetik fel: o o e ismeretlen (unknown) A felhaszn l m g soha nem jelezte mit kv n tenni a csomaggal. ao e a teleptend (install) A felhaszn l a csomag telept s t, illetve frisst s t szeretn v g o ao e e e e e e rehajtani. elt voltand (remove) A felhaszn l csak a csomagot akarja t r lni, de annak megl v a o ao oo e o kongur ci s allom nyait nem. a o a t rlend (purge) A felhaszn l el kv nja t voltani a csomagot, annak kongur ci s o o ao a a a o allom nyaival egy tt. a u felfuggesztend (hold) A felhaszn l a csomagot ki akarja vonni a tov bbi feldolgoz s o ao a a al l, ami akkor hasznos, ha meg akarjuk orizni csomagunk allapot t, vagy jelenlegi o a verzi j t. oa

3.11.

Csomagfrisst s e

A Debian egyik legnagyobb erdeme, hogy k vetkezetes es biztons gos frisst si elj r st o a e aa ny jt, valamint mindent elk vet annak erdek ben, hogy kor bbi kiad sokr l val at ll s u o e a a o oa a min l z kken mentesebb legyen. A csomagok minden olyan esetben ertestik a fele o o haszn l t, ha valamely fontos k zlem ny k t mad a frisst si folyamat k zben, es gyaao o e u a e o korta megold ssal is szolg lnak a felmer l probl m ra. a a uo e a

12

4.

A Debain csomagkezel eszk zei o o

4.1. dpkg
A dpkg egy k zepes bonyolults gi szint alkalmaz s, mely Debian csomagok telept s re, o a u a e e l trehoz s ra, elt volt s ra, es kezel s re alkalmas. Els dlegesen m gis a dselect nev e aa a a a ee o e u program haszn latos, ami tulajdonk ppen a dpkg felhaszn l bar t felhaszn l i fel lete. A a e ao a ao u dpkg csak parancssori param tereken kereszt l vez relhet , melyek magukban foglalj k a e u e o a kv nt cselekm nyt, illetve annak opci it. Az el bbiek hat rozz k meg, hogy dpkg milyen a e o o a a m veletet fog elv gezni az adott csomagon, az ut bbiak pedig azt, hogy ez mik pp fog u e o e megt rt nni a k l nb z esetekben, melyek az esem ny sor n el ad dhatnak. N h ny a o e uo o o e a o o e a fontosabb opci k k z l: o o u dpkg --help Az opci k ler s nak megjelent se. o aa e dpkg --info f jln v a e A control f jl (illetve egy b inform ci k) megjelent se egy adott csomagr l. a e a o e o dpkg --install f jln v a e Csomag telept se, bele rtve a kicsomagol st es a kongur l st is. e e a aa dpkg --unpack f jln v a e Csomag kibont sa, kongur l s n lk l, a Debian archv allom nyb l. Megjegya aa e u a o zend , ezt a m velet k vet en csomagunk m g nem haszn lhat , mivel n h ny o u o o e a o e a allom ny m g k l n testreszab st is ig nyel. Ez a parancs elt voltja a program a e uo a e a m r kor bban teleptett verzi it, es lefuttatja a csomaghoz tartoz preinst szkriptet. a a o o dpkg --configure csomagn v e Kor bban kit m rtett csomag kongur l sa. Egyebek k z tt, ez a parancs futa o o aa o o tatja le a csomaghoz tartoz postinst szkriptet, valamint frissti a confles r szben o e felsorolt allom nyokat. Ebben az esetben a dpkg param terek nt nem az archv a e e allom ny nev t, hanem a csomag nevet kell megadni. a e dpkg --fsys-tarfile f jln v a e A Debian archv f jl altal tartalmazott f jlrendszer megjelent se tar allom nyk nt. a a e a e dpkg dpkg --remove csomagn v e Csomag elt volt sa (a kongur ci s allom nyok meg rz s vel). a a a o a o ee dpkg dpkg --purge csomagn v e Csomag elt volt sa (annak kongur ci s allom nyaival egy tt). a a a o a u

13

dpkg --list csomagn v e A param terk nt megadott sztring (illetve regul ris kifejez s) altal meghat rozott e e a e a csomag(ok) teleptetts gi allapot nak kilist z sa. e a a a

4.2. dselect
A dselect az els dleges felhaszn l i fel let, csomagok menedzsel s re Debian alap o ao u ee u rendszerekben. Ez egy men -vez relt alkalmaz s, melynek kiv ltk pp csomagok els u e a a e o telept s n l, valamint nagyobb volumen frisst sek lebonyolt s n l van jelent s ge. A e e e u e a a a oe program alkalmaz s val lehet s g nk nylik: aa oe u Frissteni az el rhet csomagok verzi it tartalmaz list t. e o o o a Megtekinteni a teleptett, illetve a telepthet csomagok allapot t. o a Csomagokat kiv lasztani, f gg s geiket kezelni. a u oe Uj csomagokat telepteni, a megl v ket frissebb verzi ra cser lni. e o o e A dselect gyakorlatilag a dpkg fel letek nt uzemel, mely mint azt m r emltett k u e a u egy alacsony szint Debian csomagkezel eszk z. Az alkalmaz s egy teljes-k perny s u o o a e o csomagkezel si es szelekci s rendszer, mely egy ttal a f gg s geket es a csomagok k e o u u oe o z tt fenn ll koniktusokat is kezeli. o a o Csak ha adminisztr tori joggal futtatjuk a programot, telepthet nk, frissthet nk, ila u u letve t r lhet nk csomagokat. Alapesetben a dselectet param terek n lk l haszn ljuk, oo u e e u a mivel indt skor egy interaktv men jelenik meg, mely a felhaszn l altal v grehajthat a u ao e o m veleteket tartalmazza. u Amennyiben ezen m veletek valamelyik t megadjuk param terk nt, akkor az indt s u e e e a ut n azonnal megkezd dik. J n h ny parancssori param ter all rendelkez sre, hogy m dostsuk a o o e a e e o a dselect k rnyezet t, illetve, hogy tov bbi inform ci kat jelents nk meg a programr l. o e a a o u o A f men a k vetkez ket tartalmazza: o u o o Access Method Itt k l nb z be llt sok adhat k meg arra vonatkoz lag, honnan szerezze be a uo o o a a o o program az el rhet csomagok verzi inak list j t, illetve magukat a csomagokat. e o o aa Ezeket a be llt sokat a program elt rolja, ez rt a k s bbi indt sok eset n nem kell a a a e eo a e ujra kongur lnunk. A forr sok az al bbiak lehetnek: a a a cdrom Telept s a Debian altal terjesztett m diumr l, melyeket .iso allom nyk nt e e o a e is el rhet nk a legk l nb z bb anonymous ftp szerverekr l. A lemeznek nem e u uo o o o kell sz ks gk ppen mountolva lennie a f jlrendszerbe. u e e a

14

nsf Telept s olyan NFS szerverr l, melynek nem kell a felmountolva lennie. e o hard disk Telept s merevlemez partci j r l, ahol a partci nem felt tlen l r sze a e oao o e u e f jlrendszer nknek. a u mounted Gyakorlatilag egy megadott k nyvt rb l t rt n telept s. o a o o e o e oppy Lemezes telept s, melynek eset n legal bb egy lemeznek a csomagler e e a o f jlt kell tartalmaznia, a t bbinek pedig magukat a csomagokat. a o apt Ez az elj r s egyesti mag ban az el bb felsoroltak legt bbj t. Itt a forr sunk aa a o o e a lehet helyi f jlrendszer, ftp, valamint http URL. T mogatott a csomagok rena a dezett telept se, f gg s gkezel s, egyidej leg t bb forr s megad sa, ahol a e u oe e u o a a h l zaton kereszt l t rt n el r sn l proxy szervert is megadhatunk. A kifeao u o e o ee e jezetten aj nlott beszerz si elj r s az apt. a e aa Minden adathordoz n sz ks gk pp lenni kell Packages.gz allom nynak, minden o u e e a a disztrib ci s ter letre, melyek altal ban a main, contrib, non-free neveket viselik. u o u Lemezes telept sn l a k l n csomagler allom nyok k l n oppyn helyezkednek e e uo o a uo el. Update Az el rhet csomagok adatb zis nak frisst se, ami jelenti a csomagler allom ny e o a a e o a beszerz s t a be lltott met dus szerint valamint a dpkg adatb zis nak frisst s t. ee a o a a e e anosan elmondhat , hogy a ler f jl Packages, vagy Packages.gz nev alAltal o o a u lom nyk nt tal ljuk a forr sk nt megadott helyen. a e a a e Select A csomagok vizsg lata, erdemi kezel se. Ezt a men t kiv lasztva a felhaszn l a e u a ao egy list t tekinthet meg minden a rendszerben teleptett, illetve el rhet csomagr l. a e o o Adminisztr tori joggal futtatva interaktv m don v ltoztathat a csomagok allapota a o a o is. A dselect meg llaptja v ltoztat saink hat s t, a v lasztottakt l f gg , illetve a a a aa a o u o azokkal koniktusokban l v csomagokra. Amennyiben ellentmond s, vagy hib s e o a a f gg s get fedez fel, akkor a felhaszn l err l egy gyelmeztet k perny n ertes l, u oe ao o o e o u ahol a f gg , vagy ellentmond sban l v csomagok list ja jelenik meg, amelyben u o a e o a minden csomag mellett l that a csomag megjelent s nek oka. Itt a felhaszn l a o e e ao elfogadhatja vagy, fel lbr lhatja, a dselect altal ny jtott javaslatot, vagy ak r vissza u a u a is t rhet a v ltoztat sok el tti allapothoz, bele rtve azokat is, amelyek a feloldatlan e a a o e f gg s geket, vagy koniktusokat hozt k l tre. u oe a e

15

Install A be lltott hozz f r si elj r s (access method) segts g vel megszerzi a telepa aee aa e e tend , illetve frisstend csomagokat, majd a dpkg-nak atadva, v grehajtja rajo o e tuk a kv nt akci t. A hozz f r si elj r st l f gg en a t rl sre kijel lt csoma a o aee aa o u o o e o gok elt volt sra ker lnek, illetve let lthet k telept s el tt, ha arra sz ks g van. a a u o o e o u e a Amennyiben hiba mer l fel, altal ban c lravezet a telept s megism tl se. A u e o e e e legt bb esetben ez azt eredm nyezi, hogy a probl ma megsz nik. Ellenkez eseto e e u o ben, vagyis ha a gond alland sul, el kell m lyedn nk a k r lm nyek es az okok o e u ou e vizsg lat ban. Mindemellett, ha arra gyanakszunk, hogy a fenn ll probl ma proga a a o e ramhib b l ad dik, azt jelezhetj k a Debian fel . a o o u e Cong Kongur lja a m r kor bban teleptett, de nem teljesen be lltott csomagokat. a a a a Remove T rli, vagy kirtja az erre kijel lt csomagokat. o o Quit Kil p s a programb l. e e o

4.3. apt
Az Advenced Package Tools, vagy r videbb nev n az APT, parancssori param terekkel o e e vez relt csomagkezel rendszer, ami tulajdonk ppen el t t programja a dpkg-nak. Igaz n e o e oe a nagy el nye k nyelmess g ben, illetve naprak szs g ben rejlik, hiszen, a vele kezdeo e e e e e e m nyezett m veletek eset n a f gg s gi, illetve a legk l nb z bb forr sokb l t rt n e u e u oe uo o o a o o e o archv allom ny beszerz si probl m k megold s nak terh t leveszi a v llunkr l. a e e a aa e a o A naprak szs g itt az up-to-date frisst st jelenti, azaz hogy a m r teleptett csoe e e a magjainkat, egyszerre, alap APT parancsok kiad s val, egyszer en es z kken mentesen, aa u o o cser lhetj k le az el rhet legfrissebb verzi ra. Tal n ebben rejlik a Debian alap rende u e o o a u szerek egyik legnagyobb el nye. Mindemellett az APT nem csup n programcsomag, o a hanem fejleszt i eszk z, mely tov bbi alkalmaz sok fejleszt s t teszi lehet v f ggv nyo o a a ee o e u e k nyvt rain kereszt l. o a u 4.3.1. Az apt-get parancs

Ez a parancs haszn latos leggyakrabban, mivel vele v gezhetj k el a leg ltal nosabb, csoa e u a a magokhoz f z d m veleteket, ugy is mint; telept s, t rl s, frisst s, stb. Itt jegyezn m u o o u e o e e e meg, hogy az al bbi, az APT programcsomag m k d s nek szeml ltet s re k zreadott a u o ee e ee o p ld k az UHU-Linux 1.0-rc3 verzi j b l sz rmaznak. e a oa o a update A csomagkezel rendszer egy saj t adatb zisban k veti nyomon, mely csoo a a o magok ker ltek m r telept sre, melyek nem, illetve melyek azok, amik rendelkez sre u a e e

16

allnak a k l nb z m diumokon. Az apt-get arra haszn lja fel ezt az adatb zist, hogy uo o o e a a meg llaptsa mik pp kell a felhaszn l altal ig nyelt programot telepteni, valamint mia e ao e lyen egy b csomagok telept se sz ks ges m g a program megfelel m k d s hez. Ez e e u e e o u o ee az opci teh t az adatb zis frisst s re szolg l, vagyis a csomag list j t tartalmaz archv o a a e e a aa o allom nyokat keres az /etc/apt/sources.list allom nyban megadott t rol kon, es a a a o ezekb l az inform ci kb l epti ujra a saj t adatb zis t. Mindenk pp hasznos ezen pao a o o a a a e rancs rendszeres id k z nk nti kiad sa annak erdek ben, hogy rendszer nk ertes lj n az o o o e a e u u o esetleges csomag- es biztons gi frisst sekr l. a e o uhulinux:$ apt-get update Get:1 ftp://ftp.uhulinux.hu ./ Packages [114kB] Hit ftp://ftp.uhulinux.hu ./ Release Fetched 114kB in 1s (83.0kB/s) Reading Package Lists... Done Building Dependency Tree... Done e A Get: sorsz ma az /etc/apt/sources.list allom nyban megadott erv nyes bea a jegyz sekkel azonos, es azok sorrendj ben is ker l meghv sra, illetve megjelent sre. e e u a e install Miut n az el z parancsot kiadtuk, minden k szen all a kv nt csomag telept a o o e a e s hez. Az APT megkeresi adatb zis ban a k rt csomag legfrissebb verzi j hoz tartoz e a a e oa o csomagler t, majd a hozz tartoz sources.list bejegyz s alapj n, m diumt l f gg en o a o e a e o u o beszerzi az archv allom nyt. Abban az esetben, ha a csomagnak f gg s gei is vannak, a u oe az APT megvizsg lja ezeket, es telepti a tov bbi sz ks ges csomagokat is. a a u e uhulinux:$ apt-get install nautilus Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 0 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 17.2MB will be used. Do you want to continue? [Y/n] A nautilus f gg a fent felsorolt csomagokt l, ez rt az APT azok telept s t is megkezdi. u o e e e Amennyiben megadtuk volna oket az apt-get parancs param terek nt a nautilus m g tt, e e o o a program nem k rdezne r telept si sz nd kunkra k l n, vagyis az APT csak akkor k r e a e a e uo e meger st st a felhaszn l t l, ha olyan csomagot kell teleptenie, amit nem adtunk meg o e aoo

17

k zvetlen l. o u Az al bbi opci k esetenk nt hasznosak lehetnek: a o e S g u o -h, --help Megjelenti a s g t. u o Csak let lt s o e -d, --download-only A meghat rozott csomagok archv allom nyai nem ker la a u nek sem kicsomagol sra, sem telept sre, csup n let lt dnek az APT archv a e a o o k nyvt ra al (/var/cache/apt/archives). o a a

18

Helyre llt s a a -f, --fix-broken Megks rli az olyan rendszer javt s t, melyben a f gg s e a a u oe gi viszonyok nem oldhat k fel marad ktalanul. Ez az opci az install, ilo e o letve remove parancsokkal egy tt haszn lva, lehet v teszi b rmely csomag u a o e a kihagy s t, annak erdek ben, hogy a teljes folyamat levezethet legyen. (N aa e o e mely esetben az APT els futtat sakor is sz ks ges lehet ennek az opci nak a o a u e o megad s ra.) Az APT maga nem engedi meg, hogy fel nem oldott f gg s gek aa u oe legyenek jelen a rendszerben, ami egy ttal azt is jelent, hogy a f gg s gi szeru u oe kezet esetleges hib i eset n, sz ks g lehet a manu lis beavatkoz sra. a e u e a a Hi nyz csomagok mell z se a o o e -m, --fix-missing Abban az esetben ha a csomagok nem t lthet k le, vagy ha a o o let lt st k vet en az integrit s vizsg lat meghi sul (vagyis az archv allom ny o e o o a a u a hib s), a csomagkezel visszatartott allapot ra jel li oket, ami azt jelenti, a o u o hogy annak felold s ig a csomag nem friss l, annak ellen re sem, hogy ujabb aa u e verzi el rhet . o e o Szimul ci a o -s, --simulate Semmilyen v ltoztat s nem hajt dik v gre, csup n szimul ljuk a a o e a a a parancs v grehajt s t. e aa Automatikus igenl v lasz a feltett k rd sekre o a e e -y, -yes, --assume-yes Minden, a csomagok telept se/elt volt sa k zben fele a a o mer l k rd sre a rendszer automatikusan igenl v laszt ad, ezzel megsz nuo e e o a u tetve a m velet interaktivit s t. Amennyiben egy nem kv natos esem ny u aa a e k vetkezne be, vagyis egy visszatartott csomag megv ltoztat s t, vagy egy o a aa alapvet csomag t rl s t kellene az APT-nek v grehajtani, a fut s megszao o ee e a kad. A frisstett csomagok list ja a -u, --show-upgraded List t r ki a rendszerben megtal lhat es m r frisstett a a o a csomagokr l. o Telept s es t rl s egy sorban Lehet s g van egy soron bel l megadni t rlend , illetve e o e oe u o o teleptend csomagokat is, ugy, hogy az elt voltani kv nt csomagok neve ut n k zvet o a a a o len l - jelet g pel nk. u e u uhulinux:$ apt-get install nautilus gnome-panelReading Package Lists... Done

19

Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 The following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded. Need to get 8329kB of archives. After unpacking 2594kB will be used. Do you want to continue? [Y/n] Ujratelept s Ha valamely m don egy csomag meghib sodik, vagy ha csup n azt szee o a a retn nk, hogy csomagunk, illetve azok allom nyai fel lr djanak az el rhet leg jabb e a uo e o u verzi eval, a --reinstall opci t kell haszn lnunk, mely az al bbihoz hasonl kimeneo o a a o tet produk l: a uhulinux:$ apt-get --reinstall install gdm Reading Package Lists... Done Building Dependency Tree... Done 0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 1 not upgraded. Need to get 0B/182kB of archives. After unpacking 0B will be used. Do you want to continue? [Y/n] o o Telept s megadott disztribuci b l es verzi sz mmal Amennyiben az altalunk hasze o a n lt APT verzi sz ma magasabb mint 0.5.3 (ami a szakdolgozat k szt sekor 0.5.5), akkor a o a e e lehet s g nk van a telepteni kv nt csomag verzi j nak, illetve disztrib ci j nak k zvetoe u a oa u oa o len megad s ra, a k vetkez k ppen: aa o o e apt-get install csomagnv=verzi e o apt-get install csomagnv/disztribci e u o Remove A t rl s a telept ssel megegyez menet , de ellent tes folyamat, ez rt azt n o e e o u e e a szintaktik ja is azonos: a uhulinux:$ apt-get remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED:

20

gnome-applets gnome-panel gnome-panel-data gnome-session 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n] Mint az a fenti p ld b l l tszik ppen ugy mint telept sn l az APT kezeli helyett nk e a o a e e e u a t rlend csomag f gg s geit, ami jelen esetben azt jelenti, hogy a megadott csomagt l o o u oe o f gg csomagok is t rl dnek, es ennek elker l s re nincs is semmilyen m d, ha az APT-t u o o o ue e o haszn ljuk. Megjegyzend , hogy a fenti esetben, ha a csomaghoz tartoznak kongur ci s a o a o allom nyok, azok s rtetlen l megmaradnak a rendszerben. a e u Teljes t rl s Amennyiben azt kv njuk, hogy a csomaghoz tartoz osszes allom ny, o e a o a bele rtve a kongur ci s f jlokat is t rl dj k, a -purge opci t kell haszn lnunk, melyn l e a o a o o e o a e a kimeneten a csomagnevek mellett * karakterek jelzik, hogy a csomaghoz tartoz mino den allom ny t rl sre ker l. a o e u uhulinux:$ apt-get --purge remove gnome-panel Reading Package Lists... Done Building Dependency Tree... Done The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* 0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded. Need to get 0B of archives. After unpacking 14.6MB will be freed. Do you want to continue? [Y/n] T rl s es telept s egy sorban A telept sn l kifejtettekhez hasonl an, a remove parancs o e e e e o oo eset n is lehet s g nk van egy soron bel l telepteni es t r lni, azzal a k l nbs ggel, hogy e oe u u uo e ebben az esetben nem -, hanem + jelet kell tenn nk a teleptend , es nem a t rlend u o o o csomag neve ut n. a uhulinux:$ apt-get --purge remove gnome-panel nautilus+ Reading Package Lists... Done Building Dependency Tree... Done The following extra packages will be installed: bonobo libmedusa0 libnautilus0 nautilus The following packages will be REMOVED: gnome-applets* gnome-panel* gnome-panel-data* gnome-session* The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus 0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded.

21

Need to get 8329kB of archives. be used. Do you want to continue? [Y/n]

After unpacking 2594kB will

Upgrade A parancs a rendszerben jelenleg teleptett osszes csomag egyidej frisst s re u e e szolg l. Mint minden kor bbi esetben, itt is a legfrissebb verzi ra t rt nik a frisst s, es a a a o o e e csomagok el rhet s g ben az /etc/apt/sources.list allom ny a meghat roz . A m r e oe e a a o a jelenleg is az el rhet legfrissebb verzi val rendelkez csomagok is friss lnek, azonban e o o o u semmi esetre sem t rl dnek olyan csomagok, melyek teleptve vannak a rendszerben, ilo o letve nem telept dnek olyanok melyek eddig ne lettek volna install lva. Az olyan csomao a gok, melyek nem frissthet ek an lk l, hogy m s csomagok st tusz t ne m dostan nk, o e u a a a o a jelenlegi allapotukban maradnak. A parancs kiad sa el tt mindenk pp futtatnunk kell az a o e update parancsot is, hogy az apt-get megtudja, hogy a frisstend csomagok mely verzi ja o o all rendelkez sre. A parancs csak akkor haszn lhat ha a kor bbival azonos disztrib ci ra e a o a u o akarunk frissteni, ellenkez esetben a dist-upgrade parancsot kell haszn lnunk, amir l a o a o k vetkez fejezetben sz lunk. o o o uhulinux:$ apt-get upgrade Reading Package Lists... Done Building Dependency Tree... Done The following packages have been kept back cpp gcc lilo The following packages will be upgraded adduser ae apt autoconf debhelper dpkg-dev esound esound-common ftp indent ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc 29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded. Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used. Do you want to continue? [Y/n] A folyamat itt is rendkv l egyszer . Ha a kiadott parancs kimenet n, megjelenik, hogy u u e csomagok visszatart sra ker ltek (kept back), ez azt jeleni, hogy a rendszerben a jelena u leg teleptettn l csak r gebbi verzi j all rendelkez sre a megadott forr sokon, ez rt a e e ou e a e rendszer a f gg s gek integrit s nak meg rz se erdek ben, ezen csomagok frisst s t u oe aa o e e e e lltja. paragraphDista verzi sz m egyez s ig felf ggeszti, vagyis st tusz t keep-re a o a ee u a a upgrade A parancs teszi lehet v a k l nb z Debian disztrib ci k k z tti v lt st. Meg o e uo o o u o o o a a kell jegyezni azonban, hogy az APT mindig a leg jabb verzi j csomagot telepti, ez rt u ou e

22

ovatosan kell b nnunk ezzel a paranccsal, hiszen hi ba is pr b ln nk att rni egy olyan a a o a a e disztrib ci ra, mely a jelenlegin l r gebbi csomagokat tartalmaz, hisz ezzel csak azt u o e e e ern nk el, hogy a frisst snek megadottn l ujabb csomagjaink allapot t a rendszer visszae a a a tartottra (keep) alltan . Itt jegyzend meg, hogy amennyiben az APT forr sokat tartalo a maz allom nyban t bb forr s is szerepel, onnan mindig az v laszt dik ki, amelyik altal o a o a a o jel lt forr son, az adott csomagb l a legfrissebb verzi erhet el. o a o o o

23

uhulinux:$ apt-get dist-upgrade Reading Package Lists... Done Building Dependency Tree... Done Calculating Upgrade... Done The following NEW packages will be installed: cpp-2.95 cron exim gcc-2.95 libident libopenldap-runtime libopenldap1 libpcre2 logrotate mailx The following packages have been kept back lilo The following packages will be upgraded adduser ae apt autoconf cpp debhelper dpkg-dev esound esound-common ftp gcc indent ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc 31 packages upgraded, 10 newly installed, 0 to remove and 1 not upgraded. Need to get 0B/7098kB of archives. After unpacking 3118kB will be used. Do you want to continue? [Y/n] Source A parancs segts g vel, a sources.list allom nyban deb-src tpussal bejegyzett e e a forr sokr l - mivel ezen csomagok a bin risakt l elk l ntve ker lnek t rol sra forr sa o a o uo u a a a csomagokat t lthet nk le az aktu lis k nyvt rba, abban az esetben ha nincs, vagy ha a o u a o a --download-only opci t adjuk meg, illetve egy ttal bin ris csomagot - azaz .deb kio u a terjeszt s allom nyt hozhatunk l tre, a dpkg-buildpackage programmal, amennyiben a eu a e --compile opci t haszn ljuk. Nem szabad megfeledkezn nk arr l, hogy ez a csomag o a u o nem felt tlen l ugyanaz, mint amit az install paranccsal telepten nk. Megjegyzend e u e o m g, hogy a folyamat sor n 3 allom ny t lt dik le, egyazon n vvel, de k l nb z kitere a a o o e uo o o jeszt sekkel, melyek k z l az orig.tar.gz tartalmazza mag t a forr st, es a .dsc segt e o u a a ennek, egy csomagn v-verzi sz m nev k nyvt rba t rt n , kicsomagol s ban. Abban e o a u o a o e o aa az esetben, ha a csomag kifejezetten Debian rendszerhez k sz lt .diff.gz allom ny nem e u a a t lt dik le, es altal ban az orig sz nem szerepel a t m rtett forr s nev ben. o o o o o a e

24

Clean Mint arra az elnevez sb l is k vetkeztethet nk, a parancs ugymond takart sra e o o u a szolg l, ami a gyakorlatban azt jelenti, hogy a lock f jlok kiv tel vel, minden, a csomaa a e e gokhoz tartoz allom ny t rl dik a /var/cache/apt/ k nyvt rban tal lhat archives o a o o o a a o es partial k nyvt rakb l. Eppen ez rt c lszer a parancsot id r l-id re kiadni, f k pp o a o e e u oo o o e ha /var k l n partci n helyezkedik el, hisz ekkor annak betelt vel a csomagok frisst se uo o e e nem lehets ges, emellett pedig m s szolg ltat sok gymint napl z s atmeneti le ll s t e a a a u o a a aa is okozhatja. paragraphAutoclean Ugyanazt a c lt szolg lja, mint a clean, azzal a k e a u l nbs ggel, hogy ebben az esetben csak azon allom nyok ker lnek t rl sre, melyekre a o e a u o e k s bbiekben m r biztos, hogy nem lesz sz ks g. Erre p lda egy olyan csomag archv eo a u e e allom nya, melyt l ujabb verzi j van teleptve a rendszeren. a o ou 4.3.2. Az apt-cache parancs

Ez a program az a bevezet ben m r emltett eszk z, mely a csomagok inform ci inak o a o a o megjelent s t, illetve az APT csomaginform ci kat tartalmaz allom ny ban t rt n e e a o o a a o e o adatb ny sz st teszi lehet v . Ezen eszk z segts g vel a csomagok, illetve a rendszer a a a o e o e e allapota nem v ltoztathat meg, de lehet s g nk van k l nb z opci k megad s n kea o oe u uo o o o aa reszt l olyan kimenetek gener l s ra, melyekb l inform ci kat sz rhet nk le a csomau aa a o a o u u gok, valamint a rendszer allapot val kapcsolatban. A szakdolgozat t rgy t k pez proga a a e o ram tulajdonk ppeni c lja, hogy megjelent fel leteivel kiv ltsa ezt az eszk zt, illetve e e o u a o p tolja annak hi nyoss gait, gyenges geit. paragraphgencache Az apt-get check pao a a e rancshoz hasonl eredm nnyel j r, vagyis l trehozza a bin ris es a forr s cache allom nyt, o e a e a a a az /etc/apt/sources.list forr sb l let lt tt adatok, illetve a /var/lib/dpkg/status a o o o f jl alapj n, a /var/cache/apt/ k nyvt r al . paragraphshowpkg A param terk nt mega a o a a e e adott, csomag(ok)r l jelent meg inform ci kat az al bbi m don: o a o a o uhulinux:$ apt-get cache showpkg apt Package: apt Versions: 0.5.4-7.2(/var/state/apt/lists/ftp.uhulinux.hu pub uhu 1.0 . Packages) (/var/lib/dpkg/status) Reverse Depends: uhu-installer,apt uhubuild-under-chroot,apt synaptic,apt 0.5.4 edeity,apt 0.5.4 Dependencies: 0.5.4-7.2 - bash (2 2.05b) gcc-lib (2 3.2.2) glibc (2 2.3.2) libstdc++5 (2 3.2.2) perl (2 5.8.0) uhu-pkg (2 0.2) Provides:

25

0.5.4-7.2 Reverse Provides: stats Inform ci kat jelent meg a cache allom nyr l ( ppen ez rt tov bbi param terek a o a o e e a e megad sa nem lehets ges). a e uhulinux:$ apt-get cache stats Total Package Names : 1232 (49.3k) Normal Packages: 1193 Pure Virtual Packages: 0 Single Virtual Packages: 0 Mixed Virtual Packages: 0 Missing: 39 virtulis cso Total Distinct Versions: 1208 (58.0k) a Total Dependencies: 6607 (185k) Total Ver/File relations: 1730 (27.7k) Total Provides Mappings: 0 (0) Total Globbed Strings: 25 (194) Total Dependency Version space: 35.7k Total Slack space: 89.1k Total Space Accounted for: 409k Az egyes sorok ertelmez se a k vetkez : e o o Total package names A cache allom nyban tal lhat csomagok sz ma. a a o a

26

Normal packages Norm l csomagok sz ma, melyek eset ben egy az egyhez megfeleltet s all a a e e fenn a csomag neve es a m s csomagok f gg s geiben szerepl , erre a csoa u oe o magra utal n v k z tt. o e o o Pure virtual packages Tiszt n virtu lis csomagok sz ma, melyek semmilyen m s c lt nem szolg la a a a e a nak, csak hogy norm l csomagokat gy jtsenek egy virtu lis csomagn v al , a u a e a melyet egy b csomag nem haszn l. e a Single virtual packages Egyedi virtu lis csomagok sz ma, melyek esetben egyetlen csomag alkotja a a a virtu lis csomagot, ugyanazon n vvel. a e Mixed virtual packages Vegyes virtu lis csomagok sz ma, vagyis azok , melyekn l k t csomag ny jt a a e e e u egy virtu lis csomagot, vagy l tezik norm l csomag a virtu lis csomag nev a e a a e vel. Missing packages Hi nyz csomagok, melyek hivatkozottak m s csomagok f gg s gi list j a o a u oe aa ban, de nem szerepelnek a val di csomagok k z tt, ennek oka lehet az, hogy o o o egy teljes disztrib ci nem erhet el, vagy az adott csomagot elt voltott k u o o a a bel le. o Total ditinct versions Csomagverzi k sz ma, azaz a cache allom nyban tal lhat k l nb z vero a a a o uo o o zi j csomagok sz ma, ami mindig kisebb, vagy egyenl a csomagnevek ou a o sz m val, att l az esett eltekintve, mikor t bb disztrib ci t is megadunk, a a o o o u o ilyenkor meghaladhatja ezt a sz mot. a Total dependencies F gg s gek sz ma, ami az osszes a cache allom nyban szerepl csomag f gu oe a a o u e g s geinek osszestett ert ke. oe o o dump Egy, az osszes csomagot erint r vidtett list t jelent meg, melyet els sorban a o hibakeres sre haszn lhatunk fel. paragraphdumpavail Az osszes el rhet csomag pae a e o ram tereit kirja a k perny re. e e o

27 unmet Osszefoglal t k szt a rendszerben l v feloldatlan f gg s gekr l. o e e o u oe o show A dpkg -print-avail parancshoz teljesen hasonl an egy list t ad a megadott o a e eo csomag mez inek ert k r l. o uhulinux:$ apt-cache show apt Package: apt Version: 0.5.4-7.2 Section: console Priority: optional Architecture: i386 Depends: bash (>= 2.05b), gcc-lib (>= 3.2.2), glibc (>= 2.3.2), libstdc++5 (>= 3.2.2), perl (>= 5.8.0), uhu-pkg (>= 0.2) Distribution: UHU Linux dev Vendor: UHU Linux Team Installed-Size: 1440 Installed-Sizes: 1396 /usr 192 /usr/share 92 /usr/share/doc 28 /var Maintainer: UHU Maintainer Team <maintaineruhulinux.hu> Source: apt 0.5.4-7 Description: Dpkg csomagkezel} kezelst segt} program o e e o Dpkg csomagkezel} kezelst segt} program o e e o Filename: ./apt 0.5.4-7.2 i386.uhu MD5Sum: edbb52690c69de2aecf4404ca2cbd6eb Size: 526656 search A megadott kulcssz t ami lehet regul ris kifejez s is keresi az el rhet csomao a e e o gok n v, illetve ler s mez iben. Amennyiben egyez st tal l, megjelenti az adott csomag e a o e a nev t es r vid ler s t, k t jellel elv lasztva. e o a a oo a

28

5.

Az APT cache allom ny a

Az APT cache allom ny lehet s get biztost felhaszn l i fel lete kialakt s ra az ltal, a oe ao u a a a hogy a rendszerben t rolt nagy sz m csomagokr l adatokat t rol, es ezeket elemeza a u o a het v teszi. Az allom ny kialakt s nak els dleges c lja az volt, hogy k pet kaphassunk o e a a a o e e a o egy on ll csomagr l, es emellett l thassuk annak a f ban bet lt tt hely t es szerep t o a a o o e e is, amit a cache bejegyz s ben elhelyezett f gg s gek es egy b fontos inform ci k bizee u oe e a o tostanak.

5.1.

Az APT cache allom ny c lja a e

Az APT cache allom ny l trehoz s nak alapvet en k t c lja volt. Az els , a csomagler k a e aa o e e o o t mbj nek gyors bet lthet s ge es kezelhet s ge, a m sodik a mem rihaszn lat visszao e o oe oe a o a szort sa volt. a Az implement ci t olyan k rnyezetre tervezt k, melyben t bb els dleges csomagler a o o e o o o allom ny lehets ges. P ldak nt megemlthet az az eset, ha van egy csomagler nk a e e e o o a telept CD-ROM lemezen, egy a disztrib ci leg jabb verzi j hoz, valamint egy a o u o u oa disztrib ci fejleszt i verzi j hoz. Mindezen inform ci k rendelkez sre allnak a st tusz u o o oa a o e a allom nyban, mely egy k l n ll csomagler nak is tekinthet . a uo a o o o Kiemelend , hogy a st tusz allom ny kifejezetten cache allom nynak lett tervezve, o a a a vagyis nem arra, hogy a gazdarendszeren kv l haszn ljuk. Emellett nem tekinthet hite u a o lesnek sem, mivel egy rendszer sszeoml s, vagy szoftverhiba k vetkezt ben teljesen elfoo a o e gadott, hogy a cache allom ny inkonzisztens allapot legyen, valamint b rmikor t r lhet a u a oo o inform ci veszt s n lk l. a o e e u A t rol si szerkezet az APT GUI altali haszn latra lett megtervezve, es nem felt tlen l a a a e u alkalmas egy b c lokra, b r elvileg kiterjeszthet nek kell lennie, olyan kapcsol d cache e e a o o o allom nyokkal, melyek m s inform ci kat tartalmaznak. a a a o A mem riafelhaszn l s alacsonyan tart s nak erdek ben a cache allom ny csak a o aa aa e a gyakran haszn lt, es a kev s er forr s felhaszn l s val t rolhat mez ket t rolja, a mez k a e o a aa a a o o a o teljes list j t pedig a csomagler allom ny tartalmazza. A kliensek felt telezhetik, hogy aa o a e az egyes elemek helyesek, es nem kell emiatt ellen rz seket v grehajtani. Inform ci k o e e a o elt volt sa a cache allom nyb l lehets ges, de ures r szek es nem haszn lt sztringek maa a a o e e a radhatnak a f jlban. a Minden egyes elem minden strukt r ban a cache allom ny indexek nt t rol dik. Miua a e a o vel ezek az allom nyok mmap elj r ssal lettek l trehozva, minden egyes adathozz f r sa aa e aee nek kereszt l kell mennie egy olyan elj r son, melynek v geredm nyek nt egy val di meu aa e e e o e e m riacmet kapunk eredm ny l. Ez ugy t rt nik, hogy vessz k az index ert k t, megszoo e u o e u rozzuk a tpus m ret vel, majd hozz adjuk a mem riablokk kezd cm hez. Ez bonyolul e e a o o e tan hangzik, de C nyelven ez csak egy egyszer t mbm velet. Mivel minden elem igaztva u o u

29

van saj t m ret hez es az indexek a strukt r k m reteinek t bbsz r seik nt t rol dnak, a a e e ua e o oo e a o form tum atalakt s n lk l atvihet m s architekt r kra, am a gener lt allom ny nem. a a e u o a ua a a Ez s ma lehet v teszi az ehhez hasonl k dok r s t: e o e o o aa void *Map = mmap(...); Package *PkgList = (Package *)Map; Header *Head = (Header *)Map; char *Strings = (char *)Map; cout << (Strings + PkgList[Head->HashTable[0]]->Name) >> endl; A v geredm ny az els hash t bl ban l v els csomag neve, hibaellen rz s n lk l. e e o a a e o o o e e u A gener tor biztostja az indexek egyedis g t es azt, hogy ne legyen a strukt r k a e e ua tfed sek. B r els pillant sra ugy t nhet, lehet s g van arra, hogy k t strukt ra k z tti a o o e a o a u oe e u l tezzen ugyanazon a helyen, de a gener tor ezt soha nem engedi meg. e a

5.2.

Az APT cache allom ny szerkezete a

Fejl c A fejl c szerkezeti ler s t a A.1 f ggel k, annak ertelmez s nek r szleteit az e e aa u e ee e APT Cache File Format 2.1 fejezete tartalmazza. Csomag Ez a r sz inform ci kat tartalmaz az egyszer egyedi csomagokr l. Egy csoe a o u o magnak mint az a strukt ra szerkezet b l l tszik ak rh ny verzi ja lehet. A szerkezetet u e o a a a o megval st strukt r t az A.2 tartalmazza. o o ua Csomagf jl Ebben a szekci ban inform ci k tal lhat k a csomag llom nyr l, melyek a o a o a o a a o a verzi r szb l is hivatkozottak. Ez egy l ncolt lista, melynek b zis t a fejl c FileList o e o a a a e v ltoz ja mutatja. A szerkezetet megval st strukt r t az A.3 tartalmazza. a o o o ua Verzi Ez a r sz a fentiekhez teljesen hasonl l ncolt lista, am itt a lista b zis t a fejl c o e o a a a e VersionList v ltoz ja adja. A szerkezetet megval st strukt r t az A.4 tartalmazza. a o o o ua oe Fugg s gek Ez a r sz a f gg s gi rekordokat tartalmazza l ncolt list ban, aminek b zisa e u oe a a a a fejl c DependsList v ltoz ja. A f gg s ges minden form ja (Conicts, Suggests, Ree a o u oe a commends) ebben a strukt r ban van bejegyezve. Ha t bbsz r s f gg s g van ugyanazon ua o oo u oe a csomagon, azoknak egym s mellett kell elhelyezkedni k a f gg s gi list ban. A szera u u oe a kezetet megval st strukt r t az A.5 tartalmazza. o o ua Virtu lis csomagok Mikor a feldolgoz s sor n egy Provides mez h z er nk, egy uj a a a o o u provides bejegyz s j n l tre, mely osszeegyezteti a csomagot egy virtu lis csomag nev e o e a e vel. A provides strukt ra kimutat a csomagok strukt r j b l, mivel a virtu lis csomagok u uaa o a csup n logikai cmk k. Ez a megold s megk nnyti a f gg s gek vizsg lat t. Egy proa e a o u oe a a vides egy konkr t csomag adott verzi j ra hivatkozik, ez rt nem minden csomagnak kell e oa e

30

ny jtania a virtu lis csomagot, am minden olyan csomagt l kezd dik egy virtu lis csou a o o a magneveket tartalmaz lista, mely val ban ny jtja a virtu lis csomagot. A szerkezetet o o u a megval st strukt r t az A.6 f ggel k tartalmazza. o o ua u e

31

6.

Az APT programoz sa a

Az APT l trehoz i nem csup n arra gondoltak, hogy egy rendkv l j l haszn lhat es e o a u o a o r szleteiben is j l atgondolt csomagkezel si rendszert adjanak a felhaszn l k kez be, hae o e ao e nem arra is, hogy a tov bbi fejleszt seket el segtend , olyan fel letet nyissanak proga e o o u ramcsomagjuk f l , mely lehet v teszi a fejleszt k sz m ra a kor bban m r kialaktott oe o e o a a a a funkci k haszn lat t az APT forr sk dj nak m dost sa n lk li haszn latot. Ezen t reko a a a o a o a e u a o v s eredm nyek nt sz mos f ggv ny all a fejleszt k rendelkez s re, melyeket tartalmaz e e e a u e o ee o header f jlok k z l a program megr sakor haszn ltakat az al bbiakban ismertetj k. a o u a a a u

6.1.

A csomagkezel programk nyvt r el k szt se o o a o e e

configuration.h Ez az oszt ly biztost egy kongur ci s f jl es egy parancssor a a o a ertelmez t a fa-jelleg kongur ci s k rnyezethez. Minden fut sidej be llt s itt o u a o o a u a a t rol dik, azonban ez az oszt ly csup n t rol st es keres st biztost a f ban, a kona o a a a a e a gur ci s allom nyok form tuma m s oszt lyokban t rol dik. a o a a a a a o init.h Az itt deklar lt f ggv nyek (pkgInitConfig pkgInitSystem) meghv sa ela u e a engedhetetlen az APT f ggv nyk nyvt rban tal lhat funkci k helyes m k d s u e o a a o o u o ee hez.

6.2.

Cache allom ny el allt sa a o a

pkgcachegen.h Ez az oszt ly felel s a cache allom ny szerkezet nek a csomagok a o a e list j b l t rt n kialakt s ert. Minden egyes forr snak megvan a maga saj t aa o o e o a a a a lista-feldolgoz ja, mely adatokat szolg ltat a cache gener tor f ggv ny fel . A o a a u e e cache f jl egyes r szeit a lista-feldogoz k, mg m s r szeit ez az oszt ly hozza a e o a e a l tre. Az el bbi felel s a version, a depends es a provides r szek l trehoz s ert. e o o e e a a

6.3.

Cache allom ny kezel se a e

pkgcache.h Az 5.2 fejezetben t rgyalt cache allom ny kezel s re es az allom ny ea a ee a lemeinek el r s re a CacheItarator strukt r kon kereszt l szolg lnak az itt eee ua u a deni lt oszt lyok. a a cacheiterator.h Mint azt feljebb emltett k, a CacheIteratorok szolg lnak a cache u a allom nyban t rt n navig l sra. a o e o aa Az al bbi CacheIteratorokat k l nb ztetj k meg: a uo o u PkgIteraor A csomagok adatainak t rol s ra. a aa VerIteraor A verzi ihoz kapcsol d inform ci khoz t rt n hozz f r sre. o o o a o o e o aee

32

DepIteraor A f gg s gi viszonyok lek rdezhet s g re. u oe e oe e PrvIteraor A virtu lis csomagok kezel s ert. a e e PkgFileIteraor Az archv allom nyok el rhet s g re. a e oe e A CacheIteratorok szerkezet nek r szletei a A.2 f ggel kt l kezd d en tekinte e u e o o o het ek meg. o Megjegyzend , hogy minden CacheIteratorra ertelmezettek a ++, ==, !=, o -> es a * oper torok, melyek r videbb es attekinthet bb k d r s t teszik lea o o o aa het v , azokban az esetekben, mikor az egyes CacheItaratorok l ncolat hoz kell o e a a hozz f rn nk. ae u K l n is erdemes megjegyezni, hogy a DepIterator k pes a csomag, norm l es uo e a fordtott f gg s geit egyar nt t rolni es kezelni. Tpusa a konstruktornak atadott u oe a a strukt ra tartalm t l f gg, mivel az k pes mindk t f gg s gi viszony t rol s ra. u ao u e e u oe a aa Ez a szerkezeti megval st s a PrvIteratorokn l is teljesen hasonl . o a a o

6.4.

Csomagok kezel se e

depcaches.h Ez az oszt ly t rolja a cache allom ny adatait, valamint kiterjesztett a a a strukt r kat biztost a csomagok aktu lis allapot nak gyel s re. Ezen fel l a ua a a ee u f gg csomagok st tusz nak be llt s ert is ez az oszt ly a felel s. u o a a a a a a o StateCache Ez a strukt ra t rolja a cache allom ny allapot t, valamint segts u a a a e g vel biztostani tudjuk, hogy az allom ny csak olvashat legyen. A mege a o val st s eszk ze az, hogy a cache allom ny csak az adatok ment sekor friss l o a o a e u a bels t rb l. o a o srcrecords.h A forr scsomagok kezel s re kialaktott oszt ly, mely biztostja egyea ee a bek k z tt a forr scsomagok list j ban t rt n keres st. o o a aa o e o e

6.5.

Vegyes algoritmusok

algorithms.h Az itt deni lt oszt lyok segts g vel nyomon k vethetj k, hogy mit a a e e o u hajt v gre a rendez algoritmus, s t analiz lhatjuk is egy f gg s gi cache alloe o o a u oe m nyon kereszt l. Mindezeken t l ezen oszt lyok virtu lis f ggv nyein kereszt l a u u a a u e u k pesek vagyunk egy frisst si folyamat minden l p s t nyomon k vetni. Itt dee e e ee o ni ltak tov bb a k vetkez glob lis hat ssal br f ggv nyek: a a a o o a a o u e pkgAllUpgrade Minden olyan csomag frisst s t hajtja v gre, melyhez nem kell e e e ujabb csomago(ka)t telepteni.

33

pkgDistUpgrade Lebonyolt egy olyan frisst si elj r st, mely minden csomagot e aa erint, melynek van el rhet ujabb verzi ja. e o o pkgApplyStatus A half-installed st tusz csomagok korrekci j nak enged lyez a u oa e e s t biztostja. e pkgFixBroken A broken st tusszal rendelkez csomagok f gg s geinek javt s t a o u oe a a hajtja v gre, amennyiben az lehets ges. e e progress.h Ezen oszt lyon kereszt l v lik lehets gess , hogy a hosszadalmas folyaa u a e e matok k z lhess k allapotukat af felhaszn l i fel lettel, melynek egyik leggyakoo o e ao u ribb alkalmaz sa a folyamatindik tor frisst s re szolg l. Meg kell azonban jea a e e a gyezni, hogy ez a modell rendkv l egyszer , vagyis nem alkalmas osszetett t bb u u o sz lon fut esem nyek kezel s re. a o e ee A fenti modell azon a k zenfekv meg llapt son nyugszik, miszerint egy atfog e o a a o m velet kisebb m veletek sorozat ra bonthat fel. Eppen ez rt minden alm veletu u a o e u nek es mag nak az atfog m veletnek is megvan a maga allapota, mely a folyaa o u aa mat v ghezvitel nek all s t mutatja. Ez a k t egys g k z tt nincs atfed s, teljesen e e e e o o e f ggetlenek egym st l. u a o strutl.h N h ny hasznos sztringkezel f ggv nyt tartalmaz, p ld ul a sztringek elee a o u e e a j n es v g n tal lhat nem megjelenthet karakterek t rl s re. e e e a o o o ee

34

7.
7.1.
7.1.1.

Egy csomagkezel alkalmaz s elk szt se o a e e


A megval st s altal nos l p sei oa a e e
K vetelm nyek meghat roz sa o e a a

Amint az m r a bevezet ben is megemlt sre ker lt, egy ilyen rendszerrel szemben t a o e u a masztott elv r sok viszonylag egyszer en megfogalmazhat ak. Egyfel l ny jtsa azokat aa u o o u a szolg ltat sok, melyeket a 4.3.1 es a 4.3.2 bekezd sben ismertetett parancsok, illetve a a e azok opci i ny jtanak, m sfel l kn ljon ehhez olyan kezel i fel letet, mely attekinthet , o u a o a o u o es rendelkezik azzal az el nnyel, hogy egy, a rendszer parancssori eszk z kkel t rt n o o o o e o vez rl s ben j ratlan, amde kell elm leti ismeretekkel rendelkez felhaszn l is k pes e ee a o e o ao e legyen annak haszn lat ra. Mindez a gyakorlatban a k vetkez ket jelenti: a a o o Attekinthet s g oe V lj k els r n z sre (vagy n mi gondolkod s ut n) is nyilv nval v , hogy a e o a e e e a a a o a a program altal ny jtott szolg ltat sok milyen szerepet t ltenek be a rendszer u a a o m k d s ben es fordtva. Vagyis a rendszer egy m r kor bbr l megismert u o ee a a o parancsa, vagy kongur ci s elj r sa milyen uton erhet el az altalunk kn lt a o aa o a rendszerben. Szerkezeti azonoss g a Megfelel men szerkezet kialakt s val segteni kell a felhaszn l t, hogy r o u a a ao a l t sa legyen a rendszer fel pt s re, azaz az egyes men pontok al felsoaa e e e u a rakoztatott almen k reprezent lj k azt, hogy el z fejezetben megismert pau a a o o rancsok opci i k z l melyek tartoznak logikailag egybe, valamint a f men k o o u o u altal meghat rozott szerkezet illeszkedj k a Debian alap rendszerek csomaga e u kezel si met dusai altal meghat rozott szerkezettel. e o a

35

Kezelhet s g oe Ez alatt jelen esetben az ertend , hogy a program pr b lja egyszer steni a o o a u felhaszn l helyzet t, a csomagkezel si rendszer osszetettebb elemeinek es ao e e azt meg kell jegyezni, sembonyolultabb r szleteinek automatiz l s val. Am e aa a mik pp nem c l, hogy az el bb emltetteket el is takarjuk a program haszn l ja e e o ao el l (mint az a Windows felhaszn l bar t alkalmaz saiban szok sos) es ezo ao a a a altal kiz rjuk ot abb l, hogy a tov bbi ismeretek megszerz se ut n k pes lea o a e a e gyen a rendszer optimaliz l s ra, vagy saj t kv nalmainak megfelel atalaaa a a a o kt s ra. a a Modul ris szerkezet a A program k dj nak attekinthet s ge es a tov bbi fejleszt sek melyek ak r o a oe a e a t bb szem ly kez ben is lehetnek el ny s, ha az alkalmaz s k l nb z r szo e e o o a uo o o e feladatait, melyeknek egy bir nt megjelen si hely kben nem felt tlen l kell e a e u e u elt rni k, k l nb z oszt lyokban, ezzel egy ttal k l nb z allom nyokban e u uo o o a u uo o o a helyez nk el. u Fel letf ggetlens g u u e A Gtk es a Curses f ggv nyein kereszt l kialaktott fel letek term szet ku e u u e u b l fakad an megjelen sre igen, de l nyegi elemeikben nem k l nb znek o o e e uo o egym st l. Eppen ez rt a fel let kezel s re haszn lt objektumok sem t ra o e u ee a e hetnek el egym st l, csup n abban, hogy az azonos adattagokat, a szint n a o a e megegyez met dusok mik pp haszn lj k fel a fel letspecikus megjelent s o o e a a u e kialakt s hoz. a a Karbantarthat s g oa A program szempontj b l ez azt jelenti, hogy a rendszerben, vagyis az APT a o szerkezet ben, felhaszn l i f ggv nyeiben bek vetkezett v ltoz sok a proge ao u e o a a ramk d min l kisebb ar ny atalakt s t tegy k sz ks gess , valamint ha leo e a u a a e u e e hets ges ezek a m dost sok kis sz m modult erintsenek. e o a a u 7.1.2. Fejleszt i eszk z k megv laszt sa o o o a a

Programoz si nyelv A megval st shoz sz ks ges programoz si nyelv megv laszt saa o a u e a a a kor sz mos szempontot gyelembe kell venni, am alapvet en k t eshet s g kn lkozott, a o e oe a melyek a C++ es a Perl. A d nt s a k vetkez krit riumok gyelembev tel vel j tt l tre: o e o o e e e o e Illeszked s Kv nalomk nt mer lt fel a fejleszt s kezdetekor, hogy az ele a e u e k sztend szoftver min l jobban illeszkedj k, egyfel l az oper ci s e o e e o a o a rendszerhez jelen esetben az UHU-Linuxhoz, valamint altal nosan a

36

Debian alap rendszerekhez valamint a m r kor bban megval stott u a a o eszk z kh z, melyek legt bbje p ldak nt megemlthet az UHU-Veo o o o e e o z rl pult es az UHU-t rcs z Perl nyelven r dott. A javasolt nyelv e o a ao o azonban m gsem a Perl volt, mivel egy, az alapvet csomagok k z e o o e sz nt program ne kv nja meg, hogy f gg s gei k z tt a Perl terjedela a u oe o o mes f ggv nyk nyvt rai is szerepeljenek. u e o a Integr lhat s g B r a Perl is rendelkezik el re megrt modullal, mely a csoa oa a o magok kezel s t hivatott megoldani, a C nyelv eset n adott az APT fejee e leszt i csomag mely el re deni lt oszt lyokat ny jt a f bb csomago o a a u o kezel si probl m k megold s ra valamint a csomagok inform ci inak e e a aa a o kinyer s re c lravezet bb megold snak t nt. ee e o a u Hordozhat s g Mindk t nyelv eleget tesz annak a k vetelm nynek, hogy oa e o e ne csup n az UHU-Linux specikus eszk ze legyen, hanem a Debian a o a rendszerekben altal nosan haszn lhat ,F es a szabad szoftverek tekina o tet ben is helyt ll alkalmaz s sz lessen. e a o a u El zm nyek Am a kor bbi fejleszt sek ir nyt is mutattak ebben a tekinteto e a e a ben. P rhuzamosan folyik a Synaptic nev alkalmaz s fejleszt se, mely a u a e jelen verzi ja mellett (0.35.1) nem br olyan lehet s gekkel, mint amio oe ket a program fejleszt s n l alapk nt haszn lt egy bk nt f lbemaradt ee e e a e e e Deity nev alkalmaz s ny jt. u a u Sebess g Mindezek mellet kiemelt szerepet j tszott, az hogy a Perl, mint e a interpreteres nyelv t lzott er forr sig nyt t maszt az alkalmaz st haszu o a e a a n l kkal szemben. ao B vthet s g A dolgozat megr sakor mindk t nyelvre elmondhat , hogy o oe a e o rendkv l gazdag t mogatotts ggal rendelkezik a legk l nb z bb ter u a a uo o o u leteken. A Perl nyelv moduljainak sz ma egyre gyarapodik, a C nyelvi a f ggv nyk nyvt rak pedig hagyom nyosan szerte gaz ter leteket fedu e o a a a o u nek le. Id all s g Meg kell azonban jegyezni, mivel hogy a Perl nyelvhez is l tezik o o a e APT fejleszt i modul, ez rt nem a C nyelv az egyetlen j rhat ut, hogy o e a o az APT alkalmaz sainak kimenet t feldolgozva amihez a Perl kit n a e u o sz vegfeldolgoz elemekkel rendelkezik jussunk a sz ks ges inform o o u e a ci khoz. Emellett a grakus felhaszn l i fel let melynek kialakt s o ao u a a n l haszn lt eszk z a Gtk Perl nyelvi modulja meglehet sen le van a a o o maradva a C nyelvi programk nyvt rhoz k pest, ami viszonylag r vid o a e o id n bel li alapvet r szegys gek teljes atalakt s t ig nyeln . o u o e e a a e e Fejleszthet s g A teljess g kedv ert megemltend , hogy n mely, nem is oe e e o e kis jelent s ggel br , programr szek melyek legink bb adatfeldoloe o e a goz st v geznek megval st sa Perl nyelvben l nyegesen egyszer bb a e o a e u

37

es gyorsabb lett volna, ugyanakkor viszont igaz, hogy k ls forr sb l u o a o megval sul hibajavt sokra, illetve b vt fejleszt sekre k s bbiekben o o a o o e eo ink bb a C nyelv eset n lehet sz mtani. a e a Ahogy az a fentiekb l is kit nik, jelen esetben minden fontosabb erv amellett sz lt, o u o hogy a megval st s eszk ze a C++ nyelv legyen. o a o Fejleszt i k rnyezet A szakdolgozat megr s nak id pontj ban m r rendelkez sre allo o aa o a a e nak Linux rendszerek alatt is olyan magas szint fejleszt i eszk z k, mint p ld ul a Kyu o o o e a lix, am ezek legfontosabb el nye, hogy kisalkalmaz sok fejleszt se eset n, gyors eszk zt o a e e o ny jtson azok fel leteinek kialakt s ra, ami itt nem haszn lhat ki, hisz bonyolultabb u u a a a o esetekben hat konys guk egyre cs kken. Az osszetettebb feladatok megold s ra a lege a o aa jobb megold s egyszersmind a legegyszer bb is. Jelen esetben ez a k vetkez ket jelenti: a u o o Midnight Commander A program sz vegszerkeszt je, egy rendkv l sokoldal an haszn lhat , es o o u u a o m gis a v gletekig egyszer eszk z, mely csup n a legsz ks gesebb esze e u o a u e k z kkel gyis mint a szintaxis kiemel se, hagyom ny sz vegszerkeszt o o u e a o o funkci k, makr k segti el a fejleszt k munk j t. o o o o aa GNU C nyelvi eszk z k o o Az oper ci s rendszer a fejleszt shez programk nyvt rakat, header f jlokat, a o e o a a fordt es linkel eszk z ket ny jt. Itt jegyezn m meg, hogy a program fejo o o o u e leszt se sor n fordt shoz a GNU C fordt j nak 3.2-es, valamint a linker e a a oa program 5.0- s verzi j t haszn ltam. a oa a Strace A strace egy rendszerhv s gyel . Megjelent minden olyan rendszerhv st, a o a amit a param terk nt megadott program kezdem nyez. Vagyis, hogy gyele e e hess nk egy programot nem kell ujrafordtanunk, haszn lhat a megl v biu a o e o n ris is. Kit n en felderthet ek a program m k d s nek kritikus pontjai, a u o o u o ee valamint sokszorosan egym sba agyazott f ggv nyhv sok eset n a le ll st a u e a e a a okoz hib k pontos helyei. o a 7.1.3. Csomagk szt s e e

Term szetesen egy csomagkezel sem ker lheti el a sors t, vagyis a bin ris allom nyb l e o u a a a o itt is csomag k sz l. Erre maga a Debian is kn l megold st, am ennek haszn lat ra nem e u a a a a ker lt sor, mivel az UHU-Linux tartalmaz egy saj t c lokra kifejlesztett, k l n sen j l u a e uo o o haszn lhat eszk zt csomagok k szt s re es azok karbantart s ra, aminek az uhubuild a o o e e e aa nevet adt k fejleszt i. Ezen programcsomag taglal s ra nem ker l sor jelen dolgozat a o aa u keretein bel l, tekintettel arra, hogy a k sz forr sb l t rt n csomagk szt s feladata nem u e a o o e o e e az r ra, hanem az UHU-Linux maintainereire h rult. o a

38

7.1.4.

Terjeszt s e

A program UHU csomagk nt el rhet az ftp.uhulinux.hu cmen, valamint az 1.0- s e e o a verzi t k vet CD-ROM v ltozatokon. o o o a 7.1.5. Menedzsel s e

Mivel a program GPL (Gener l Public Licence) al esik, ez rt forr snyelv v ltozat t a a e a u a a is k zz kell tenni, melynek az UHU-Linux eleget is tesz azzal, hogy a forr s el rhet o e a e o e az svn.uhulinux.hu/UHU/edeity cmen. A v ltoztat sok erv nyrejuttat s nak egy a a aa szer st se erdek ben a subversion nev verzi menedzsment programot alkalmazzuk, u e e u o amely egyebek mellet megk nnyti egy adott program t bb sz lon fut fejleszt s nek oszo o a o ee szehangol s t az ltal, hogy jelzi ki milyen v ltoztat sokat hajtott v gre a forr sban es miaa a a a e a kor, valamint gener l sz munkra egy changelog allom nyt is, ami a forr s felhaszn l inak a a a a ao jelent k nnyebbs get abban, hogy megtudj k a legut bbi verzi ota milyen v ltoztat soko e a o o a a ra ker lt sor a programban. u 7.1.6. Visszajelz sek kezel se e e

A fejlesztett alkalmaz s m rlege minden esetben a felhaszn l k es a fejleszt k k z sa e ao o o o s g nek v lem nye. Ebben az esetben a program v gfelhaszn l i az UHU-Linux altal e e e e e ao uzemeltetett felhaszn l i levelez list n fejthetik ki v lem ny ket, javasolhatnak v ltozao o a e e u a tat sokat, illetve jelezhetnek hib kat. L tezik emellett egy fejleszt i levelez lista, ami a a e o o ugyancsak a hib k kisz r s nek fontos eszk ze, emellett pedig fontos szerepet j tszik a a uee o a tov bbi fejleszt s ir nyvonal nak meghat roz s ban. a e a a a aa

7.2.
7.2.1.

A koncepci fel llt sa o a a


Az alapvet elgondol s o a

A program fejleszt s n l t rekedni kell a szabv nyostott m dszerek k vet s re, hisz a ee e o a o o ee k s bbi fejleszt sek es a fent emltett id all s g szempontj b l ez meglehet sen fontos eo e o o a a o o szempont. Minden olyan esetben, mikor a feladat megkv nja, hogy ett l a koncepci t l a o oo r szben, vagy eg szben elt rj nk, alapos megfontol s t rgy t kell k pezze, a megfelel e e e u a a a e o helyettest m dszer megv laszt sa, mind a k d atl that s g nak, mind a t bb szem ly o o a a o a oa a o e u fejleszthet s g megval sthat s g nak erdek ben. oe o oa a e 7.2.2. A szerkezeti struktura

Kialakt sa sor n gyelemmel kellett lenni a megjelent s saj toss gaira. Mivel kit z tt a a e a a u o c l volt, hogy a program alkalmas legyen a csomagok egyes tulajdons git csoportost si e a a elvk nt ertelmezve azokat f ba rendezni, megval sthat nak kell lennie val stani a k vete a o o o o kez knek: o

39

Azonos t rol s a a A kv nt szerkezet kialakt sa megk veteli egy egys ges forma l trehoz s t, mely a a o e e aa nek legk zenfekv bb m dja a csomagler kra mutat pointerek elhelyez se a szere o o o o e kezet alapj t k pez oszt ly adattagjak nt. Ennek gyakorlati megval st s r l r sza e o a e o a ao e letesen az 7.3.5 fejezetben esik sz . o

40

L ncolhat s g a oa Szint n a szerkezetb l ad d an sz ks ges az, hogy az egyes oszt lyok melyben e o o o u e a a csomagok ler it t roljuk ismerj k a f ban a megel z , a k vetkez , a sz l , o a e a o o o o uo illetve a gyermek oszt lyok cmeit. a Rendezhet s g oe Biztostani kell az oszt lyokban olyan tagf ggv nyeket, melyek a rendez s alapj t a u e e a k pez er keket szolg ltatj k a rendez mechanizmus fel . Az egyszer megvae oe a a o e u l sthat s g erdek ben lehet leg azonos form ban, ami jelen esetben azt jelenti, o oa e o a hogy a sz mmal reprezent lhat ert kek is sz vegk nt ker lnek visszaad sra, hogy a a o e o e u a sszehasonlt s egyetlen f ggv nnyel. megval sthat legyen az o o o a u e Egys ges kezel s e e Meg kell oldani a csomagok ler inak t rol s ra szolg l oszt lyok osszefog s t o a aa ao a aa egy oszt lyba. Ez t lti be a tulajdonk ppeni fa szerep t, melynek agai az egyes a o e e rendez si elvek szerinti csoportok elemei es levelei a csomagler kat tartalmaz e o o oszt lyok. A gyakorlatban ez val stja meg az egyes elemek felv tel t, hozz f a o e e au z s t, t rolja a fa gy k relem t, rendez si met dusainak, oszlopainak, sz r inek ee a o e e e o uo e oe cm t, biztostja a kereshet s get es az ujra pthet s get. e oe 7.2.3. A keres s e

Megval st sa az egys gestett csomagt rol si rendszer kialakt sa ut n m r nem olyan o a e a a a a a rettent feladat, f k pp hogy az alap C nyelvi programk nyvt rak tartalmaznak sztringek o o e o a kezel s re f ggv nyeket, s t regul ris kifejez sek megad s ra is van lehet s g. Mindez ee u e o a e aa oe komoly k nnyebbs get jelent a fejleszt sben, mivel a feladat a keres s opci inak bek r o e e e o ee s re es a fent emltett eszk z kkel a csomaglist n t rt n v gigfuttat s ra sz k l. Ezek e o o a o e o e aa u u ut n m r csak az egym st k vet tal latok el r se jelenthet gondot, ami azonban a mega a a o o a ee felel en kidolgozott keres algoritmusok megl te eset n ugyancsak egyszer feladat. o o e e u 7.2.4. e A szur s

J n h ny r szfeladatot tekintve megegyezik a keres ssel, hisz hasonl elvek s bek r si o e a e e o e ee mechanizmus szerint t rt nik a kisz rend elemek megkeres se, mint a keres s esetl n o e u o e e e a tal latok meghat roz sa. Ami itt t bblet feladatot jelent az az, hogy a megadott sz r si a a a o ue mint kat t rolni kell, a k s bbi t rl s, szerkeszt s es elt volt s miatt, valamint a megjea a eo o e e a a lentett f t ujra kell rajzolni a kisz rt elemek n lk l. a u e u

41

7.2.5.

A felhaszn l i felulet ao

Form ja k vetkezik a t rol si szerkezetb l, mivel annak c ljait gyelembe v ve lett kia o a a o e e alaktva. A helyzetet n mik pp bonyoltotta, hogy k t felhaszn l i fel let fejleszt se folyt e e e ao u e a a p rhuzamosan. Ennek term szetesen megvannak a maga el nyei es h tr nyi egyar nt. Az a e o a UHU-Linux ink bb a grakus fel leten megjelen interf sz fejleszt s t prefer lta, de meg a u o e ee a kell vallanom, hogy szv gyem a karakteres fel let tov bbvitele is, mivel rem nyeim sze u u a e rint k z pt von a program k pes lehet a dselect felv lt s ra, haszn lhat szolg ltat si, o e a e a aa a o a a illetve esszer megjelent si eszk zei r v n. A fejleszt s sor n ahhoz k pest, ha csak u e o e e e a e a grakus fel let fejleszt s t kv ntuk volna felkarolni t bblet munk t jelentett tekinu ee a o a tettel lenni a k t fajta fel let egyforma kezel s re, am meg kell jegyezni, hogy az ennek e u ee ok n modulariz lt es egym sb l or kl d oszt lyokra sz tbontott szerkezet egyszersmind a a a o o o o a e a o a atl that bb is tette a forr sk dot. a o

7.3.
7.3.1.

Amire a felulet epul


El k szuleti l p sek o e e e

Mindenekel tt a 6.1 fejezetben emltett eszk z k n kereszt l inicializ lnunk kell a APT o o o o u a f ggv nyk nyvt rait, es csak ezut n kezdhet nk neki az erdemi munk nak. u e o a a u a Az els l p s ebben az esetben a parancssori param terek feldolgoz sa. Ugyanis a o e e e a program k pes n h ny m veletet fel letek elindt sa n lk l az apt-get parancshoz e e a u u a e u hasonl an elv gezni. Ezek a legalapvet bb apt-get m veletek (telept s, t rl s, frisst s, o e o u e o e e disztrib ci v lt s) v grehajt s t teszik lehet v , a felhaszn l i fel let indt sa n lk l. Ez u o a a e aa o e ao u a e u a funkci akkor hasznos, ha konkr t feladatot szeretn nk a csomagkezel vel v grehajtato e e o e ni. 7.3.2. A cache allom ny fel pt se a e e

A 6.2 fejezetben ismertetett oszt ly segts g vel legener ljuk a cache allom nyt, amire a e e a a a 7.2.2 fejezetben ismertetett egys ges kezel s elv t megval st oszt ly is t maszkodik, e e e o o a a valamint amib l a k s bbiek folyam n a felhaszn l i fel let altal megjelentett adatokat o eo a ao u fogjuk kinyerni. Ezek ut n k vetkezik az elk sz l cache allom ny alapj n az esetleges hib k feldea o e u a a a rt se, amennyiben lehets ges, korrekci ja. Ebben a 6.5 fejezet f ggv nyeit haszn ljuk e e o u e a fel. El sz r a textithalf-installed st tusz csomagok javt s t enged lyezz k, majd ha o o a u a a e u a rendszerben vannak broken st tusszal rendelkez csomagok, ezek javt s ra tesz nk a o a a u ks rletet. e A felhaszn l t j koztat sa erdek ben a cache gener l s nak es a javt si folyamatok ao ae a e aa a a ideje alatt mivel ez a m velet ak r n h ny percet is ig nybe vehet lassabb architekt ra, u a e a e u vagy hosszas helyre llt si met dus eset n folyamatindik tor jelenik meg. a a o e a

42

7.3.3.

A csomagler k kinyer se o e

A fa szerkezet t rol s megval st s nak els l p se k zenfekv okokn l fogva a fa u a a o a a o e e e o a elemeit k pez csomagler k osszegy jt se. Ehhez elengedhetetlen a kor bban m r l te o o u e a a e rehozott cache allom ny megl te. Eppen ez rt, ha annak folyamat ban olyan hiba l p fel, a e e a e melyet az APT eszk zeivel korrig lni nem tudunk, a felhaszn l t t j koztatni kell a hiba o a ao ae forr s r l es annak lehets ges javt si m dszereir l, valamint a program fut s t le kell aao e a o o aa alltani. Amennyiben a cache allom ny l trehoz sa sikeresen befejez d tt, akkor megkezda e a o o hetj k a 6.3 fejezetben t rgyalt CacheIteratorok osszegy jt s t. A program indul sakor u a u ee a term szetesen nem kell gyelembe venn nk semmilyen sz r hat st mivel azok ekkor e u uo a m g nem lehetnek deni lva, de a k s bbiekben, azaz a fa ujrainicializ l sakor, m r e a eo aa a ezzel a t nyez vel is sz molnunk kell. e o a 7.3.4. A csomagler k rendez se o e

Miel tt m g val ban nekikezdhetn nk az altalunk deni lt oszt lyok segts g vel kio e o e a a e e alaktott fa szerkezet megval st s nak, a fentiekben megfogalmazott m don osszegy j o a a o u t tt CacheIteratorokat rendezn nk kell. A rendez s alapj t a m r emltett rendez si elo u e a a e vek k pezik. Adott egy alap rtelmezett rendez si sorrend, melyet a program indul sakor e e e a alkalmazunk, valamint adottak a m dszerek a fa rendez si elveinek megv ltoztat s ra, o e a aa ez ltal a fa ujrarendez s re. A csomagok meghat rozott tulajdons gaik (priorit s, st tusz, a ee a a a a szekci , n v) ert kei alapj n rendezhet ek f ba. o e e a o a Minden ilyen ertelemben megk l nb ztetett tulajdons gra k t fajta osszehasonuo o a e lt st is meg kell val stani. Egyfel l az azonos szekci ba es csomagok sorrendbe a o o o o a a allt s hoz, m sfel l a szekci k sorberendezhet s g hez. A legt bb esetben a k t ala o o oe e o e goritmus azonos, am vannak esetek, mikor k l nb z d nt si mechanizmust kell alkaluo o o o e mazni. Erre p lda a csomagok neve alapj n t rt n sorba rendez s. Mivel a k l nb z e a o e o e uo o o kezd bet vel rendelkez csomagok, k l n csoportba soroland k, ez rt ezek rendez s n l o u o uo o e ee e a csomagok neveinek csup n a kezd bet it kell gyelembe venni, de az egy csoportba a o u ker l csomagok rendez se m r teljes n v alapj n t rt nik. Hasonl az elj r s a csomauo e a e a o e o aa gok m rete alapj n t rt n rendez s eset n is. e a o e o e e

Ezen rendez shez egy rekurzv elj r st alkalmazunk melynek alap tlete a k vetkez ; e aa o o o adott egy rendez f ggv ny, melynek param terk nt atadjuk a rendezend t mb kezd o u e e e o o o cm t, az aktu lisan rendezni kv nt r sz als es fels index t, valamint a rendez si elvet e a a e o o e e t rol oszt ly cm t. A f ggv ny els hv sakor a fels index term szetesen megegyezik a o a e u e o a o e a rendezend t mb kezd cm vel, a rendez s pedig a m sodik legnagyobb priorit ssal o o o e e a a megadott elv szerint t rt nik. o e

43

A f ggv ny els teend je, hogy megsz ml lja, hogy az eggyel kisebb priorit s renu e o o a a au dez s fentiekben ismertetett csoportos osszehasonlt si elve szerinti h ny elem min s l e a a ou egyform nak. a e Ha ez nagyobb mint egy, akkor meghvja onmag t als indexk nt az eddigi ert ket, a o e fels indexk nt az elt r si pontra mutat indexet, rendez si elvk nt pedig a soo e ee o e e ron k vetkez elvet megadva. Ez ltal a csoportos osszehasonlt sban egyform nak o o a a a min s l r szek a soron k vetkez elvek szerint is rendez dnek, egyre kisebb als o uo e o o o o es fels index k l nbs ggel. o uo e Amennyiben a fels index es a lesz ml lt elemek sz m nak osszege nem haladja o a a a a e e meg az als index ert k t, a f ggv ny ujra onmag t hvja fels indexk nt az eddigi o u e a o e fels index es a darabsz m osszeg t, als indexk nt az eddigi als indexet, rendez si o a e o e o e elvk nt az eddigi rendez si elvet atadva. e e 7.3.5. A faszerkezet kialakt sa a

Ezzel az elj r ssal l trehoztunk egy CacheIteratorokat tartalmaz list t, melynek elemei aa e o a a megadott rendez si elvek priorit sa szerint olyan sorrendet adnak, mint amilyen sore a rendet a k sz fa m lys gi bej r sa adna. Ennek ismeret ben a m lys gi bej r shoz hasone e e aa e e e aa latos algoritmussal fel lehet epteni a megjelent sre sz nt f t. Ebben a r szben c lszer e a a e e u sz t ejteni arr l is, hogy nem minden faelem reprezent l val di csomagot, hiszen a f ba o o a o a minden szinten el kell helyezni az adott csoportost s elvhez tartoz csomagtulajdons g a o a rt k t, mint gy jt elemet. aktu lis e e e a u o

44

Mint az a B.1 f ggel kben l that strukt ra elemz s b l kider l, a fa elemei t rolj k u e a o u ee o u a a a fabeli elhelyezked s k m lys g t, tpusukat (gy jt elem, vagy val di csomag), ismeeu e e e u o o rik szomsz daikat, sz l j ket, valamint a gyermek ket is. Minden elem t rol egy Cae uou u a cheIteratort, ami az altala reprezent lt csomag ler ja, gy jt elem eset n pedig a csoa o u o e portj ba tartoz els val di csomag ler ja, ami a gy jt elem adatainak megjelent s hez a o o o o u o e e sz ks ges. u e L tezik az el z ekben emltett faelemek kezel s re szolg l f ggv nyeket csopore o o ee ao u e tost oszt ly melynek denci ja a 7.3.5 f ggel kben tal lhat ami biztostja a ++, o a o u e a o --, =, ==, !=, &, * es -> oper torokat. Ezek k z l kiemelend a ++ a o u o es -- oper torok, melyek a m lys g szerinti bej r s megval st i. A line ris bej r s a e e aa o o a aa megval st s ra a GetNextLinear es a GetPrevLinear f ggv nyek szolg lnak, melyeknek o a a u e a haszna a 7.3.6 fejezetben kifejtett keres sn l l tszik. e e a 7.3.6. Keres s a f ban e a

A keres s mechanizmusa a 7.3.5 fejezetben m r emltett GetNextLinear es GetPrevLinear e a f ggv nyeken val sul meg. Ezen f ggv nyek segts g vel k pesek vagyunk a f t line ris u e o u e e e e a a egys gnek tekinteni, ami nagyban egyszer sti a keres s algoritmus t, hiszen csup n az e u e a a egym st k vet elemekre alkalmaznunk kell a keres si felt telt, mely vizsg lat pozitv a o o e e a eredm nye eset n az adott elemet meg kell jel lni. e e o Az osszegzett keres si felt tel logikai es, valamint logikai vagy m veletekkel osszee e u kapcsolt vizsg latokat tartalmaz. Az egyes keres si felt telek a k vetkez k lehetnek: a e e o o egyezik A keresend sz veg pontosan egyezik a csomag megadott tulajo o e e dons g nak ert k vel. a a nem egyezik A keresend sz veg nem egyezik meg pontosan a csomag mego o e e adott tulajdons g nak ert k vel. a a kisebb A keresend sz veg annak hossz ig egyezik a csomag megadott o o a e e tulajdons g nak ert k vel, de r videbb ann l. a a o a nagyobb A keresend sz veg annak hossz ig egyezik a csomag megadott o o a e e tulajdons g nak ert k vel, de hosszabb ann l. a a a e tartalmazza A csomag megadott tulajdons g nak ert ke tartalmazza a kerea a send sz veget. o o e nem tartalmazza A csomag megadott tulajdons g nak ert ke nem tartala a mazza a keresend sz veget. o o A keres si felt telekben megadhat csomagmez k az al bbiak: e e o o a csomagn v A csomag cache allom nyban l v neve. e a e o el rhet verzi A csomag el rhet legfrissebb verzi ja. e o o e o o

45

teleptett verzi A rendszerben teleptett csomag verzi ja. o o r vid ler s A csomag r vid ler sa. o a o a b vebb ler s A csomag r szeltekbe men ler sa. o a e o a karbantart A csomag kartart j nak neve, e-mail cme. o oa f jln v A csomagot archv allom ny nak neve. a e a a Lehet s g van egyszer bb keres s lebonyolt s ra is, ahol a keresend sz veg leoe u e a a o o het regul ris kifejez s, vagy norm l sz veg. Ut bbi esetben a keres si felt tel tartala e a o o e e mazza lesz. Lehet s g van a sz veg r vid ler sban t rt n keres s re is, valamint a oe o o a o e o ee bet erz kenys g ki- es bekapcsol s ra. u e e aa A keres si felt telt mag t nem sz ks ges t rolnunk, mivel a 7.3.5 f ggel kben l te e a u e a u e a hat oszt ly r v n k pesek vagyunk meghat rozni, hogy egy adott csomag jel lt-e, o a e e e a o vagy sem. A k vetkez keres s alkalm val ezek az allapotjelz k t rl dnek, es az uj o o e a o o o e keres si felt telnek megfelel en vesznek fel ert ket. A k vetkez , illetve el z tal lat e e o o o o o a meghat roz s n l is ezeket az allapotjelz ket haszn ljuk fel. a aa a o a 7.3.7. e Elemek kiszur se a f b l a o

A sz r si felt telek ossze llt sa, valamint az azoknak megfelel elemek megkeres se ue e a a o e a 7.3.6 fejezetben ismertetett elj r shoz hasonl an zajlik le. A k l nbs g a tal latok aa o uo e a kezel s ben van, hiszen itt nem arr l van sz , hogy valamely m don megjel lj k azoee o o o o u kat az elemeket, melyek megfelelnek bizonyos felt teleknek, hanem azok f b l t rt n e a o o e o elt volt sa a c l. a a e A sz r s gyakorlati megval st s ra t bb lehet s g is kn lkozik. Ami els k zelt sue o a a o oe a o o e ben egyszer bbnek t nhet az a keres sn l m r alkalmazott elj r s a tal latok kisz r se u u e e a aa a ue a fa megjelent s b l. Ennek el nye egy ttal h tr ny t is jelenti, hisz mag val a faszerkee e o o u a a a a zettel nem kellene egyebet tenn nk, minthogy megjel lj k a megfelel elemeket a f ban, u o u o a be kell l tni, hogy majd a felhaszn l i fel let megjelent se sor n ezeket kihagyjuk. Am ao u e a a ez nem felt tlen l az egyszer bb m d, mivel adott esetben a fa egyes csoportjainak osszes e u u o eleme is jel lt lehet, ami mag val vonja az oket csoportost elem megjelent sb l val o a o e o o kiz r s t, ami k l n vizsg latokat ig nyel. Emellett a k l nb z interf szekre (Curses, aaa uo a e uo o o e Gtk) k l n-k l n meg kell val stani a sz r s ut ni megjelent s mechanizmus t. uo uo o ue a e a Ett l k nyelmesebb megold s ami azonos hat konys g mellett jobban attekinthet o e a e a o k dot is eredm nyez az, ha a teljes faszerkezetet ujrakonstru ljuk, a m r megl v sz r si o e a a e o ue adatok gyelembev tel vel, ami nem jelent m st, minthogy a sz r si felt teleknek mege e a ue e u felel elemeket nem eptj k be a f ba. Ez a megold s term szetesen azzal j r egy tt, hogy o a a e a u minden esetben, mikor v ltoznak a sz r si felt telek a f t ujra kell epteni es rajzolni, ami a ue e a azonban minden ilyen jelleg sz r si feladatn l elfogadott. u ue a

46

Tov bbi l nyegi k l nbs g a sz r si felt tel eredm ny nek t rol s ban van. Ellent ta e uo e ue e e e a aa e ben a keres ssel, a sz r s eset n nincs sz ks g nk a sz r si felt teleknek megfelel e ue e u e u ue e o elemek megjel l s re, hiszen azok bele sem ker lnek a f ba. A sz r si felt telek t rol sa oe e u a ue e a a viszont ann l fontosabb, hiszen ezekb l t bbet is meg lehet adni egym s ut n, ami azt a o o a a is jelentheti, hogy az ujabb felt tel az eddig m g a fa r sz t k pez elemet is kisz ri. e e e e e o u Ezen t lmen en pedig csak gy v lik lehet v a sz r si felt telek felv tele, t rl se, szeru o a o e ue e e o e keszt se, inverzi ja. e o A B.3 f ggel k ben megtekinthet a sz r k t rol s ra haszn lt oszt lyok szerkezete, u e e o uo a aa a a melyekb l egy bir nt kider l, hogy az egyes sz r si felt telek l ncolt listak nt t rol do e a u ue e a e a o nak, am kezel s ket, mint egy LIFO t rol t val stjuk meg. eu a o o 7.3.8. A rendszer frisst se e

A rendszer frisst s re ami alatt a 4.3.1 fejezetben emltett apt-get parancs update, upge e rade es distupdate opci inak eredm ny t ertj k rendkv l j l haszn lhat eszk z ket o e e u u o a o o o biztost az APT programoz i fel lete. Ezek ismertet se azonban az 6.5 fejezet t rgy t o u e a a k pezi. e Ehhez a t rgyk rh z szorosan kapcsol dik az sources.list allom ny, es annak szera o o o a keszt se. Mindenekel tt azonban ejts nk n h ny sz t mag r l az allom nyr l es annak e o u e a o ao a o szerkezet r l. eo Az /etc/apt/sources.list allom ny tulajdonk ppen egy k z ns ges sz veges f jl, a e o o e o a mely a csomagok forr sainak list j t tartalmazza, meghat rozott form ban. Az allom nyt a aa a a a arra tervezt k, hogy egyszerre t bb forr st is t mogasson, ak r t bb k l nb z m di r l e o a a a o uo o o e ao is. A f jl soronk nt tartalmazza a forr sokat, melyek k z l az els min s l prefer ltnak. a e a o u o ou a Minden olyan sor megjegyz snek min s l, mely # karakterrel kezd dik. Az egyes sorok e ou o u tpus uri argumentumok form ban ep lnek fel, ahol: a tpus a csomagforr s tpus deb, vagy deb-src a uri a forr s Universal Resource Indentier szerinti ler sa a a argumentumok itt adhat meg a disztrib ci n bel li tpus, illetve egy b param terek o u o u e e

47

8.
8.1.

A felhaszn l i felulet ao
Feluletfuggetlenul megl v elemek e o

A felhaszn l i fel let megalkot sakor a vez rl elv rendkv l egyszer volt. Nem t reao u a e o u u o kedtem olyan interf sz kialakt s ra, mely minden az APT altal ny jtott funkci t mag e a a u o a ban foglal, mivel ennek el r se rendkv l id ig nyes feladat, es nem jelent t bblet rt ket ee u o e o e e sem az olyan felhaszn l k sz m ra akik az UHU-Linuxhoz hasonl desktop oper ci s ao a a o a o rendszert haszn lnak, sem azoknak akik a Debian alap rendszerekkel val megismera u o ked s kezd l p sein l szeretn nek segts gre lelni. e o e e e e e Ami az rt is igaz, mivel a felhaszn l k ezen csoportja nem kv n minden apr r sze ao a o e lettel t r dni, hiszek ezeknek sem mibenl t t, sem jelent s g t nem ismerheti. Azon oo ee oe e felhaszn l i csoportok s ezalatt most legink bb rendszergazd kat ertek akik m lyebb ao e a a e ismeretekkel rendelkeznek a Debian alap rendszerek csomagkezel s ben, a r szletes u ee e be llt sokat maguk is el tudj k v gezni, emiatt nem sz ks ges k l n eszk zt ig nybe a a a e u e uo o e ha rendelkez s kre bocs tunk egy olyan alkalmaz st, mely megjelent venni k. Am u eu a a o eszk zei r v n atl that v tesz, egy bk nt k r lm nyesen megszerezhet inform ci kat, o e e a o a e e ou e o a o annak haszn lat t ezen tekintetben el nyben fogj k r szesteni. a a o a e A legink bb prefer lt elv a haszn lhat s g, es a k zenfekv megold sok alkalmaz sa a a a oa e o a a volt a felhaszn l i fel let kialakt sakor. Mindemellett nem hanyagolhat el term szeteao u a o e sen a funkci k dokument ci ja, valamint egy egyszer s g elk szt se. A felhaszn l k o a o u u o e e ao helyzet nek egyszer st se erdek ben a legt bb funkci t bb helyen is el rhet . Erre e u e e o o o e o a p lda a csomag st tusz nak allt sa, mely mind a f men b l, mind a csomagra kattintva e a a o u o leg rd l men k nt el rhet . Vannak olyan funkci k is melyek el rhet altal nosan o uo u e e o o e o a (sz r s megadott opci kkal), valamint a fa valamely gy jt elem re kattintva speci lisan ue o u o e a is.

48

L tezik j n h ny olyan elem, melyek kezel se l nyeg t tekintve nem f gg a felhasze o e a e e e u n l i fel let fajt j t l, eltekintve term szetesen a fel letek programoz si es megjelent ao u aao e u a o elemeinek saj ts gaib l fakad elt r sekt l. a a o o ee o 8.1.1. Menuszerkezet

Mint a legt bb felhaszn l i program eset n, itt is kialakt sra ker lt egy men sor, melyen o ao e a u u kereszt l az alkalmaz s altal ny jtott funkci k el rhet ek. Ennek szerkezete k veti a u a u o e o o bevett form kat, vagyis l teznek az al bbi men k: a e a u F jl Ezen kereszt l erhet ek el az APT azon funkci i, melyek a rendszerben a u o o val di v ltoz st hoznak l tre, vagyis nem csak a megjelent s c ljait o a a e e e szolg lj k. a a APT forr sf jl szerkeszt se. a a e Csomaglista frisst se, melyre a 4.3.1 fejezetben ismertetett pae ranccsal szint n alkalmas. e Cache allom ny frisst se, mely a 4.3.2 fejezetben ismertetett paa e ranccsal szint n elv gezhet . e e o e Csomagok st tusz n v grehajtott v ltoztat sok erv nyest se. a a e a a e Szerkeszt s Itt tal lhat k a csomagok keres s vel osszef gg funkci k, bee a o ee u o o le rtve a tal latok k z tti navig l st is. e a o o aa N zet Ezen men n bel l v ltoztathat meg, hogy a csomagok norm l, e u u a o a vagy fordtott f gg s g t kv njuk-e megjelenteni a csomagot tartal u oe e a maz faelem megnyit sakor. o a o Sug Tartalmaz egy n vjegyet, valamint a gyorsbillenty k ler sait. e u a

49

Tov bb azok a men k, melyek kifejezetten az program prolj hoz k t dnek. a a u a oo Parancsok A csomagst tuszok v ltoztat s nak parancsait foglalja ossze: kia a aa jel l s telept sre, frisst sre, t rl sre. oe e e o e o Szur k A 7.3.7 fejezetben kifejtett sz r k kezel s nek men pontja: hozz uo ee u a ad s, megjelent s, elt volt s, invert l s. a e a a aa Rendez s A 7.3.4 fejezetben r szletezett rendez si elvek, valamint a megjee e e lentend csomagtulajdons gok sorrendj nek be llt s ra szolg l kon o a e a a a ao gur ci s men k. a o u 8.1.2. Fa szerkezetu megjelent s e

A fa szerkezet megjelent s t bb szempontb l is az optim lis megold s. u e o o a a A lista szerkezet meglehet sen neh zkesen kezelhet bizonyos elemsz m felett, es o e o a emellett Gtk eset n m g t lzottan nagy er forr sig nyt is t maszt. e e u o a e a Lehet s get ad t bb szint rendez s megval st s ra, ami takar koskodik az er oe o u e o a a e o forr sokkal, amit tov bb fokozhatunk dinamikus kezel s megval st s val. a a e o a a Komoly inform ci tartalommal br, mivel maguk a csoportelemek is inform ci kat a o a o hordoznak a csomagokr l. o A gy jt elemek r v n megval sthat az elemek csoportos kezel se (sz r si felt tel u o e e o o e ue e gener l sa a csoportelem alapj n, st tuszv lt s a teljes csoportra). aa a a a a Maguk a csomagok is kezelhet k csoportelemk nt, mint f gg s geik csoportja. o e u oe A faszerkezet el nyeinek szeml ltet s re kit n p lda a fordtott f gg s g szerinti reno e ee u o e u oe dez s haszn lata, melynek akkor l tjuk igaz n komoly haszn t, ha rendszer nk m r koe a a a a u a molyabb m ltra tekint vissza, es nagysz m csomag telept s t es t rl s t hajtottuk v gre. u a u e e o e e e

Ebben az esetben a t rl sek sor n csak azok a csomagok allom nyai t rl dnek, meo e a a o o lyek f ggenek az adott csomagt l. Am a gyakorlat azt mutatja, hogy gyakran fordul el u o o az az eset, amikor a csomaggal egy tt telep lt csomagok (melyeket a teleptett csomag u u hivatkozott f gg s g ben) elt volt s r l megfeledkez nk, melyek ezut n feleslegesen u oe e a a ao u a foglalj k merevlemez nket. a u Erre megold s, ha els dleges rendez s nk a csomagunk allapota, m sodik pedig a a o eu a fordtott f gg s g. ha a teleptett, de nem hivatkozott csomagjainkat vizsg ljuk, sok u o e Igy, a a o olyan csomagra lelhet nk, amely nem on ll alkalmaz s ( s ennek ok n nem hivatkozza u a e a semmilyen m s csomag), hanem ugymond feleslegk nt marad h tra valamely feleslegesa e a nek v lt csomag t rl sekor. e o e

50

Term szetszer leg megvannak a m dszer h tr nya is, hiszen egy csomag st tusz nak e u o a a a a v ltoz sa, m s csomagok st tusz nak v ltoz s t is maga ut n vonhatja, ami egy ilyen a a a a a a aa a tpus megjelent sn l egyszersmind azt is jelenti, hogy ha nem akarjuk az eg sz f t u e e e a ujrarajzolni minden egyes ilyen esetben, ami meglehet sen drasztikus megold s volna, o a akkor be kell j rnunk a f t annak gy ker t l, es az elt r sek eset n korrekci t kell v grea a o eo ee e o e hajtanunk a csomagst tusz kijelz s ben. a ee 8.1.3. Oszlopok a f ban a

Amint a fa azon m lys g be er nk, ahol m r csomagok(vagy azok f gg s gei ker lnek e e e u a u oe u e megjelent sre), azonnal szembet n v v lik, hogy a csomagok tulajdons gainak ert kei e u o e a a oszlopos szerkezetben helyezkednek el. Ennek el nye, hogy az oszlopok tetsz s szeo e rint atrendezhet k, eltekintve az els h rom oszlopt l, melyek rendre a csomag nev t, o o a o e st tusz t es az altalunk be lltott st tuszt tartalmazz k. a a a a a 8.1.4. Jel l s v oo a

A f ban t rt n eligazod st el segtend mindk t fel let eset n l tezik egy jel l s v, a o e o a o o e u e e oo a mely az eppen aktv elemet teszi m g ink bb szembet n v , aminek igazi el ny akkor e a u o e o jelentkezik, ha nagyobb oszlopsz m eset n kell szemmel meg llaptanunk, hogy a h ts a e a a o e oszlopok ert kei melyik sorhoz is tartoznak. 8.1.5. St tuszb r a a

Ez a megold s is meglehet sen elterjedt, aminek ok n t lzott magyar zatot f zni nem is a o a u a u o o o erdemes ehhez a r szhez. Annyi azonban megemltend , hogy az udv zl sz vegen kv l e o u sok apr , de hasznos inform ci jelenthet meg gy. o a o o

8.2.

NCurses

Az NCurses gyakorlatilag egy f ggv nyk nyvt r, mely lehet v teszi a termin l tpus u e o a o e a a nak es vez rl karaktereinek ismerete n lk l a kurzor mozgat s t, ablakok l trehoz s t, e o e u aa e aa sznek haszn lat t, az eg r kezel s t az ltal, hogy egy rendkv l rugalmas es hat kony a a e ee a u e API-t (Application Programming Interface) deni l a nyers termin lk dok f l . a a o oe Am az NCurses nem csup n ennyi. Emellett ny jt a curses testv rk nyvt raival a u e o a egy tt, melyek a panelek, men k, formok kezel s t t mogatj k egy er s v zat is, mely u u ee a a o a lehet v teszi k nyelmes, valamint kellemes kin zet felhaszn l i fel letek (C.2 f go e e e u ao u u gel k) l trehoz s t karakteres m dban, melynek er forr sig nye minim lis, es a hozz e e aa o o a e a a sz ks ges csomagok sz ma is csek ly. Ami azt jelenti, hogy egy szer ny er forr sokkal u e a e e o a rendelkez g pen is hat konyan haszn lhat , melynek ok n rem lni lehet, hogy hosszabb o e e a o a e t von a dselect kiv lt ja lehet. a a o

51

Mivel az UHU-Linux prolj ba nem igaz n v g bele karakteres fel let programok a a a u u fejleszt se m r ami a jelenlegi allapotokat es a desktop rendszer fejleszt s t illeti ez rt e a ee e a program ezen interf sze sokat nem fejl d tt az alap allapothoz k pest, ink bb csak olyan e o o e a v ltoztat sok ker ltek v grehajt sra, melyek az alapvet m k d k pess g es a tov bbfeja a u e a o u o o e e a leszthet s g meg rz s t voltak hivatottak meg rizni. oe o ee o

8.3.

Gtk

A Gtk (GIMP Tool Kit) szint n egy f ggv nyk nyvt r, mely a felhaszn l i fel letek e u e o a ao u l trehoz s ra ny jt eszk z ket, am grakus fel leten. Segts g vel megval sthatunk e aa u o o u e e o eg szen egyszer adatbek r applik ci kat, de rendkv l osszetett, dinamikusan kezelt e u eo a o u fel leteket is. Egyik legnagyobb el nye a Curseshez k pest, hogy rengeteg el re deni lt u o e o a oszt ly teszi m g egyszer bb a fel let kialakt s t, es az azon helyet foglal elemek kea e u e u a a o zel s t. ee Az alap koncepci r viden a k vetkez . Minden egyes a grakus felhaszn l i fel leo o o o ao u ten elhelyezhet elem a GtkObject alaposzt lyb l sz rmazik, aminek gyakorlati haszna o a o a a abban all, hogy erre az oszt lyra visszavezetve egys gesen lehet kezelni es t rolni az a e egyes elemeket. A gyors utem fejleszt st es a j l kezelhet fel letek egyszer kialakt s t nagyban u e o o u u a a segti az oszt lyok atgondolt fel pt se es kezel se. Minden elem rendelkezik a r jel a e e e a lemz tulajdons gokat reprezent l v ltoz kkal, valamint a megfelel esem nykezel ko a ao a o o e o kel, melyeken kereszt l ugymond programk dot rendelhet nk a felhaszn l altal kiv ltott u o u ao a esem nyekhez. e Ezt megvil gtand , vegy k egy gomb p ld j t. Ezt az elemet a GtkButton oszt ly a o u e aa a val stja meg, melynek activate, clicked, enter, leave, pressed es released o esem nyei vannak a k l nb z t rt n sek kezel s re. Az esem nykezel bemeneti pae uo o o o e e ee e o ram tere minden esetben a GtkButton oszt ly egy p ld ny ra mutat pointer, valamint e a e a a o e e egy m sik mutat , melynek ert k t az esem nykezel f ggv ny es az esem ny osszekapa o e o u e e csol sakor adhatjuk meg. a Az esem nykezel s ilyen megk zelt se a faszerkezet ami a C.1 f ggel kben l thae e o e u e a t dinamikus megjelent s n l jelentett k l n sen nagy el nyt, hiszen minden egyes fa o e e e uo o o elemnek megvannak a maga esem nyei, melyeken kereszt l el rhet , hogy a Gtk megjee u e o lent eszk ze ne t roljon a sz ks gesn l t bb adatot. A gy jt elemek gyermekei csak o o a u e e o u o annak megnyit sakor ker lnek hely kre es bez r sakor t rl dnek a mem riafelhaszn l s a u u aa o o o aa cs kkent se erdek ben. o e e Ez a megval st s teszi tov bb lehets gess , hogy a fa elemeire t rt n kattint skor o a a a e e o e o a r szletesebb inform ci jelenhess k meg a kiv lasztott elemr l, valamint hogy az egyes e a o e a o

52

a csomagokra vonatkoz parancsok men n kereszt l is el rhet ek legyenek. Nagyban o u u e o k nnyti tov bb a fa megjelent s t is, az automatikus g rget s v-kezel ssel, az ablakok o a a e e o oa e e atm retezhet s g vel. oe e Tov bbi el nyt jelent a hasonl elemekb l fel p l ablakok gyors m solhat s ga, a o o o e uo a oa amire legk zenfekv bb p lda a keres s es a sz r s adatbek r ablakainak (C.5, C.6, ile o e e ue eo letve C.7, C.8 f ggel kek) hasonlatoss ga. L v n, hogy a keres s ablaka m r kor bban u e a e e e a a is l tezett, annak atszab sa a sz r s felt teleinek bek r s re csek ly energiabefektet st e a ue e eee e e ig nyelt. e

53

9.

Nemzetk zis g o e

Az UHU-Linux, valamint a magyar felhaszn l k sz m ra fontos szempont, hogy a progao a a ram magyar nyelven jelentse meg az inform ci kat melyben fontos szerepet j tszik a a o a csomagok ler sainek fordt sa kommunik ljon a felhaszn l val, adja hiba zeneteit. a a a ao u Erre l tezik t mogat s a GNU C nyelv f ggv nyk nyvt raiban, ami r viden osszee a a u u e o a o foglalva a k vetkez k pp m k dik. Minden egyes sz veget melyet valamilyen m d n o o e u o o o o meg kv nunk jelenteni, egy makr n kereszt l adunk at a megjelent st megval st a o u e o o f ggv nynek, ami lehet v teszi, hogy a sz vegek fut sid ben cser l djenek le a megu e o e o a o eo felel nyelvre. o Ennek alapfelt tele azonban, hogy a fenti sz vegek fordt s t elv gezz k. Erre ugyan e o a a e u nincsenek automatiz lt m dszerek, de a GNU nemzetk zis get t mogat eszk zei segta o o e a o o s g nkre vannak. A megfelel programmal a forr sk db l lev logathat k a fordtand e u o a o o a o o sz vegr szek egy k l n allom nyba, mely ezek ut n k zz tehet , gy a fordt sban a o e uo a a o e o a legk l nb z bb nemzetis g emberek vehetnek r szt , el segtve a program minn l t bb uo o o e u e o e o nyelvre t rt n interpret l s t. o e o aa a A lefordtott allom nyok osszegy jt se ut n azokat bin ris allom nyokk fordtjuk, a u e a a a a melyek a telept s sor n a /usr/share/locale/ k nyvt r al ker lnek elhelyez sre, e a o a a u e nyelvenk nt k nyvt rakba v logatva, programn v.mo n vvel. e o a a e e A program fut sa sor n a LANG k rnyezeti v ltoz ban megadott nyelvi be llt sok a a o a o a a szerint kiv lasztott bin ris allom nyb l helyettest dnek be a kor bban m r lefordtott a a a o o a a sz vegr szletek, melyek gy olyan hat st keltenek, mintha a program uzenetei az adott o e a nyelven r dtak volna. o Ez a megold s rendkv l praktikus, mivel leveszi a fordt s terh t a program feja u a e leszt j r l, valamint a forr sk dban sem tesz sz ks gess l nyeges v ltoztat sokat. A oeo a o u e e e a a program fejleszt se sor n azonban ugyelni kell arra, hogy a statikus sz vegr szek forde a o e t sa ezzel a m dszerrel nem lehets ges. a o e

54

10. Osszefoglal o
Jelen applik ci az UHU-Linux Kft. megbz s b l k sz lt, azzal a c llal, hogy a diszta o aa o e u e rib ci rendelkezz k grakus fel let , felhaszn l bar t csomagkezel rendszerrel. Teru o e u u ao a o m szetesen egy b Debian alap csomagkezel ssel rendel kez Linux rendszerek alatt e e u e e o is haszn lhat . A megval st s jelen szakasz ban 0.9.1.0 verzi a szoftver k pes a csoa o o a a o e magok fa szerkezet megjelent s re ahol megjelent si met dusok, es a megjelentend u e e e o o csomagtulajdons gok megv laszthat k az alapvet csomagkezel funkci k ell t s ra. a a o o o o aa a Lehets ges a csomagok k z tti keres s, illetve a csomagok sz r se azok tulajdons gainak e o o e ue a e ert kei alapj n egyszer stett es osszetett form ban. Ezeken t l m dunk van glob lis a u a u o a v ltoztat sok v grehajt s ra, azaz a csomaglista, illetve a teljes rendszer frisst s re, a a a e aa e e APT forr sf jl szerkeszt s re. Emelett alkalmas olyan inform ci k hat kony megjea a ee a o e lent s re, melyek a hagyom nyos csomagkezel si elj r sokkal neh zkesen erhet ek el. e e a e aa e o A t vlati c lok k z tt szerepel a csomagkezel rendszer alkalmass t tele a r szletes a e o o o a e e be llt sok kezel s re, valamint a karakteres fel let funkcionalit s nak felz rk ztat sa a a ee u aa a o a a grakus fel let ehez. u e

55

11.

Summary

The application in question has been designed on the assigment of UHU-Linux Kft. The goal of the project to provide the distribution a user friendly package manager with a GUI. Of course it can be used on other Linux distributions, with Debian based package management system. As of the current state of development v 0.9.1.0 the program is able to display the packeges in a tree structure sorting methods and package atrributions to display are user selectable and provides basic package management functionality. It is possible to serach in the list of packages and to lter packages based on value of their attributes either in a simple or a comlex form. Beyond that it is also possible to make global changes: updating the package list, upgrading the system, editing the sources le. It can also efciently provide informations that are uneasily accessible by convenctional package managing methods. Future goals include implementing extended congurability, and improving the functionality of the console UI to the level of the graphical one.

56

A.
A.1.

Fuggel k e
A cache allom ny fejl ce a e
struct Header { //Signature information unsigned long Signature; short MajorVersion; short MinorVersion; bool Dirty; //Size of structure values unsigned short HeaderSz; unsigned short PackageSz; unsigned short PackageFileSz; unsigned short VersionSz; unsigned short DependencySz; unsigned short ProvidesSz; unsigned short VerFileSz; //Structure counts unsigned long PackageCount; unsigned long VersionCount; unsigned long DependsCount; unsigned long PackageFileCount; //Offsets unsigned long FileList; // PackageFile unsigned long StringList; // StringItem unsigned long VerSysName; // StringTable unsigned long Architecture; // StringTable unsigned long MaxVerFileSize; //Allocation pools struct { unsigned long ItemSize; unsigned long Start; unsigned long Count; } Pools[7]; // Package name lookup unsigned long HashTable[2*1024]; // Package };

57

A.2.

A cache allom ny csomagler ja a o

struct Pacakge { //Pointers unsigned long Name; // Stringtable unsigned long VersionList; // Version unsigned long CurrentVer; // Version unsigned long Section; // StringTable (StringItem) //Linked lists unsigned long NextPackage; // Package unsigned long RevDepends; // Dependency unsigned long ProvidesList; // Provides //Install/Remove/Purge etc unsigned char SelectedState; // What unsigned char InstState; // Flags unsigned char CurrentState; // State //Unique ID for this pkg unsigned short ID; unsigned long Flags; };

A.3.

A cache allom ny archv allom ny ler ja a a o

struct PackageFile { // Names unsigned long FileName; // Stringtable unsigned long Archive; // Stringtable unsigned long Component; // Stringtable unsigned long Version; // Stringtable unsigned long Origin; // Stringtable unsigned long Label; // Stringtable unsigned long Architecture; // Stringtable unsigned long Site; // Stringtable unsigned long IndexType; // Stringtable unsigned long Size; // Linked list unsigned long NextFile; // PackageFile unsigned short ID; unsigned long Flags; time t mtime; // Modification time }

58

A.4.

A cache allom ny verzi sz m ler ja a o a o

struct Version { unsigned long VerStr; // Stringtable unsigned long Section; // StringTable (StringItem) unsigned long Arch; // StringTable // Lists unsigned long FileList; // VerFile unsigned long NextVer; // Version unsigned long DependsList; // Dependency unsigned long ParentPkg; // Package unsigned long ProvidesList; // Provides unsigned long Size; unsigned long InstalledSize; unsigned long Hash; unsigned short ID; unsigned char Priority; };

A.5.

oe o A cache allom ny fugg s g ler ja a

struct Dependency { unsigned long Version; // Stringtable unsigned long Package; // Package unsigned long NextDepends; // Dependency unsigned long NextRevDepends; // Reverse dependency linking unsigned long ParentVer; // Upwards parent version link // Specific types of depends unsigned char Type; unsigned char CompareOp; unsigned short ID; };

A.6.

oe o A cache allom ny fugg s g ler ja a

struct Provides { unsigned long ParentPkg; // Package

59

unsigned unsigned unsigned unsigned };

long long long long

Version; // Version ProvideVersion; // Stringtable NextProvides; // Provides NextPkgProv; // Provides

60

B.
B.1.

Fuggel k e
A fa elemeinek fel pt se e e
struct PackageTree::Item { enum pkgState{ None = 0, Expanded = (1 << 0), Matched = (1 << 1), Hidden = (1 << 2) }; enum pkgWill{ Broken, Delete, Install, Keep, Purge, ReInstall, Remove, Upgrade}; enum pkgType { Pkg, Dep, RevDep, Div Sect, Div Pri, Div State, Div sState, Div Custom, Div Suite, Div Size, Div iSize, Div fName, Div Dep, Div rDep }; int increment; //How far this pkg increments in dependency void *Extra; //A pointer for other uses ... pkgCache::PkgIterator TargetPkg; pkgState State; pkgType Type; // Behave like a pkgiterator inline operator pkgCache::PkgIterator & () { return TargetPkg; }; struct PackageTree::Item *next, *prev, *child, *parent; };

61

B.2.

A fa elemeinek kezel se e

class PackageTree::Iterator { private: PackageTree::Item *where; public: // Look as if we are a PackageTree::Item inline operator PackageTree::Item & () { return *where; }; inline operator PackageTree::Item * () { return where; }; inline PackageTree::Item *operator -> () { return where; }; inline void operator =(PackageTree::Iterator & B) { where = B.where; }; inline void operator =(PackageTree::Item * B) { where = B; }; void operator ++(int) { MoveNext(); }; inline void operator ++() { operator ++(0); }; void operator --(int) { MovePrev(); }; inline void operator --() { operator --(0); }; PackageTree::Item * operator +(int); PackageTree::Item * operator -(int); inline bool operator ==(PackageTree::Iterator & B) { return where == B.where; }; inline bool operator !=(PackageTree::Iterator & B) { return where != B.where; }; inline PackageTree::Item *prev() { return GetPrev(where); }; inline PackageTree::Item *next() { return GetNext(where); }; inline bool Invalid() { return where == 0; }; PackageTree::Item PackageTree::Item PackageTree::Item PackageTree::Item PackageTree::Item PackageTree::Item PackageTree::Item PackageTree::Item *GetNext(PackageTree::Item *); *GetPrev(PackageTree::Item *); *MovePrev(); *MoveNext(); *GetNextLinear(PackageTree::Item *); *GetPrevLinear(PackageTree::Item *); *MovePrevLinear(); *MoveNextLinear();

Iterator(PackageTree &Owner) { where = Owner.root; }; Iterator(PackageTree::Item *head) { where = head; }; Iterator() { where = 0; }; };

62

B.3.

e Elemek kiszur se a f b l a o

class Filter { public: friend class FilterList; enum Polarity{ negative=0, positive=1 }; int Count; bool PkgFiltered(pkgCache::PkgIterator I); Filter(); Filter(const char *, unsigned long); Filter(); private: int ID; char *Text; Polarity polarity; unsigned long targets; Filter *next; }; class FilterList { protected: PackageTree *Owner; Filter *Head, *Tail; long nodecount; public: inline int Length() return nodecount; ; Filter *Push(const char *, unsigned long); void Pop(); void Revoke(long Identifier); void Audit(); bool IsPkgFiltered(pkgCache::PkgIterator); void RedoLists(void); bool SimulateApply(); void Display(); FilterList(PackageTree *); };

63

C.

Fuggel k e

C.1. Abra: Grakus felulet

C.2. Abra: Karakteres felulet

64

e C.3. Abra: V ltoztat sok erv nyest se a a e

C.4. Abra: Az APT forr sf jl szerkeszt se a a e

65

C.5. Abra: Egyszeru keres s e

C.6. Abra: Osszetett keres s e

66

e C.7. Abra: Szur s kateg ri ra o a

e o C.8. Abra: Szur s sz vegre

67

C.9. Abra: Megjelentend oszlopok sorrendje o

C.10. Abra: Rendez si elvek e

68

o C.11. Abra: Sug

C.12. Abra: N vjegy e

T rgymutat a o
apt, 2, 14, 15, 31, 42, 4648 apt forr sf jl, 16, 21, 23, 24, 46, 48 a a apt-cache, 24 apt-get, 15, 41, 46 archv allom ny, 4, 7, 10, 12, 15, 16, 18, 29, a 57 archives, 24 archives k nyvt r, 17 o a b vebb ler s, 5 o a bin ris csomag, 2 a felhaszn l i fel let, 41, 50, 51 ao u folyamatkezel s, 33 e fordtott f gg s g, 10, 48, 49 u oe forr scsomag, 2, 6, 23, 32 a frisst s, 46 e gcc, 37 gtk, 35, 36, 49, 51 hash t bla, 29 a hibaellen rz s, 32 o e hibajavt s, 42 a

cache allom ny, 2426, 28, 31, 32, 41, 42, a iterator, 31, 4244 44, 48, 5658 cache allom ny elemei, 31 a keep, 21 cache allom ny fejl ce, 29, 56 a e kept back, 21 cache allom ny gener l sa, 31 a aa keres s, 40, 44 e cache allom ny szerkezete, 29 a keres si felt tet, 44 e e cacheiterator, 42 kongur ci s allom ny, 4, 11, 12, 20 a o a control f jl, 2, 7, 8, 12 a l ncolt lista, 29, 40 a csomag, 2, 29, 57 csomagf gg s g, 6 u oe mmap, 28 csomagler allom ny, 28 o a csomagn v, 5 e norm l f gg s g, 9 a u oe csomagok kezel se, 32 e postinst szkript, 7, 12 csomagok st tusza, 11, 49, 50 a postrm szkript, 8 curses, 35, 50 pre-depends, 10 dist-upgrade, 21, 33 preinst szkript, 7, 12 dpkg, 12 prerm szkript, 8 dpkg-deb, 4 priorit s, 5, 8 a dpkg-source, 2 r vid ler s, 5 o a dselect, 5, 12, 13, 50 regul ris kifejez s, 12, 27 a e egys ges kezel s, 40 e e regul ris kifejez sek, 40 a e rendez s, 40, 42 e f gg s g, 9, 29, 48, 58 u oe revzi s sz m, 4 o a fa elemek kezel se, 61 e rpm, 2 fa elemek szerkezete, 60 fa szerkezet, 40, 42, 49, 51, 54, 60 st tusz allom ny, 28 a a 69

70

sz r s, 40, 45, 62 ue sz r k, 49 uo szekci , 5 o UHU-Linux, 1, 15, 35, 37, 47, 54 up-to-date frisst s, 15 e Upgrade, 21 upgrade, 32 verzi sz m, 4, 5, 29, 58 o a virtu lis csomag, 7, 9, 26, 29 a

71

Hivatkoz sok a
[1] samu Aoki, Debian Reference, 2001-2002 [2] ustavo Noronha Silva, APT HOWTO, 2001-2002 [3] ason Gunthorpe, APT Cache File Format, 1997-1998 [4] t phane Bortzmeyer, dselect Documentation for Beginners, e [5] ichard Petersen, Linux Teljes Referencia, Panem, 2001 [6] arcel Gagn , Linux rendszerfel gyelet, Kikapu Kft., 2002 e u

You might also like