De Help Desk punt NL
Kennisbank
De Helpdesk > De Helpdesk > Kennisbank

Software

Oplossing

Overzichten en hosting

Open-sourceprojecten worden gedaan door verschillende individuen en groepen. Er is daarmee geen centrale plaats waar je projecten kunt vinden. Een klassieke overzichtssite is http://freshmeat.net.

Tegenwoordig worden aardig wat projecten gehost door SourceForge (http://sourceforge.net). Zij bieden goede voorzieningen om open-sourceprojecten te hosten, waar duizenden projecten dankbaar gebruik van maken. De URL's van projectpagina's eindigen op .sourceforge.net of sf.net.

GNU Savannah is vergelijkbaar, maar heeft een strikter beleid. Alleen vrije software mag er worden gehost. De site is in twee domeinen verdeeld, http://savannah.gnu.org en http://savannah.nongnu.org, waarbij de tweede duidelijk voor projecten is die niet bij GNU zelf horen.

Verder is een overzicht van software voor GNOME te vinden op http://gnomefiles.org en software voor KDE op http://www.kde-apps.org.

Source code

Van alle open-sourcesoftware is de source code te downloaden. Je kunt het onder elke distributie op dezelfde wijze compileren en installeren. Dit wil je niet doen voor alle software op je systeem. Gebruik als het even kan het pakketsysteem van je distributie. De gebruikelijke pakketsystemen worden in de volgende secties behandeld. Dat gezegd hebbende wil je wellicht wel eens iets zelf compileren, bijv. omdat de software niet via je pakketsysteem beschikbaar is.

De meeste source code die je kunt downloaden is in .tar.gz- of .tgz-formaat, zogenaamde tarballs. Je kunt deze bestanden uitpakken en dearchiveren met tar zxvf filename.tar.gz. Meestal is er dan een nieuwe directory met ongeveer dezelfde naam als de tarball aangemaakt. Ga naar die directory. In een bestand als INSTALL of README staat gebruikelijk de benodigde uitleg en mogelijke afhankelijkheden. De meeste software is in C of C++ gemaakt. Daarvoor moet de GNU C compiler „gcc” geïnstalleerd zijn. In negen van de tien gevallen komt het op het volgende neer:

./configure
make
su
make install
exit

Configure is een script dat informatie verzamelt die nodig is tijdens het compileren van de software. Make leest het bestand Makefile in en compileert het programma volgens de regels die daarin staan. In makefiles is gebruikelijk ook een regel opgenomen om met make uninstall de installatie weer ongedaan te maken. Dan kun je dus, als je de source code houdt, de software op een vrij eenvoudige wijze weghalen.

Het systeem van Slackware

Het pakketsysteem van Slackware is het eenvoudigste van allemaal. De pakketten zijn tarballs met twee extra bestanden: een installatiescript en een beschrijving van het pakket. Er is geen controle op afhankelijkheden. Daar moet je zelf maar voor zorgen.

Om een pakket te installeren gebruik je installpkg pakket.tgz. Om een reeds geïnstalleerd pakket te upgraden gebruik je upgradepkg pakket.tgz. Een pakket verwijderen kan met removepkg pakketnaam. Bij dit laatste commando hoef je geen bestandsnaam op te geven als argument, maar slecht de basisnaam van het pakket.

Het programma pkgtool geeft je toegang tot een menu-interface voor pakketbeheer. De belangrijkste opties zijn remove en setup. Met setup kun je allerlei configuratietooltjes starten.

Het systeem van Debian

Dit systeem is oorspronkelijk ontwikkeld voor Debian en wordt ook gebruikt bij op Debian gebaseerde distributies zoals Ubuntu.

Het pakketsysteem van Debian maakt gebruik van deb-bestanden. Het basisprogramma om deze pakketten te installeren is dpkg. Gebruik dpkg -i bestand.deb om een pakketje los te installeren. Voor de overige opties zie man dpkg. Van oudsher heeft Debian het best werkende pakketsysteem van alle distributies. Dit komt door een laag bovenop dpkg: apt (advanced package tool), waar je normaal gesproken alles mee doet.

In het configuratiebestand /etc/apt/sources.list zet je een of meer locaties waar zg. pools met Debian-pakketten gevonden kunnen worden. In deze pools wordt gezocht naar pakketten. Een voorbeeldregel:

deb http://ftp.nl.debian.org/debian/ testing main non-free contrib

Nadat je een bron hebt toegevoegd, moet je apt-get update uitvoeren om een lijst te laten ophalen met wat er in de bronnen te vinden is.

Na de locatie geef je op welke tak je van Debian wilt hebben: stable, testing of unstable. Pakketjes beginnen in unstable. Daar staan dus hele nieuwe dingen in. Als het uitgetest wordt, dan wordt het verplaatst naar testing. Is het na grondige tests stabiel genoeg gebleken, dan komt het pas in stable terecht. De stable-tak heeft altijd redelijk verouderde software. Wat bij Debian nog in testing staat, zou bij andere distributies zonder meer in een release gezet worden. De meeste mensen willen testing als basis gebruiken. Elke tak (stable, testing en unstable) bestaat weer uit verschillende onderdelen: main, non-free, non-us (software die in de US niet gebruikt mag worden, zoals software met sterke encryptie) en contrib (contributed software).

Om iets van de pools te installeren gebruik je apt-get install pakketnaam met i.p.v. pakketnaam de naam van een pakket. Pakketten die ook nodig zijn voor het te installeren pakket (alle afhankelijkheden waar niet aan is voldaan) worden ook meteen meegenomen. Dat is precies waardoor het veel handiger is dan alleen dpkg los. Je hoeft zelf niet alle afhankelijkheden op te lossen. De apt-tools bieden deze mogelijkheid en de reden waarom het werkt is dat de vrijwilligers die aan Debian meewerken veel pakketten beschikbaar stellen met goede dependency-informatie.

Weet je de exacte naam van een pakket niet, dan kun je die zoeken met apt-cache search zoekterm. Met apt-get kun je ook gemakkelijk je hele systeem bijwerken met alle updates die beschikbaar zijn. Wanneer je apt-get update intikt, zal de lijst met beschikbare pakketjes geüpdatet worden en vervolgens kun je met apt-get upgrade alles laten bijwerken.

Meer informatie over pakketbeheer in Debian kun je vinden in de apt HOWTO. Je kunt veel informatie opvragen over de pakketten die je hebt en die beschikbaar zijn. Het is mogelijk apt-bronnen voor stable, testing en unstable tegelijk bij te houden en verschillende software uit verschillende takken te halen. Verder kun je pakketten on hold zetten, zodat het niet geüpdatet zal worden. Het voert te ver dat hier allemaal uit te leggen.

Een goede grafische frontend voor apt is Synaptic. Bij Ubuntu wordt deze standaard gebruikt.

RPM

RPM is een pakketsysteem dat oorspronkelijk is ontwikkeld voor Red Hat, maar nu door vele distributies zoals SUSE en Mandriva wordt gebruikt. RPM stond oospronkelijk voor Red Hat Package Manager, maar de uitleg is veranderd in RPM Package Manager, een recursief acroniem (net zoals GNU).

Het basisprogramma om RPM-pakketten te installeren is rpm. Je kunt een pakket installeren met rpm -ivh foo.rpm en upgraden met rpm -Uvh foo.rpm. (Met de opties v en h zie je de voortgang.) Zie voor meer opties de manual page.

In de begindagen van RPM kon je alleen rpm direct gebruiken op de hiervoor uitgelegde manier. Rpm is vergelijkbaar met dpkg bij Debian. Er zijn inmiddels lagen bovenop rpm gemaakt die vergelijkbaar zijn met apt bij Debian: een tool die rpm gebruikt, maar de afhankelijkheden voor je uitzoekt. Niet elke distributie gebruikt hier dezelfde tool voor. Mandriva gebruikt urpmi, Fedora yum, de commerciële versie van Red Hat up2date en SUSE heeft vergelijkbare functionaliteit in zijn algemene configuratietool YaST.

FIXME: Is dit up-to-date?

Het systeem van Gentoo

Gentoo heeft een ander pakketsysteem dan de meeste andere distributies. Deb- en RPM-pakketten bevatten voorgecompileerde software. Bij Gentoo compileer je alle software zelf, maar gecontroleerd via het pakketsysteem. Het pakketsysteem heet Portage en is geïnspireerd door BSD. Portage biedt vooral grote flexibiliteit.

Open-sourcesoftware heeft vaak mogelijkheden die je wel of niet kunt meecompileren. De pakketten die je bij pakketgebaseerde distributies installeert, hebben vaak ondersteuning voor alles of voor wat de meeste gebruikers nodig zullen hebben. Bij Gentoo kun je volledig zelf bepalen wat je wel en niet wilt hebben. Dit doe je door middel van de variabele USE. Hiermee kun je bijv. aangeven dat je ondersteuning voor Samba en GTK+ wilt, maar niet voor Qt. De USE-variabele en andere opties voor tijdens het compileren van de software zet je in /etc/make.conf.

Portage gebruik je voornamelijk via het commando emerge. Net als voor de meeste andere distributies zijn er voor Gentoo pools met pakketten. Daar wordt de broncode van gedownload. Je kunt een gewenste mirror opgeven in make.conf. Gebruik emerge --sync om Portage informatie over beschikbare pakketten op te laten halen. Je kunt dit om de zoveel tijd uitvoeren om nieuwe versies te laten bekijken.

Een pakket installeren is erg eenvoudig: emerge pakketnaam. Ook alle afhankelijkheden worden daarbij uitgezocht. Het kan daardoor zijn dat er meer pakketten worden opgehaald. Wil je eerst zien wat emerge gaat doen, gebruik dan emerge -pv pakketnaam. De p staat voor pretend en de v voor verbose. Weet je niet hoe het pakket heet, dan kun je zoeken met emerge --search zoekterm.

Zie de documentatie van Gentoo voor meer uitleg over Portage.

 
Was dit artikel bruikbaar? ja / nee
Gerelateerde artikelen Distributies
Beginnen met Linux
pihole dnsmasq.service failed
Kernel
Nederlands Taal vista Installeren aanpassen
Universal Extractor - Een alles uitpakker
Installatie OpenFTD onder Ubuntu
Informatie vinden
Links
Internationalisering
Artikel details
Artikel ID: 742
Categorie: Linux handboek 2008
Zoekwoorden software, source, code, sourcecode, slackware, debian, rpm, gentoo,
Datum toegevoegd: 6-Dec-2008 03:32:54
Aantal bekeken: 223
Beoordeling (Stemmen): Artikel nog niet beoordeeld (0)

 
« Ga terug