6min

Tags in dit artikel

, , ,

Wat een belangrijk iets is op een computer, is natuurlijk de installatie van nieuwe software voor op je systeem. Dit gaat onder Linux echter iets anders. De meeste mensen die met Windows werken zijn gewend dat je een installatiewizard krijgt, waar je vervolgens een paar keer op volgende drukt en alles automatisch installeert. Nu wil ik niet zeggen dat software installeren op Linux lastig is, het is echter wel anders.
De installatie is daarnaast erg distributiespecifiek, dus ik geef per systeem aan voor welke distributie dit geldt. Alle installatiemethodes die beschreven zijn moeten vanaf de commandline worden uitgevoerd.

Tarbal
Raar woord, inderdaad. Maar het is niets anders dan de broncode van een programma. Het installeren hiervan kan dan ook op elk Linux- en Unixsysteem en is dus niet distributiespecifiek. De broncode is meestal samengevoegd door Tar, een programma
dat dit voor je regelt. Tar wordt niet alleen gebruikt voor de samenvoeging en de distributie van de software, maar is ook een veel gebruikt programma om backups mee aan te maken. Daarom heet het ook wel een Tarball. Tar voegt echter alleen de software samen tot 1 bestand. Om het bestand kleiner te maken (te comprimeren) wordt vaak een programma als gzip of bzip2 gebruikt (vandaar de extentie .tar.gz of .tar.bz2).
Deze zijn heel simpel uit te pakken op de commandline door het volgende in te typen:

PHP Code

1
tar -zxvf tarballnaam.tar.gz

Mocht dit niet werken, dan eindigt hij waarschijnlijk op tar.bz en moet je het volgende intikken:

PHP Code

1
tar -xvjf tarballnaam.tar.bz

Vervolgens kan je met het commando cd tarballnaam de directory die aangemaakt is ingaan. Daarin staat vaak een README of
INSTALL waar instaat hoe je het programma verder moet installeren. Dit komt negen van de tien keer op het volgende neer:

PHP Code

1
2
3
4
./configure
make
su
make install

Met su zorg je ervoor dat je de ‘root’ wordt, de hoofdgebruiker, die alles mag. Dit wordt later allemaal nog uitgelegd, voorlopig is het genoeg om te weten dat er op elk systeem maar één rootbeheerder is die software mag installeren. Bij Ubuntu en Kubuntu is die echter op slot gezet. Daar moet je sudo gebruiken, gevolgd door je eigen wachtwoord.

./configure is een script dat controleert of het programma op een systeem geïnstalleerd kan worden. Tevens configureerd het je software. Tevens kan je de standaardconfiguratie aanvullen door er flags aan toe te voegen. Kijk hiervoor in de documentatie van het programma wat je wilt installeren. Make is een script dat een broncode in machinecode omzet, zodat het ook daadwerkelijk gebruikt kan worden. Met Make Install wordt de machinecode daadwerkelijk op het systeem geinstalleerd. Na dit proces is het programma bruikbaar. Het wordt echter niet in de menu’s weergeven, dit moet de gebruiker zelf instellen.

Overigens is het aan te raden om zoveel mogelijk gebruik te maken van het Package systeem op je distributie. Het is makkelijker en je weet zeker dat het werkt.

Het systeem van Slackware
Dit is zo simpel als het maar kan zijn. Dit zijn ewoon tarballs namelijk, die je installeert met het volgende commando:

PHP Code

1
installpkg naampakket.tgz

Er zit niks extra’s bij en als je een programma mist wat nodig is, mag je dit zelf installeren. Met pkgtool, een programmaatje, krijg je een menu-interface waarmee je pakketten kan installeren, verwijderen en configureren.

Het systeem van Debian en Ubuntu
Dit is een van de makkelijkste systemen die te krijgen is. Het basissysteem rust op een .deb file van Debian. Dit is dan te installeren met de volgende code:

PHP Code

1
dpkg -i pakketnaam.deb

De echte kracht van dit systeem zit echter in een programma wat er bovenop werkt, genaamd apt.
Met apt kan je heel makkelijk programma’s installeren rechtstreeks van het internet, zonder dat je ook maar iets hoeft te doen. Programma’s die je nodig hebt om het programma te draaien worden automatisch meegedownload als je ze nog niet hebt.

Apt werkt met een speciaal configuratiebestand, wat te vinden is in /etc/apt/sources.list. In dit bestand kan je regels opnemen met servers waarop allemaal .deb bestanden staan. Een voorbeeld van zo’n regel is

PHP Code

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

Als je regels toegevoegd hebt aan apt, moet je het volgende intikken op je commandline.

PHP Code

1
apt-get update

Hiermee kijkt apt welke pakketten er op de server staan en voegt hij deze toe aan zijn repertoire. Vervolgens zijn er drie belangrijke commando’s:

PHP Code

1
apt-cache search pakketnaam

Voor als je niet de juiste naam van een pakket weet. Hiermee krijg je een overzicht van alle pakketten die voldoen aan de zoeknaam.

PHP Code

1
Apt-get install pakketnaam

Hiermee wordt een pakket en alle programma’s die je nodig hebt, maar die nog niet op je harde schijf staan, gedownload en geïnstalleerd.

PHP Code

1
apt-get upgrade

Dit is handig, hiermee worden namelijk alle pakketten op je pc opgewaardeerd naar de nieuwste versie.

Een handig programma om deze acties allemaal uit te voeren in een grafische omgeving is synaptic. Dit wordt met Ubuntu zelfs voor je geïnstalleerd tijdens de installatie van het systeem en is een krachtig programma om je pakketten mee te beheren en nieuwe mee te installeren.

RPM
RPM stond vroeger voor Red-hat Package Manager, maar hier is tegenwoordig, omdat het ook op andere systemen gebruikt wordt, verandering in gekomen. RPM is nu een recursief acronym en staat nu voor RPM Package Manager.

RPM werkt ongeveer op dezelfde manier als het systeem van Debian, maar dan zonder apt. Daardoor werkt het een heel stuk minder innovatief. Een klein overzicht van de opties:

PHP Code

1
rpm -ivh file.i386.rpm

Installeer. Als er al een andere versie is, wordt deze er naast geïnstalleerd.

PHP Code

1
rpm -Uvh file.i386.rpm

Update. Als er geen oudere versie geïnstalleerd is, doet dit hetzelfde als -i. De v en h zorgen ervoor dat je kunt volgen hoe ver de installatie is (v = verbose, h = show hash symbols).

PHP Code

1
rpm -e naam

Verwijder pakketnaam.

PHP Code

1
rpm -qa

Toon een overzicht van geïnstalleerde RPM’s. Gebruik rpm -qa $vert$ sort voor een gealfabetiseerd overzicht.

PHP Code

1
rpm -qs naam

Toon het overzicht van bestanden die tot de pakketnaam behoren. Zet er geen versienummer achter. Als je wilt weten welke binaries er in een bepaald pakket zitten, kun je rpm -qs naam $vert$ grep bin gebruiken.

PHP Code

1
rpm -qi naam

Toon informatie over pakketnaam.

PHP Code

1
rpm -qip file.i386.rpm

Hiermee kun je informatie bekijken over RPM’s die niet geïnstalleerd zijn.

PHP Code

1
rpm -qf file

Geeft weer bij welke RPM een bestand hoort. Je moet het complete pad voor de naam van het te zoeken bestand zetten.

PHP Code

1
rpm -i --justdb file

Laat de database van RPM denken dat je het pakket file installeert, maar je doet het niet echt. Dit is handig om pakketten te installeren waarvan je zelf wel weet dat het totaal nutteloos is, maar waarmee een hoop pakketten wel afhankelijkheden hebben.

Let wel op waar je de extensie .rpm moet gebruiken en waar niet.

RPM heeft niet zoiets wat Debian wel heeft met APT. Je kan met dit commando alleen software installeren. Echter heb je wel, net als voor Debian, een frontend die de software voor je download en installeert. Dit is Yum voor Fedora Core en YaST voor SuSe. Yum werkt van de commandline en YaST met een grafische interface. Yumex is weer een grafische omgeving voor Yum

Het systeem van Gentoo
Bij dit systeem wordt alles gewoon gecompiled, maar er wordt gelet op afhankelijkheden en alles wordt door het programma gedaan. Dit heet Portage en is geïnspireerd op het systeem van BSD.

Het is heel handig om bij Gentoo aan te geven wat je wel en niet gebruikt. Zo kan je aangeven dat je wel support voor KDE maar niet voor GNOME wilt omdat je het toch niet gebruikt. Dit kan je aangeven in het configuratiebestand van Portage: /etc/make.conf.

Het programma werkt met de volgende commando’s:

PHP Code

1
emerge -sync

Hiermee update je portage en breidt hij zijn repetoire aan packages uit.

PHP Code

1
emerge pakketnaam

Hiermee download en installeer je een pakket.

PHP Code

1
emerge -unmerge pakketnaam

Hiermee deinstalleer je een pakket.

PHP Code

1
emerge -search zoekterm

Hiermee zoek je een pakket.

Met deel 5 zijn we aan het einde gekomen van de eerste week, waarin geprobeerd is om een goed beeld te geven van het fenomeen opensource en met name toegespitst op Linux en de verschillende distributies die ervoor zijn. Volgende week gaat deze serie verder, dan vertel ik over mijn ervaringen tijdens het overstappen van Windows naar Linux.

In deze reeks zijn eerder verschenen: