next up previous
Következő: dselect és a többiek Fel: debian Előző: dpkg

Alfejezetek

apt

A dpkg-n túl

A dpkg-val ugyan elvileg mindent el tudunk végezni ami a telepítésekhez és eltávolításhoz szükséges, de olykor igen kényelmetlen. Egyrészt mindig nekünk kell a szükséges deb csomagokat felkutatnunk. Másrészt nem túl intelligensen kezeli a függőségeket.
A függőség azt jelenti, hogy az egyik csomagnak szüksége van egy másikra ahhoz, hogy normálisan működni tudjon. Az, hogy melyik csomagnak milyen másikra van szüksége a deb csomagban van leírva. A dpkg észre is veszi ezt, megnézi, hogy az adott csomag(ok) fel van(nak)-e installálva, de többre nem nagyon képes. Szól, hogy előbb telepítsd fel az X és az Y csomagot és leáll. Ilyenkor meg kell keresned ezeket is és feltelepítened. Ha nincs szerencséd ezek újabb csomagoktól függenek... Ez hosszú és fáradtságos munka.
Mindkét problémára megoldást jelent az apt. Az apt egy adatbázisban tárolja, hogy a deb csomagokat hol kell keresnie. Amikor egy új programot szeretnénk telepíteni csak annyit kell tennünk, hogy megmondjuk az apt-nek a csomag nevét. Ő ebből tudni fogja, hogy az adott csomaghoz milyen file-t melyik CD-ről, vagy ftp site-ról töltheti le. Ha a telepítéshez más csomagokra is szükség van azokat is megkeresi és felrakja.

sources.list

Hogy mindez jól működhessen meg kell mondanunk az apt-nek, hogy hol talál deb csomagokat. Ezt a /etc/apt/sources.list-ben tárolja el. Ha még nem használtuk az apt-t akkor ez a file valószínűleg üres, vagy felesleges adatokat tartalmaz. Nézzük meg, majd belátásunk szerint töröljük (vagy mentsük el!), vagy tegyünk # jelet a felesleges sorok elé. Az ilyen sorokat az apt figyelmen kívül hagyja.
Ezután töltsük fel. Ha megszereztük az összes Debian CD-t és ezekről szeretnénk a jövőben installálni akkor adjuk hozzá a CD-ket egyesével ebhez a file-hoz:

apt-cdrom add
A parancs kiadása után kéri tőlünk a CD-t melyen a csomagok vannak. Adjuk be az elsőt, majd üssünk ENTER-t. Az apt megkeresi a CD-n lévő adatbázist a csomagokról, eltárolja, majd a sources.list file-ba is tesz egy bejegyzést, hogy tudja, hogy az adott csomagok telepítéséhez mely lemezt kell kérnie tőlünk. Ismételjük meg ezt az összes CD-vel.
Ha hálózatról szeretnénk telepíteni, akkor kicsit más a helyzet. Az apt-setup segítségével kiválaszthatunk egy hivatalos Debian tükörszervert, melyről az apt a deb csomagokat letölti majd http-n vagy ftp-n keresztül.
XXX
Itt még javítani kell.
XXX
Az előbb említett file-ba kézzel kell új bejegyzéseket tennünk.
Ehhez szükségünk van egy Debian tükörszerver címére. Ezek olyan szerverek melyek a hivatalos Debian szerveren lévő csomagokat másolatát (általában nem csak a csomagokat, de a telepít CD-ket is megtaláljuk ezeken a szervereken). A hivatalos tükrökről ezeken a címeken találunk információt:
http://www.debian.org/mirrors/
http://www.debian.org/mirrors/list
http://www.debian.org/mirrors/list-full.html
Ettől azonban valószínűleg jóval több Debian tükör szerver működik. Sok helyen ahol Debian felhasználók vannak tartanak fenn tükörszervert, ami nem hivatalos és emiatt a fent említett listában nem szerepel, de azonos funkciókkal működik. Ha helyi hálózati tükröt használsz a telepítésekhez szükséges letöltések sokkal gyorsabbak lehetnek. Érdeklődj a helyi Debian felhasználóknál, hogy megtudd van-e a közeledben ilyen gép.
Ezeken kívül léteznek szerverek melyek a nem hivatalos deb csomagokat az apt számára elérhető formában tárolják. Néhány (nem is olyan kevés) ilyen gép címét megtaláljuk a http://www.apt-get.org címen.

Proxyk

Hálózatos programtelepítés esetén még egy gyakori problémába ütközhetünk. Ha a mi gépünk nem éri el közvetlenül a debian mirror szervert csak egy proxy-n keresztül, akkor rá kell vennünk az apt-t a proxy használatára. Írjuk be a /etc/apt/apt.conf file-ba (ha nincs ilyen akkor hozzunk létre egyet) a következő sorokat:

