tux rechts Hoe Linux software te installeren? tux links
door Hans Lunsing, 20 juni 2006

 

 

Debian's pakketbeheer is minstens even goed als RPM, maar heeft het niet tot standaard kunnen brengen. Het wordt alleen gebruikt door Debian en er van afgeleide distributies, waarvan er verscheidene zijn zoals het populaire Ubuntu en Kubuntu, Mepis, Knoppix, Kanotix en de commerciele distributies Linspire en Xandros. Het onderdeel waarin Debian het meest uitblonk, APT ofwel the Advanced Packaging Tool, heeft inmiddels ook zijn weg naar de op RPM gebaseerde distributies gevonden. Het is daar echter niet de standaard geworden die het voor de Debian gerelateerde distributies is.

We kijken eerst naar installatie, update en verwijdering van binaire pakketten met dpkg. Vervolgens komt de behandeling van broncode pakketten aan de orde, waarna we tot slot ingaan op het gebruik van APT.

 

^top Binaire Debian pakketten

Namen van Debian pakketten zijn als volgt samengesteld:

pakketnaam_versie-uitgave_architectuur.deb

Bijvoorbeeld:

athena-devel_2.4.3-87_i386.deb

Hierin is athena-devel de naam van het pakket, 2.4.3 het versienummer en 87 het uitgavenummer. Het pakket is geschikt voor i386 (intel processor van de 586 familie: Pentium) en beter. Welke architectuur u hebt kunt u achterhalen door het programma arch te draaien. Op een 80486 kunt u bijvoorbeeld geen i586 of i686 (Pentium IV en hoger) pakket installeren, maar wel een i386 pakket. Het is ook mogelijk dat een pakket voor elke architectuur geschikt is. In dat geval wordt all als aanduiding gebruikt, b.v.

athena-images_1.2-3_all.deb

De architectuuraanduiding wordt echter niet altijd gebruikt, zij het wel door Debian zelf.

U installeert het voorbeeldpakket athena-devel met de opdracht

dpkg -i athena-devel_2.4.3-87_i386.deb

Actie -i staat voor "install". Als er al een oudere versie of een oudere uitgave van deze versie van het pakket op het systeem staat wordt het automatisch ge-upgraded. Het is mogelijk dat dpkg constateert dat niet aan de afhankelijkheden is voldaan, d.w.z. dat niet alle voor het pakket benodigde software is geïnstalleerd. Het geeft dan een lijst van ontbrekende pakketten. Dit kan twee dingen betekenen:

In het laatste geval kan het pakket zonder problemen worden geïnstalleerd omdat alle benodigde software er is, ook al weet dpkg dat niet. Om het pakket dan toch geïnstalleerd te krijgen moet de optie --force met het argument depends (stop het commando niet als niet aan afhankelijkheden is voldaan) worden gebruikt:

dpkg --force depends -i athena-devel_2.4.3-87_i386.deb

Wilt u een hoger versie en/of uitgavenummer overschrijven, dan zult u bij --force het argument downgrade moeten gebruiken:

dpkg --force downgrade -i athena-devel_2.4.3-87_i386.deb

Een pakket wordt gedeïnstalleerd met de actie --purge, alleen gevolgd door de naam van het pakket:

dpkg --purge athena-devel

of als u de configuratiebestanden wilt behouden:

dpkg -r athena-devel

waarbij -r staat voor "remove".

Er kan veel meer met dpkg. Een beknopte handleiding voor het pakketbeheer van Debian waarin ook de verschillende mogelijkheden van dpkg aan de orde komen vindt u hier op http://www.debian.org. Gebruikers van Debian of een er van afgeleide distributie kunnen met het commando man dpkg ook de dpkg manual pages raadplegen.

 

^top Debian broncodepakketten

Het voordeel van het compileren van broncode op uw eigen systeem is dat het gecompileerde programma er precies bij past en van alle mogelijkheden die het biedt, zoals een snellere processor, gebruik maakt.

Debian broncode pakketten bestaan uit drie delen: een .orig.tar.gz, a .dsc and a .diff.gz. In het geval van speciaal voor Debian gemaakte pakketten ontbreekt de laatste en heeft de eerste gewoonlijk geen .orig in de naam. Het .dsc bestand wordt door dpkg-source gebruikt om het broncode pakket in de directory pakketnaam-versie uit te pakken. Elk broncode pakket heeft een debian/ directory die de bestanden bevat die nodig zijn voor het aanmaken van het .deb pakket.

Het .deb pakket wordt gemaakt door

dpkg-buildpackage -rfakeroot -uc -b

uit te voeren in de directory die voor het pakket was gemaakt. Tot slot kan het .deb pakket op de gebruikelijke wijze worden geïnstalleerd. Meer informatie over de behandeling van broncode pakketten vindt u in de APT-HOWTO. Hierin staat onder meer ook hoe u de broncode pakketten zelf en alle andere voor compilatie benodigde pakketten met behulp van APT downloadt.

 

^top De Advanced Packaging Tool (APT)

APT (Advanced Package Tool) maakt gebruik van dpkg, maar werkt op een hoger niveau. Om APT met vrucht te kunnen gebruiken moet het weten waar het de juiste software repositories voor uw distributie kan vinden. Alle configuratiebestanden van APT zitten in de map /etc/apt. In /etc/apt/sources.list zijn de locaties van de voornaamste software repositories bij installatie van de distributie al ingevuld. De Debian repositories zijn wereldwijd via mirror sites beschikbaar. Een geschikte lokale mirror kunt u vinden in de lijst op http://www.debian.org/misc/README.mirrors. Voor de meeste van Debian afgeleide distributies kunt u deze repositories prima als aanvulling gebruiken. Dat geldt echter niet voor Ubuntu en Kubuntu die hun eigen repositories hebben.

Toevoegen van extra repositories is niet moeilijk. U kunt sources.list zelf met een editor bewerken, maar u kunt het ook doen met behulp van een grafisch frontend voor APT, zoals Synaptic. In de Adding Repositories Howto leest u hoe u voor Ubuntu en Kubuntu met Synaptic dan wel Adept extra repositories toevoegt. Voor versie 5.04 (hoary) staat in de Ubuntu guide hoe u het met een teksteditor doet. Elke regel van sources.list begint met een aanduiding van het type pakketten in de er na genoemde repository. Voor Debian pakketten zijn dat:

deb

Debian pakketten

deb-src

Debian pakketten met broncode

U kunt ook lokale directories op uw eigen computer aan de lijst van repositories toevoegen. Ze moeten net als externe repositories worden geindexeerd. Daarvoor gebruikt u het programma dpkg-scanpackages. Hoe dat precies moet vindt u in Debians APT-Howto. Er is één caveat bij dit systeem: het is mogelijk dat APT de afhankelijkheden voor de zo toegevoegde pakketten niet allemaal met de bekende repositories kan oplossen. In dat geval zult u zelf de ontbrekende afhankelijkheden aan uw verzameling pakketten moeten toevoegen.

Nadat u alle te gebruiken software repositories, inclusief die van u zelf, hebt ingevuld moet u de opdracht

apt-get update

geven om de lijst van beschikbare pakketten op te halen. Die lijst zal bijna dagelijks veranderen. Om de door APT gebruikte lijst weer met die van de repositories te synchroniseren geeft u ook deze update opdracht. Met behulp van cron zou u dat bij voorbeeld één maal per dag automatisch kunnen laten doen.

Om een pakket te installeren, bijvoorbeeld het pakket met basisnaam athena-devel, geeft u de opdracht

apt-get install athena-devel

Hierbij zorgt APT er voor dat ook alle pakketten waar athena-devel van afhankelijk is zo nodig worden geïnstalleerd. Verwijderen gaat met de opdracht

apt-get remove athena-devel

Om alle op uw computer geinstalleerde pakketten tot aan de nieuwste in de repository beschikbare versies bij te werken geeft u de opdracht

apt-get upgrade

Voor meer informatie en een uitgebreide handleiding kunt u terecht in de APT-HOWTO. Als u met Ubuntu of Kubuntu werkt hebt u in eerste instantie misschien meer aan Software Management in Ubuntu.

Synaptic is weliswaar de belangrijkste GUI voor APT, maar er zijn er meer. Synaptic is gebaseerd op de GTK interface en past daarom beter bij Gnome dan bij KDE. Voor KDE is het aan Synaptic verwante Kynaptic beschikbaar, dat op de Qt interface is gebaseerd. Jammer is dat Kynaptic qua functies wat beperkter is dan Synaptic, en bovendien niet verder wordt ontwikkeld. Synaptic is overigens ook prima in KDE te gebruiken. Tot en met versie 5.04 (hoary) werkte Kubuntu met Kynaptic als pakketbeheerder, maar vanaf versie 5.10 (breezy) gebruikt het Adept, een nieuwe pakketbeheerder voor KDE in Debian en afgeleide distributies.

Andere grafische pakketbeheerders zijn KPkgManager voor KDE en gnome-apt voor Gnome. Naast de GUI's zijn er tekstgeorienteerde interfaces (TUI) voor het console in de vorm van Aptitude en Aptitude's voorganger, het eenvoudige menugestuurde dselect.