2 Geschiedenis
Linux is origineel ontworpen door Linus Thorvalds in 1990.
Verdere info kan bekomen worden via de link
Linus Thorvalds.
Omdat LINUX ontstaan is uit UNIX gaan we eerst de history van UNIX bekijken.
![]() |
![]() |
Dit jaar gaan we linux behandelen. De stof wordt verdeeld in 3 grote stukken.
In het eerste deel wordt de basis gelegd voor het omgaan met linux in eerder algemene termen.
In het tweede deel wordt er dieper en in detail ingegaan op allerlei linux aspecten.
In het derde deel wordt overgegaan op het inrichten van een linux server en het oprichten van
allerlei netwerk services met behulp van linux.
Wat leren we in dit hoofdstuk:
Linux is origineel ontworpen door Linus Thorvalds in 1990.
Verdere info kan bekomen worden via de link
Linus Thorvalds.
Omdat LINUX ontstaan is uit UNIX gaan we eerst de history van UNIX bekijken.
1969 | In een laboratorium van Bell Telephone op een afgeschreven DEC computer word begonnen met de ontwikkeling van UNIX als een hobby project. |
---|---|
Bell Telephone, AT&T, en General Electric adopteren UNIX als een project voor een GE 635 mainframe computer. | |
Bell Telephone, AT&T, en General Electric adopteren UNIX als
een project voor een GE 635 mainframe computer. Het systeem moet voldoen aan de volgende eisen :
|
|
1970 | Ken Thompson en Dennis Ritchie waren de personen die aan dit besturings systeem werkten. Na veel tegenslagen kwam er een eerste release. |
Het project wordt verder gezet in de laboratoria van DELL. De belangrijkste vernieuwing zijn de tekst bewerkende eigenschappen zoals : cat, awk, redirection, en sort. |
|
1972 |
In eerste instantie werd er nooit nagedacht over licenties. Een 10-tal versies zijn nu in omloop |
1973 | De kernel van UNIX wordt herschreven in de programmeer taal C. Met deze stap wordt het systeem tot wat het tot op de dag van vandaag nog steeds is. |
UNIX wordt heel populair omdat :
|
|
1974 | Een aantal universiteiten krijgen toestemming om UNIX voor onderwijs doeleinden te gebruiken |
1974 |
De universiteit van California in Berkeley is de eerste die unix gebruikt. Ontstaan van BSD unix (onafhankelijk van de unix versie bij Bell) |
1974 | Bell Thelephone gebruikt UNIX om zijn telefoon verkeer te ondersteunen. De eerste commerciële toepassingen. |
1975 en verder |
|
Er zijn 2 mogelijke antwoorden op deze vraag.
Linux is een besturings systeem dat ooit is begonnen als een verbetering van de puur voor educatieve doeleinden gebruikte UNIX kloon MIMIX, ontwikkeld door Andrew Tanenbaum. Het is door de finse student Linux Torvalds (zie boven) vanaf het eerste begin ontworpen als een gratis besturings systeem, d.w.z. een besturings systeem waarvan de C broncode gratis kan worden gedownload. We spreken om die reden niet van een gratis besturings systeem maar van een open source besturings systeem.
Linux is ontwikkeld om gebruikt te worden op de intel 80386 processor. Tegenwoordig wordt er door honderden programmeurs wereldwijd gewerkt aan de ontwikkeling van LINUX en is het besturings systeem beschikbaar voor ieder denkbaar hardware platform.
De belangrijkste redenen voor het success van LINUX zijn:
Linux is een volledig multi-tasking, multi-user operating systeem. (zoals alle versies van Unix). Dit betekent dat meerdere gebruikers tegelijkertijd kunnen ingelogd zijn op hetzelfde systeem, terwijl ieder van hen eveneens tegelijkertijd een multitude van taken (programma's) kan draaien.
Linux is ook multi-processor, dat wil zeggen dat er support is voor maximaal 32 processors. Beschik je over een dual pentium moederbord , dan is linux zeker een optie. Uiteraard is dit een goede zaak in omgevingen waar veel processor power nodig is, zoals voor hoogwaardige servers, en voor systemen met grafische of wetenschappelijke toepassingen. Bij gebruik van de huidige moderne multi-core processoren is Linux als operating systeem zeker een goede kandidaat, immers men is er zeker van dat de verschillende processor cores door het OS gebruikt worden.
Het gratis beschikbaar zijn van een clustering systeem heeft ervoor gezorgd dat Linux gebruikt werdt in omgevingen waar intensieve rekenkracht nodig was, bv. in grafische rendering systemen voor het aanmaken van animatie films of het aanmaken van animatie in gewone films. Bv. The Lord of The Rings trilogie is gerenderd met behulp van een Linux cluster systeem waarbij ongeveer een 40-tal PC betrokken waren. Als gevolg hiervan is dat Linux wide-spread is in hollywood...
Het hart van het LINUX systeem is de kernel. De kernel is het deel van het besturing systeem dat de basis functionaliteit levert die nodig is voor de werking van andere delen van het besturings systeem. Hierbij moet vooral gedacht worden aan de aansturing van de hardware.
De linux kernel is opgebouwd uit modules. Dit betekent dat men tijdens het samenstellen van de kernel precies die modules kan selecteren die men nodig heeft. Linux laat zelfs toe dynamisch (terwijl de kernel actief is) modules te laden of the ontladen. Onder andere de drivers die de hardware aansturen zijn aparte linux modules, dit laat toe om precies die drivers te laden die men nodig heeft en niets meer. Dit kan bovendien dynamisch zodanig dat benodigde drivers tijdens het draaien van het OS kunnen geladen, respectievelijk ontladen kunnen worden.
De ideale LINUX kernel is dus eigenlijk een verzameling van exact die modules die nodig zijn om de hardware van een computer te kunnen ondersteunen. Dit betekend dat iedereen een kernel op maat kan maken die precies die modules bevat die voor de hardware nodig zijn. Dit betekend dat men een kernel kan maken die met minimale inspanning een maximaal resultaat kan bereiken. (geen enkel ander besturings systeem kent deze eigenschap). Op deze wijze kan men minimaal sized kernel aanmaken die precies die taken kan uitvoeren die nodig zijn op het betreffende apparaat. Om deze reden is linux populair op dedicated apparaten zoals GPS, GSM, en dedicated netwerk server apparatuur.
De LINUX kernel wordt ontwikkeld door een grote groep programmeurs die met elkaar communiceren door gebruik te maken van onder andere de discussie groepen op internet. Dit gebeurt nog steeds onder leiding van Linus Torvalds. Elke nieuwe versie van de LINUX kernel die beschikbaar is heeft de fiat van Linus gekregen.
Toch kan het gebeuren dat grotere distributies voorop lopen en in hun kernel functionaliteit leveren die nog niet officieel is goedgekeurd. Omdat de meeste distributies ook actief bijdragen aan de algemene ontwikkeling van Linux komt dit meestal goed.
Precies omdat de ontwikkeling van de kernel op deze wijze plaatstvindt is de LINUX kernel voortdurend in beweging. Wanneer men een aantal weken de ontwikkeling niet bijhoudt zal men reeds een bepaalde achterstand hebben opgelopen.
Behoudens een klein aantal modules in assembler is de linux kernel in de C-taal geschreven. Deze taal wordt ondersteund door de open source compiler gcc. Dit betekent dus dat men de linux kernel kan compileren met behulp van de gcc compiler die met de meeste linux distributies wordt meegeleverd.
Om kernels in verschillende stadia van ontwikkeling te kunnen onderscheiden werden versie nummers ingevoerd.
Dit zijn ze dan :
Er bestaan twee soorten linux kernels. Ten eerste is er de produktie-kernel. Dat wil zeggen een kernel waarvan men zeker is dat alle erin verwerkte code goed zal werken. Een zogenaamde stabiele kernel. (Stable kernel) Deze produktie of werk -kernels worden gebruikt in produktie machienes, dus servers en werk stations die in het dag-dagelijkse productie process gebruikt worden. Een produktie-kernel kan men onderscheiden doordat het sub-versie nummer (Minor Release) van een dergelijke kernel een even getal is. Een goed voorbeeld van een stabiele kernel is natuurlijk de versie waarop men nu aan het werken is.
Het tweede type linux kernel is de ontwikkelings-kernel, ofwel een kernel die zogenaamde experimentele code bevat. (Unstable kernel) D.w.z. code waarvan men niet zeker is dat ze in alle omstandigheden goed zal draaien. Een ontwikkelings-kernel ook wel genaamd een onstabiele kernel wordt aangeduid door een oneven subversie nummer (Minor Release). Bv. het kernel versie nummer 2.7.10 betekent dat deze kernel een ontwikkelings kernel is.
Merk op dat zowel de produktie-kernel als de ontwikkelings-kernel een zelfde patch nummering vertonen.
Vele distributies passen nog een extra versie toe en een processor type nummer toe zoals in :
2.6.15-29-686.
In dit voorbeeld is dan -29 het extra versie nummer, en -686 (Pentium IV) het processor type nummer.
Obseerveer hier het wijzigen van het scheidings teken. Het scheidings teken tussen het sub-versie nummer en het patch nummer is een '.', terwijl het scheidings teken tussen het patch nummer en het extra versie nummer een '-' teken is.
De shell is een programma dat zich tussen het Operating Systeem en de gebruiker nesteld. Aan de OS kant zorgt de shell ervoor dat door de gebruiker ingegeven opdrachten op de juiste wijze worden geïnterpreteerd. Aan de gebruikers kant toont de shell een tekst georiërienteerde interface of een grafische interface, naargelang de keuze van de gebruiker.
Algemeen gesteld heeft de shell de volgende eigenschappen :
Voor het LINUX platform zijn meedere shells beschikbaar. De ontwikkeling van deze shells staat volledig los van de ontwikkeling van LINUX. De shells komen over het algemeen uit het GNU project waarover later meer. De meest gebruikte shell is 'bash' wat staat voor Bourne Again Shell. Deze shell is een verbeterde versie van de Bourne shell, die op het UNIX platform het meest wordt toegepast. Naast de voornaamste 'bash' shell zijn er op het LINUX platform nog andere ter beschikking.
Een shell wordt ook individueel per gebruiker gestart, dus wanneer meerdere gebruikers zijn ingelogd zal ieder van hen binnen zijn eigen shell werken.
Als men over LINUX spreekt begrijpt men heel dikwijls gratis software. Op het eerste gezicht is dat waar. Echter Linux op zich is niet gratis, het is de kernel source code die gratis is. In het geval men over linux wil beschikken doet men een download van de kernel source code, die men vervolgens compileert. Dit werk of deze inspanning is uiteraard niet gratis, immers, de meeste mensen worden betaald. Sommige distributies leveren gratis Linux, in dit geval is de distributie gratis, en omvat meestal veel meer dan alleen maar Linux (zoals bijvoorbeeld een shell en Open Office). De distributie zelf wordt dan min of meer verantwoordelijk voor de compilatie van de Linux (de kernel dus) en voor het opvolgen van de verbeteringen daaraan.
De linux kernel en de meeste programmatuur die rond en voor linux ontwikkeld is valt onder de GPL licentie.
De afkorting komt van General Public License.
Eigenschappen van de GPL zijn de volgende:
LINUX software die hetzelfde doet als de overeenkomstige UNIX software maar die niet van UNIX afkomstig is. Kort uitgesproken : not unix. Er zijn enige rare uitspraken, raadpleeg de GNU site, zie literatuur.
Elke LINUX installatie maakt veelvuldig gebruik van de zogenaamde GNU utilities. De afkorting GNU staat voor NOT UNIX (uitgesproken 'gnoe'), waarmee bedoeld wordt dat het om dezelfde tools gaat als de doorsnee UNIX tools die op veel commerciële distributies in gebruik zijn, maar dat er alleen geen prijskaartje aan verbonden is. Dit zijn utilities en programma's die ter beschikking zijn gesteld onder de condities van de General Public License. Het gaat hier over LINUX programma's die een weerspiegeling zijn van hun commerciele UNIX counterparts. Heel algemeen kan gesteld worden dat de elementaire UNIX commando's waardoor het eenvoudig wordt om met een LINUX kernel te werken , onder de GPL beschikbaar zijn. Naast deze commando's zijn ook commando's en programma's ter beschikking voor LINUX die niet worden gedistribueerd onder de GPL. Het kan gaan over freeware, of zelfs commerciele software.
Veel software wordt onder de GPL gedistribueerd. Naast de standaard opdrachten
die LINUX maken tot wat het is, worden ook indrukwekkende programma's onder de GPL
verspreid.
Voorbeelden hiervan zijn:
Voor meer info zie www.gnu.org.
De uitdrukking 'open source' betekent dat de bron-code van het programma waarover het gaat vrij beschikbaar is. Vrij omdat er natuurlijk ook een wettelijke toestemming moet zijn om met deze bron-code te werken. (niet alle beschikbare bron-code is vrij). De term open source is niet alleen op software van toepassing, zie literatuur.
Freeware is software waarvoor niet betaald moet worden, maar waar wel degelijk een licentie op rust. Meestal wordt freeware aangemaakt door een bedrijf als een soort van promotie stunt, waarbij het freeware produkt wel bruikbaar is maar toch minder eigenschappen heeft dan hetzelfde betaalde product. Bv. winzip is hiervan een voorbeeld.
Een onderdeel dat vrijwel altijd deel uitmaakt van een LINUX distributie is het X Window System, ook wel kortweg X genoemd. X is een X-server die enerzijds zorgt voor de aansturing van de grafische kaart(en) van de computer. Anderzijds zal de X-server ook zorgen voor de aansturing van de grafische input devices , zoals keyboard, muis, trackbal, grafpad, enzo... Deze servers maken het mogelijk om een grafische omgeving op de computer te gebruiken, waardoor het de moeite waard wordt om Linux ook als een desktop omgeving te gebruiken.
X is ooit door het Massachusetts Institute of Technology (MIT) ontwikkeld als Grafische User Interface (GUI) voor UNIX systemen. Ook X is in principe vrij beschikbaar; het wordt onderhouden door het X-consortium. Zie ook www.x.org.
Een afgeleide van X is XFree86, een project dat als doel een X-implementatie te leveren voor de pc-architectuur. XFree86 wordt onderhouden door het XFree86 project. Op veel LINUX systemen wordt gebruik gemaakt van de X-servers en -clients die afkomstig zijn van het XFree86 project. Zie ook www.xfree86.org.
Naast XFree86 bestaat er ook nog een open source variant van de originele X-omgeving. Nadeel de verschillende configuratie bestanden zijn niet helemaal gelijk.
X werkt volgens het Server / Client principe. De X-clients worden gebruikt om bij middel van een X-server interactief met de grafische omgeving te werken. De X-clients kunnen zowel op dezelfde computer als op een andere computer in het netwerk actief zijn. Dit heeft als direct gevolg dat dankzij de client/server architectuur het niet uitmaakt op welke computer de client (het grafische programma), respectievelijk de grafische interface (de server) ervan draait.
Een nadeel van X en XFree86 is dat deze omgevingen niet zelf voorzien in een geavanceerde wijze om met windows om te gaan. Wanneer X of XFree86 gestart zijn dat beschik je alleen over een 'leeg', meestal zwart-wit gestippeld venster dat het gehele scherm omvat, en waarmee je verder niets kunt doen.
Om deze reden wordt bovenop X altijd gebruik gemaakt van een zogenaamde window-manager. Een window-manager zorgt ervoor dat er met de windows kan gewerkt worden, en dat er een menu beschikbaar is. Er zijn een hele reeks window-managers verkrijgbaar, van zeer beperkt tot zeer uitgebreid in omvang. De meeste window-managers zijn eveneens beschikbaar onder de GPL.
Naast window-managers zijn er ook nog de zogenaamde desktop omgevingen. Een Desktop Environment
is een uitbreiding van een window-manager. Doel van de desktop omgeving is te voorzien in een
universele interface waarmee gewerkt kan worden.
Dit betekent dat de Desktop omgeving ook voorziet in het volgende :
De twee meest bekende omgevingen (op dit moment) zijn GNOME en KDE, die we allebei zullen installeren. Daarnaast bestaan er nog een aantal mindere bekende. 1 of meer hiervan zullen we later in de cursus uittesten.
Een andere component die sterk in LINUX is geïntegreerd, is TCP/IP.
Het doel van TCP/IP is de communicatie tussen verschillende computers in een netwerk mogelijk te maken.
TCP/IP komt op twee manieren voor in LINUX: allereerst zijn grote delen van de kernel gebaseerd op de
functionaliteit van het TCP/IP protocol, daarnaast worden er een aantal utilities meegeleverd die
toelaten om linux in een TCP/IP netwerk te gebruiken. TCP/IP is overigens niet de enige
netwerk stack die ondersteund wordt, ook IPX en AppleTalk kunnen geinstalleerd worden.
Bekijk het kernel schema vooraan in de tekst en tracht de netwerk onderdelen te onderscheiden.
Veel LINUX-versies kunnen gewoon vanaf het internet gratis gedownload worden. Er zijn echter verschillende manieren om te voorzien in uw eigen LINUX installatie, afhankelijk van smaak en doel.
De meeste elementaire wijze is dat men zelf op zoek gaat en de verschillende componenten verzameld. Bij deze methode dient men als eerste een kernel op te halen, meschien zelfs twee. Om te beginnen een kleine kernel om de computer op te starten, vervolgens een grotere om te installeren. In het ergste geval, is er geen kernel beschikbaar voor de computer die je wil installeren en zal je eerst een PC met linux en een cross-c-compiler moeten installeren om zelf je eigen kernels aan te maken. Alhoewel bovenstaande methode de meest valabele is, is het ook de methode die het langst zal duren en het meeste zweet, bloed en tranen zal kosten, immers je moet alles zelf uitzoeken. Deze methode wordt alleen toegepast door mensen (of organisaties) die zelf een distributie willen produceren en onderhouden.
Iets minder elementair maar toch nog vrij basis is gebruik maken van distributie waarbij je alles download in de vorm van source-code, en dus alles dient te compileren. Alhoewel alleen aan te raden aan een ervaren gebruiker zijn er duidelijke voordelen t.o.v. deze methode:
De GENTOO distributie wordt meestal hiervoor gebruikt.
Ondanks dat de methode veel werk meebrengt is ze zeer populair bij universiteit studenten,
en ook nog wel eens bij informatica mensen.
Er is toch wel enigzins elitair gedrag ontstaan rond het gebruik van deze methode,
waarbij diegene die slechts een Ubuntu gebruiker is als mindere beschouwd wordt (wat uiteraard belachelijk is).
Een eenvoudiger methode is gewoon een bekende (grotere) distributie te kiezen. Meestal kan men volstaan met het downloaden en branden van een installatie CD, om vervolgens met deze CD de LINUX op de PC te installeren. De meeste distributies hebben ook een update methode, zodat de geinstalleerde software direct uptodate kan gezet worden. Hou er rekening mee dat we rekenen in honderden MegaBytes voor een normale installatie. Een nieuw fenomeen is dat de meeste linux distributies er tegenwoordig een live cd op na houden, d.w.z. men kan het OS gebruiken of uittesten zonder dat men het dient te installeren.
Als men zich veiliger voelt met support kan men ook een commerciële distributie kiezen.
In geval van een professioneel netwerk van computers (een bedrijf) zal men dikwijls deze vorm kiezen.
Vele distributies leveren tegenwoordig beide versies, namelijk een volledig vrije versie, en een
niet vrije versie, bij de laatste vorm verkrijgt men dan support, die meestal ook verlengd kan worden.
Het laatste is natuurlijk niet gratis.
Voor bedrijven is het kiezen van een commerciële versie veelal een zaak van continuiteit, want wie zal het systeem (en eventueel ontwikkelde software op het systeem) kunnen en/of willen onderhouden , zeg binnen 10 jaar.
Voor een overzicht van verschillende distributies zie
Linux Flavors
Het herkennen van je distributie kan op allerlei manieren, zoals de volgende screenshots duidelijk maken.
Het bestand /etc/issue bevat de distributie versie.
Er bestaan meerdere bestanden met release informatie.
Het bestand /etc/issue.net
Het (pseudo) bestand /proc/version bevat eveneens versie informatie.
Linux wordt in het bedrijfsleven al breed ingezet, meestal onzichtbaar voor de gebruikers, soms zelfs onzichtbaar voor de eigenaar van het bedrijf.
Linux wordt in het drijfsleven meestal ingezet als server.
Voor de vuist weg kunnen de volgende toepassingen genoemd worden:
Bij de grotere (mini) en de zeer grote systemen (main frame) is er een trend om linux te gaan gebruiken, ten nadele van de proprietary operating systemen. Bv. IBM, Sun Solaris, HP enzo... dat wil zeggen dat bedrijven die over deze hardware beschikken, of deze aanschaffen, zeer waarschijnlijk met linux zullen geconfronteerd worden, zij het op server niveau. Reken erop dat de Linux penetratie op server vlak ongeveer 60% zal zijn.
De laatste 5 jaar is er steeds grotere druk om Linux ook als desktop te gaan gebruiken.
Een paar van de oorzaken die hieraan ten gronslag liggen:
Op dit moment is, zeker in het bedrijfsleven, niet veel te merken van Linux op de desktop. Tenminste niet in België, ons land heeft belangrijke achterstand wat dit betreft.
Naam | Opmerking |
---|---|
Apache | Apache is op dit moment de meeste gebruikte web-server op het internet. Naar schatting 70% van alle web-servers zijn apache web-servers. De apache-web-server is niet alleen beschikbaar voor linux, maar kan ook op windows en novell netware gebruikt worden. |
Squid |
Squid is een linux proxy die ervoor kan zorgen dat netwerkverkeer
gefilterd wordt alvorens het doorgelaten wordt. In ideale omstandigheden
zal ervoor gezorgd worden dat alle internet verkeer over de proxy loopt.
Er kan ook worden gezorgd dat een gebruiker zichzelf eerst moet valideren bij
de proxy alvorens hij een server op het internet mag contacteren.
Naast deze filter functie kan squid ook gebruikt worden als cache. Het nut hiervan is dat vaak opgehaalde informatie slechts 1 keer van het internet moet gehaald worden, de volgende bevragingen kunnen rechtstreeks door squid worden beantwoord, dit scheelt behoorlijk is respons tijd en internet verkeer. |
Samba | Op de meeste werkstations wordt gebruik gemaakt van Microsoft Windows. Nu is het vaak handig als de werkstations via het netwerk gegevens met elkaar kunnen delen. Hoewel het mogelijk is dat gebruikers dit onderling regelen, is het veel handiger als dergelijke zaken op een centrale wijze geregeld worden. Vaak wordt voor dit doel een aparte server ingezet. Samba maakt van een LINUX systeem een ideale file en print server. |
Sendmail | LINUX is in staat om bij middel van sendmail berichten naar andere gebruikers op het internet te sturen, door middel van het smtp protocol. (Simple Message Tranfer Protocol). Hoewel sendmail hier heel goed in is, is het geen volwaardig alternatief voor groupware servers. |
netfilter | Er zijn verschillende namen voor de techniek die het mogelijk maakt om netwerk verkeer te filteren. In de LINUX omgeving spreekt men over Netfilter, een firewall die in de kernel is geintegreerd. Om deze firewall te beheren maakt men gebruik van de opdracht iptables. Op basis van deze opdracht kan een volwaardige packet filtering firewall opzetten, gebruik makend van een LINUX systeem. Dit wordt redelijk veel toegepast, vooral als het LINUX systeem ook de router is. |
DNS | De laaste belangrijke toepassing van LINUX software is BIND, de Berkeley Internet Name Daemon, ofwel de DNS-service. LINUX BIND is volledig compatibel met DNS zoals het in de RFC's gedefinieerd is. Als gebruik wordt gemaakt van een redelijk recente versie kunnen zelfs gegevens zoals een SRV record in de DNS database worden opgenomen. BIND op LINUX is bijzonder robuust en redelijk eenvoudig te configureren. Voor deze toepassing wordt dan ook vaak voor LINUX gekozen. |
Met de 'Android' smart-phones wordt de grote massa geconfronteerd met een linux distributie.
Ondertussen wordt 'Android' ook toegepast voor de zogenaamde tablet computers met touchscreen.
Een Android 10.2 inch tablet computer., overigens zijn er ook 7 inch android computertjes.
In dit hoofdstuk hebben we in vogelvlucht kennis gemaakt met Linux. Om te beginnen hebben we gezien dat Linux een OS (Operating System) is zoals vele anderen. De geschiedenis van Linux heeft ons een blik gegund op het ontstaan ervan. We hebben het Open Source principe belicht en gezien waarom Linux eigenlijk niet gratis is. Via de eigenschappen van de kernel hebben we gezien dat Linux een echt multi-user/multi-tasking systeem is. Tot slot hebben we gezien dat Linux alhoewel meestal toegepast in server applicaties toch ook een GUI heeft een ook desktop toepassingen kan draaien. Dank zij de moderne embedding technieken draait linux nu ook op embedded devices en super small desktop computers.
![]() |
![]() |
Last modified: Sun Jul 5 11:38:45 2015 |