Acquire
{
 http 
 {
   Proxy "http://XXXX:YYYY";
 };
};
Ahol az XXXX helyére a proxy szerver neve, az YYYY-ra pedig a proxy port-ja kerül.
Meg kell említenem, hogy az apt megnézi a http_proxy változót is. Az apt.conf manual-ja szerint ez a változó felülírja az apt.conf-ban lévő proxy beállítást.

Telepítés/Eltávolítás apt-vel

Ha ezzel megvagyunk elvileg mindennek működnie kell. Frissítsük fel az elérhető csomagok listáját:
apt-get update

Ez után már programot telepíthetünk:

apt-get install valami-csomag

Eltávolíthatunk:

apt-get remove valami-csomag
Tudnunk kell, hogy az apt-vel történő csomageltávolítás után a csomagok konfigurációs file-jai fenn maradnak (akár csak dpkg -r esetén). Ha ezek zavarnak minket akkor használjuk a -purge kapcsolót is:
apt-get remove --purge valami-csomag
Vagy a csomag eltávolítása után használhatjuk a dpkg -P-t is.

A letöltött csomagokat az apt nem törli automatikusan, így ha nem akarjuk, hogy helyet foglaljanak a merevlemezünkön, akkor töröljük őket:

apt-get clean
Vagy ha csak a régi, elavult csomagokat szeretnénk törölni akkor clean helyett használjuk az autoclean opciót.

Frissítések

Az apt-nek az egyszerű programtelepítéseken kívül van még egy nagyon hasznos funkciója. Különösen hálózatos környezetben fontos, hogy a feltelepített programok ne tartalmazzanak biztonsági lyukakat. Időnként megjelennek újabb verziók egy-egy csomagból, melyek a közben felfedezett biztonsági hibákat javítják. Az apt-t az apt-get update-tel rávehetjük, hogy frissítse fel az elérhető csomagok listáját. Így nem kell böngésznünk a hálózatot, hogy mely csomagból kell újat beszereznünk. Ezt az apt tudni fogja. Ha frissítettük az adatbázist frissíthetjük a szükséges csomagokat is:

apt-get upgrade -u

Ez a parancs megvizsgálja, hogy van-e telepítve frissítésre szoruló programunk. Ha igen, akkor letölti majd telepíti azt. (A "-u" kapcsoló csak azért kell, hogy megjelenjen a frissítésre szoruló csomagok listája. E nélkül csak azt tudjuk, hogy hány ilyen van.)
Ez az ami igazán megbízhatóvá tesz egy Debian rendszert. De csak akkor ha használjuk is! Ne sajnáljuk rá az időt és futtassuk le az update-et és upgrade-et akár naponta. Ha nincs frissítendő csomag, akkor ez úgysem tart sokáig. Vagy iratkozzunk fel a debian-security-announce levelezőlistára, hogy e-mail-ben kapjunk értesítést a biztonsági javításokról. További részletekért látogassunk el a http://www.debian.org/security/ oldalra.

A "izé" melyik csomagban van?

Most már majdnem mindent tudunk a csomagok telepítéséről. :-))) Az egyetlen gondot az okozhatja, hogy nem tudjuk eldönteni melyik csomagra is van szükségünk. A különböző linuxos levelezőlisták állandó témája, hogy melyik program melyik csomagban van. A helyzetet tovább rontja, hogy sokszor nem is tudjuk, hogy pontosan melyik programot szeretnénk, csak annyit, hogy valami olyasmit mint a...

A helyzet azért nem teljesen reménytelen. A debian csomagok nem csak magukat a programokat tartalmazzák, hanem egy rövid leírást is. Ezt (többek között) az apt-cache show paranccsal jeleníthetjük meg (nem szükséges, hogy a csomag már telepítve legyen):

 
apt-cache show valami
Ez megjelenít néhány adatot a ,,valami'' csomagról. (Erre egyébként a dpkg is képes: dpkg -print-avail valami) Itt szerepel a verziószám, a csomag mérete, függőségi adatok, és egy néhány soros leírás arról, hogy mire is használható ez a csomag.
A leírásokban az apt keresni is képes. Így több ezer ilyen leírásban kutathatunk egyszerre. Tegyük fel például, hogy pascal-ban szeretnénk programozni. Mit telepítsünk ebhez? Keressünk rá:
apt-cache search pascal
Ez kiírja az összes olyan csomagot melynek leírásában szerepel a pascal szó. Hogy könnyebben eligazodhassunk minden csomaghoz kiír egy egysoros rövid magyarázatot. Nálam (Debian 3.0 Woody) erre 48 találatot ad. Ennyiből már némi munkával kikereshetjük, hogy mire van szükségünk. De szűkíthetjük is a keresés feltételeit több paraméter megadásával. Ez már csak 10 találatot eredményez:
apt-cache search pascal editor


next up previous
Következő: dselect és a többiek Fel: debian Előző: dpkg
Kulyassa Róbert 2003-05-20