/[glms]/glms/inleiding.tex
ViewVC logotype

Diff of /glms/inleiding.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.60 by gazza, Mon Feb 10 16:16:39 2003 UTC revision 1.61 by gazza, Tue Feb 11 08:53:13 2003 UTC
# Line 19  Line 19 
19  \chapter{Waarom \gl?}  \chapter{Waarom \gl?}
20  \label{ch:waarom}  \label{ch:waarom}
21    
22  \citaatnnn{The world will end in 5 minutes.  Please log out.}  \citaatnnn{The world will end in 5 minutes. Please log out.}
23    
24  ``Waarom \gl?'' zal een algemene uitleg geven over het \gl\  ``Waarom \gl?'' zal een algemene uitleg geven over het \gl\
25  besturingsysteem, het \gnu-project en de \linux\ kernel.  We zullen  besturingsysteem, het \gnu-project en de \linux\ kernel.  We zullen
# Line 53  Zoals de naam ``\gl'' laat uitschijnen, Line 53  Zoals de naam ``\gl'' laat uitschijnen,
53  \url{http://www.fsfeurope.org/}  \url{http://www.fsfeurope.org/}
54  \end{urlbox}  \end{urlbox}
55    
56  \begrip{\gnu}, is een recursieve afkorting voor ``\gnu's  gnu\index{gnu@\gnu}, is een recursieve afkorting voor ``\gnu's
57  not \unix''.  \gnu\ is een project opgestart in 1984 met als doel een  not \unix''.  \gnu\ is een project opgestart in 1984 met als doel een
58  \unix-achtig besturingssysteem te ontwikkelen, maar dan als  \unix-achtig besturingssysteem te ontwikkelen, maar dan als
59  \begrip{vrije software} (\begrip{free software}).  \begrip{vrije software} (\begrip{free software}).
# Line 64  software, die nu dus deel uitmaakt van h Line 64  software, die nu dus deel uitmaakt van h
64  Vrijwel alle programma's die we gaan gebruiken op ons \gl\  Vrijwel alle programma's die we gaan gebruiken op ons \gl\
65  besturingssysteem werden geschreven door het \gnu\ project.  besturingssysteem werden geschreven door het \gnu\ project.
66    
67  Het \gnu\ project wordt gesponsord door \begrip{the Free Software  Het \gnu\ project wordt gesponsord door \Begrip{The} \begrip{Free Software
68  Foundation} (\begrip{FSF}).  Op \url{http://www.gnu.org/software/}  Foundation} (\begrip{FSF}).  Op \url{http://www.gnu.org/software/}
69  vinden we een overzicht van alle \gnu\ software.  vinden we een overzicht van alle \gnu\ software.
70    
# Line 111  Ieder zichzelf respecterend project heef Line 111  Ieder zichzelf respecterend project heef
111  heeft een gnu als mascotte en \linux\ heeft een pingu\"in als  heeft een gnu als mascotte en \linux\ heeft een pingu\"in als
112   mascotte.   mascotte.
113    
114  De offici\"ele \linux\ pingu\"\i n werd gekozen door Linus Torvalds en  De offici\"ele \linux\ pingu\"in werd gekozen door Linus Torvalds en
115  zien we in figuur~\ref{tux}.  De pingu\"\i n werd ontworpen door Larry  zien we in figuur~\ref{tux}.  De pingu\"in werd ontworpen door Larry
116  Ewing.  Ewing.
117    
118  \begin{figure}  \begin{figure}
119  \center  \center
120  \includegraphics{inleiding/tux.png}  \includegraphics[height=9cm]{inleiding/tux.png}
121  \caption{Tux, de \linux\ pingu\"\i n}  \caption{Tux, de \linux\ pingu\"\i n}
122  \label{tux}  \label{tux}
123  \end{figure}  \end{figure}
124    
125  Linus legt in de volgende tekst uit waarom hij juist een pingu\"\i n  Linus legt in de volgende tekst uit waarom hij juist een pingu\"in
126   heeft   heeft
127  gekozen:  gekozen:
128    
# Line 132  their ideas to a web-site\ldots Line 132  their ideas to a web-site\ldots
132    
133  Anyway, this one looks like the poor penguin is not really strong  Anyway, this one looks like the poor penguin is not really strong
134  enough to hold up the world, and it's going to get squashed. Not a  enough to hold up the world, and it's going to get squashed. Not a
135  good, positive logo, in that respect..  good, positive logo, in that respect.
136    
137  Now, when you think about penguins, first take a deep calming breath,  Now, when you think about penguins, first take a deep calming breath,
138  and then think ``cuddly''. Take another breath, and think ``cute''. Go  and then think ``cuddly''. Take another breath, and think ``cute''. Go
# Line 152  here. Line 152  here.
152    
153  So when you think ``penguin'', you should be imagining a slighly  So when you think ``penguin'', you should be imagining a slighly
154  overweight penguin (*), sitting down after having gorged itself, and  overweight penguin (*), sitting down after having gorged itself, and
155  having just burped.  It's sitting there with a beatific smile - the  having just burped.  It's sitting there with a beatific smile -- the
156  world is a good place to be when you have just eaten a few gallons of  world is a good place to be when you have just eaten a few gallons of
157  raw fish and you can feel another ``burp'' coming.  raw fish and you can feel another ``burp'' coming.
158    
# Line 168  sitting down after having gorged itself Line 168  sitting down after having gorged itself
168    
169  NOW comes the hard part. With this image firmly etched on your  NOW comes the hard part. With this image firmly etched on your
170  eyeballs, you then scetch a stylizied version of it. Not a lot of  eyeballs, you then scetch a stylizied version of it. Not a lot of
171  detail - just a black brush-type outline (you know the effect you get  detail -- just a black brush-type outline (you know the effect you get
172  with a brush where the thickness of the line varies). THAT requires  with a brush where the thickness of the line varies). THAT requires
173  talent.  Give people the outline, and they should say $[$ sickly sweet  talent.  Give people the outline, and they should say $[$ sickly sweet
174  voice, babytalk almost $]$ ``Ooh, what a cuddly penguin, I bet he is  voice, babytalk almost $]$ ``Ooh, what a cuddly penguin, I bet he is
# Line 178  down and scream ``mommy mommy, can I hav Line 178  down and scream ``mommy mommy, can I hav
178  Then we can do a larger version with some more detail (maybe leaning  Then we can do a larger version with some more detail (maybe leaning
179  against a globe of the world, but I don't think we really want to give  against a globe of the world, but I don't think we really want to give
180  any ``macho penguin'' image here about Atlas or anything). That more  any ``macho penguin'' image here about Atlas or anything). That more
181  detailed version can spank billy- boy to tears for all I care, or play  detailed version can spank billy-boy to tears for all I care, or play
182  ice-hockey with the FreeBSD demon. But the simple, single penguin  ice-hockey with the FreeBSD demon. But the simple, single penguin
183  would be the logo, and the others would just be that cuddly penguin  would be the logo, and the others would just be that cuddly penguin
184  being used as an actor in some tableau.  being used as an actor in some tableau.
# Line 252  Opmerking: enkel indien we een andere ke Line 252  Opmerking: enkel indien we een andere ke
252    
253  \item[Herinstallatie:] Als we veel programma's installeren en  \item[Herinstallatie:] Als we veel programma's installeren en
254    verwijderen gaat het register van \win\ dichtslibben. We kunnen dan    verwijderen gaat het register van \win\ dichtslibben. We kunnen dan
255    wachten tot alles rotsvast zit en een format c: uitvoeren. Of we    wachten tot alles rotsvast zit en een \com{format c:} uitvoeren. Of we
256    kunnen \win\ regelmatig herinstalleren. In \gl\ is hier geen sprake    kunnen \win\ regelmatig herinstalleren. In \gl\ is hier geen sprake
257    van (er bestaat simpelweg geen register). Als je een programma    van (er bestaat simpelweg geen register). Als je een programma
258    verwijdert kan dit zonder dat er ook maar \'e\'en bit van dat    verwijdert kan dit zonder dat er ook maar \'e\'en bit op de harde schijf achterblijft.
  programma op de harde schijf achterblijft.  
259    
260  \item[De prijs:] Naast het feit dat we \gl\ gratis kunnen downloaden of  \item[De prijs:] Naast het feit dat we \gl\ gratis kunnen downloaden of
261   kopi\"eren, kunnen we voor weinig geld een distributie aanschaffen. Dan   kopi\"eren, kunnen we voor weinig geld een distributie aanschaffen. Dan
# Line 267  Opmerking: enkel indien we een andere ke Line 266  Opmerking: enkel indien we een andere ke
266  Opmerking: uiteraard hebben veel mensen \win\ en aanverwanten illegaal  Opmerking: uiteraard hebben veel mensen \win\ en aanverwanten illegaal
267   gekopieerd maar in het geval van \gl\ is dit 100\% legaal.  Voor een   gekopieerd maar in het geval van \gl\ is dit 100\% legaal.  Voor een
268   school of instelling is men verplicht om legale software te gebruiken.   school of instelling is men verplicht om legale software te gebruiken.
269     Daarenboven is het opvoedkundig niet verantwoord om kinderen te leren stelen.
270    
271  \item[Platform-onafhankelijk:] \gl\ is portable.  Dit houdt in  \item[Platform-onafhankelijk:] \gl\ is portable.  Dit houdt in
272   dat \gl\ werkt op merk pc's, klonen, Apple Macintosh, Sun   dat \gl\ werkt op merk pc's, klonen, Apple Macintosh, Sun
# Line 274  Opmerking: uiteraard hebben veel mensen Line 274  Opmerking: uiteraard hebben veel mensen
274   dat twee verschillende computers waarop \gl\ draait geen probleem   dat twee verschillende computers waarop \gl\ draait geen probleem
275   hebben om verbinding met elkaar te maken.   hebben om verbinding met elkaar te maken.
276    
277  \item[Virussen:] Er bestaan zeer weinig virussen voor \gl. \gl\ is echt  \item[Virussen:] Er bestaan zeer weinig virussen voor \gl. Het is echt
278   veel gezonder :).   veel gezonder :).
279    
280  \item[Vrije software:] Hier draait alles om bij \gl. We kunnen de  \item[Vrije software:] Hier draait alles om bij \gl. We kunnen de
# Line 286  Opmerking: uiteraard hebben veel mensen Line 286  Opmerking: uiteraard hebben veel mensen
286    tegenstanders verworpen met het argument dat niet alle gebruikers    tegenstanders verworpen met het argument dat niet alle gebruikers
287    programmeurs zijn.  Dit is natuurlijk waar, maar omdat de software    programmeurs zijn.  Dit is natuurlijk waar, maar omdat de software
288    vrij is, kunnen gebruikers andere mensen inhuren die de software    vrij is, kunnen gebruikers andere mensen inhuren die de software
289    naar hun noden aan te passen.  Mensen die onvrije software gebruiken    naar hun noden aanpassen.  Mensen die onvrije software gebruiken
290    kunnen dit niet en zijn voor altijd gebonden aan de software    kunnen dit niet en zijn voor altijd gebonden aan de software
291    producent.  Met vrije software vermijdt men deze \Begrip{lock in}.    producent.  Met vrije software vermijdt men deze \Begrip{lock in}.
292    
293  \item[Multi-tasking en multi-user:] \gl\ is een goed multi-tasking en  \item[Multi-tasking en multi-user:] \gl\ is een goed multi-tasking en
294    multi-user besturingssysteem.  Terwijl we een groot document    multi-user besturingssysteem.  Terwijl we een groot document
295    afprinten zal \gl\ niet vertragen, wat niet kan gezegd worden    afprinten zal \gl\ niet vertragen, wat niet kan gezegd worden
296    van \win.  In \gl\ kunnen meerdere gebruikers tezelfdertijd van    van \win.  In \gl\ kunnen meerdere gebruikers terzelfdertijd van
297    \'e\'en computer gebruik maken. De configuratie- en persoonlijke    \'e\'en computer gebruik maken. De configuratie- en persoonlijke
298    bestanden staan per gebruiker in een eigen directory.    bestanden staan per gebruiker in een eigen directory.
299    
# Line 306  Opmerking: uiteraard hebben veel mensen Line 306  Opmerking: uiteraard hebben veel mensen
306    omgeving, kunnen we reeds aan de slag met een 386 met 2 MB geheugen.    omgeving, kunnen we reeds aan de slag met een 386 met 2 MB geheugen.
307    Dit is natuurlijk niet wat het merendeel van de thuisgebruikers    Dit is natuurlijk niet wat het merendeel van de thuisgebruikers
308    wensen te doen met hun computer. Maar met een 486 met 16MB geheugen    wensen te doen met hun computer. Maar met een 486 met 16MB geheugen
309    kunnen we reeds aan de slag in een grafische omgeving.    is een grafische omgeving mogelijk.
310    
311  \item[Netwerkmogelijkheden:] Met \gl\ kunnen we  alles gaan doen wat de  \item[Netwerkmogelijkheden:] Met \gl\ kunnen we  alles gaan doen wat de
312   'groten' doen: een netwerk opstellen,  een DNS-, proxy-, mail- of   `groten' doen: een netwerk opstellen,  een DNS-, proxy-, mail- of
313   webserver opzetten, \ldots  Niet in het  minst omdat we alle software   webserver opzetten, \ldots\  Niet in het  minst omdat we alle software
314   bij de distributie zullen aantreffen.   bij de distributie zullen aantreffen.
315    
316  \item[Kennis:] Hoewel dit ook als nadeel kan bekeken worden, krijgen we  \item[Kennis:] Hoewel dit ook als nadeel kan bekeken worden, krijgen we
317   aan de hand van \gl\ een beter inzicht in de werking van een   aan de hand van \gl\ een beter inzicht in de werking van een
318   computer. Dit omdat we veel moet weten over de onderdelen die er in   computer. Dit omdat we veel moeten weten over de onderdelen die er in
319   onze computer zitten. Is dit moeilijk? Neen. Het vraagt alleen wat   onze computer zitten. Is dit moeilijk? Nee. Het vraagt alleen wat
320   tijd. Eenmaal we \gl\ leren kennen zijn de mogelijkheden onbeperkt.   tijd. Eenmaal we \gl\ leren kennen zijn de mogelijkheden onbeperkt.
321   We kunnen alles configureren zoals we zelf willen.   We kunnen alles configureren zoals we zelf willen.
322    
# Line 332  Opmerking: uiteraard hebben veel mensen Line 332  Opmerking: uiteraard hebben veel mensen
332    een \gl\ versie. Daar komt ongetwijfeld langzaam maar zeker    een \gl\ versie. Daar komt ongetwijfeld langzaam maar zeker
333    verandering in. Quake III Arena, Myth II, Railroad Tycoon, Heretic    verandering in. Quake III Arena, Myth II, Railroad Tycoon, Heretic
334    II, Civilisation en Heroes of Might and Magic II zijn gametoppers    II, Civilisation en Heroes of Might and Magic II zijn gametoppers
335    die op het ogenblik van dit schrijven reeds beschikbaar voor \gl\    die op het ogenblik van dit schrijven reeds beschikbaar zijn voor \gl.
336    waren. Wanneer je op het net een multiplayer spel speelt draait dat  
337     Wanneer je op het net een multiplayer spel speelt draait dat
338  ironisch genoeg negen op de tien keer op een \gl-server.  ironisch genoeg negen op de tien keer op een \gl-server.
339    
340  Oplossing 1. Installeer een dualboot en gebruik \win\ om te  Oplossing 1. Installeer een dualboot en gebruik \win\ om te
# Line 343  Oplossing 2. Als jouw favoriete spel bes Line 344  Oplossing 2. Als jouw favoriete spel bes
344  deze versie en niet de \win\ versie.  deze versie en niet de \win\ versie.
345    
346  \item[Software:] Nog vele andere populaire softwarepakketten zijn  \item[Software:] Nog vele andere populaire softwarepakketten zijn
347    voorlopig alleen maar beschikbaar in een \win\ versie.  Dit is    voorlopig slechts beschikbaar in een \win\ versie.  Dit is
348    vooral omdat deze softwarepakketen niet vrij zijn, waardoor andere    vooral omdat deze softwarepakketen niet vrij zijn, waardoor andere
349    programmeurs ze niet kunnen porten naar \gl.    programmeurs ze niet kunnen porten naar \gl.
350        
# Line 364  deze versie en niet de \win\ versie. Line 365  deze versie en niet de \win\ versie.
365  \item[Hardware:] Sommige fabrikanten van hardware maken nog  \item[Hardware:] Sommige fabrikanten van hardware maken nog
366   steeds geen drivers voor \gl. Er is dus hardware die niet werkt   steeds geen drivers voor \gl. Er is dus hardware die niet werkt
367   onder \gl.  Andere fabrikanten geven de specificaties niet vrij,   onder \gl.  Andere fabrikanten geven de specificaties niet vrij,
368   waardoor terug de \gl\ programmeurs niet de kans krijgen eraan te   waardoor de \gl\ programmeurs niet de kans krijgen eraan te
369   werken.   werken.
370    
371   Oplossing: Voordat een onderdeel voor een pc aanschaft wordt zoeken   Oplossing: Voordat een onderdeel voor een pc aanschaft wordt zoeken
372   we eerst eens op of \gl\ dit ondersteunt.  Is dit niet het geval   we eerst eens op of \gl\ dit ondersteunt.  Is dit niet het geval
373   dan kopen we gewoon een ander merk. Bijvoorbeeld: wat grafische   dan kopen we gewoon een ander merk. Bijvoorbeeld wat grafische
374   kaarten betreft: Nvidia en 3DFx richten zich ook op hardware   kaarten betreft: Nvidia en 3DFx richten zich ook op hardware
375   ondersteuning voor \linux, wat onmiddellijk maakt dat we genoeg keuze   ondersteuning voor \linux, wat onmiddellijk maakt dat we genoeg keuze
376   hebben aan grafische kaarten voor ons \gl\ besturingssysteem.   hebben aan grafische kaarten voor ons \gl\ besturingssysteem.
# Line 400  ontwikkeling van de (ICT) maatschappij. Line 401  ontwikkeling van de (ICT) maatschappij.
401  vrije software een competitief voordeel dat geen enkele van de  vrije software een competitief voordeel dat geen enkele van de
402  commerci\"ele ICT-producenten ooit kan aanbieden.  commerci\"ele ICT-producenten ooit kan aanbieden.
403    
404  \Begrip{Wij vragen de lezer dit document zeker te lezen!}  \Begrip{Wij vragen de lezer dit document zeker te door te nemen!}
405    
406  \section{\gl\ in het begin}  \section{\gl\ in het begin}
407  \label{sec:begin}  \label{sec:begin}
408    
409  Populaire softwarebedrijven verkochten een CD of een paar diskettes  Populaire softwarebedrijven verkochten een CD of een paar diskettes
410  en een korte handleiding waarmee we in minder dan anderhalf uur aan de  en een korte handleiding waarmee we in minder dan anderhalf uur aan de
411  slag konden met ons nieuw besturingssysteem.  Die bedrijven hadden ook  slag konden met ons nieuw besturingssysteem.  Die bedrijven hadden ook
412  die bedoeling.  die bedoeling.
413    
414  De ontwikkelaars van \gnu\ en van de \linux\ kernel hadden die  De ontwikkelaars van \gnu\ en van de \linux\ kernel hadden die
415  bedoeling niet.  \gnu\ had als bedoeling vrije software te  bedoeling niet.  \gnu\ wou vrije software
416  ontwikkelen, en de kernel-ontwikkelaars wilden een kernel ontwikkelen  ontwikkelen, en de kernel-ontwikkelaars wilden een kernel ontwikkelen
417  die men kon gebruiken op een IBM compatibele pc.  die men kon gebruiken op een IBM compatibele pc.
418    
419  Later kwamen er bedrijven bij, zoals Red Hat, die als doel hadden de  Later kwamen er bedrijven bij, zoals Red Hat, die als doel hadden de
420  consument een \gl\ besturingssysteem te laten installeren op een even  consument een \gl\ besturingssysteem te laten installeren op een even
421  gemakkelijke manier als de andere besturingssystemen.  Doch door  gemakkelijke manier als de andere besturingssystemen.  Doch om
422  \'e\'en of andere reden heeft \gl\ zijn ``Alleen voor gurus'' imago  \'e\'en of andere reden heeft \gl\ zijn ``Alleen voor gurus'' imago
423  nog niet kunnen afschudden.  Of dat is toch de opinie die tot stand  nog niet kunnen afschudden.  Of dat is toch de opinie die tot stand
424  gekomen is door artikels in de populaire en niet-technische pers,  gekomen is door artikels in de populaire en niet-technische pers,
# Line 426  ontwikkelingen van \gl.  In deze cursus Line 428  ontwikkelingen van \gl.  In deze cursus
428  \section{\gl\ vandaag}  \section{\gl\ vandaag}
429  \label{sec:nu}  \label{sec:nu}
430    
431  Vandaag geniet \gl\ voor het merendeel een positieve aandacht in de  Vandaag geniet \gl\ voor het merendeel van een positieve aandacht in de
432  pers.  Dit komt vooral omdat \gl\ bewezen heeft een uitermate stabiel en  pers.  Dit komt vooral omdat \gl\ bewezen heeft een uitermate stabiel en
433  veelzijdig besturingssysteem te zijn, voornamelijk als netwerk server.  veelzijdig besturingssysteem te zijn, voornamelijk als netwerk server.
434    
# Line 437  korte periode van onderhoud. Line 439  korte periode van onderhoud.
439    
440  \gl\ kan gebruikt worden op een pc alsook als een netwerkserver voor een  \gl\ kan gebruikt worden op een pc alsook als een netwerkserver voor een
441  fractie van de kosten van andere software paketten.  Meer  fractie van de kosten van andere software paketten.  Meer
442  rendabiliteit en minder kosten---dit is ideaal.  rendabiliteit en minder kosten --- dit is ideaal.
443    
444  Zoals reeds gezegd wordt \gl\ gesitueerd in de \unix\ familie van  Zoals reeds gezegd wordt \gl\ gesitueerd in de \unix\ familie van
445  besturingssystemen.  \unix\ is vooral ontworpen om gebruikt te worden  besturingssystemen.  \unix\ is vooral ontworpen om gebruikt te worden
# Line 459  ge\"installeerd als eender welk besturin Line 461  ge\"installeerd als eender welk besturin
461  We hebben reeds gezien dat het \gl\ besturingssysteem bestaat uit twee  We hebben reeds gezien dat het \gl\ besturingssysteem bestaat uit twee
462  delen: de \gnu\ programma's en de \linux\ kernel.  Het is nu mogelijk  delen: de \gnu\ programma's en de \linux\ kernel.  Het is nu mogelijk
463  om te vertrekken van een klein \gl\ besturingssysteem op diskette of  om te vertrekken van een klein \gl\ besturingssysteem op diskette of
464  cd-rom en hieruit een volwaardig \gl\ besturingsysteem op te bouwen  cd-rom en hieruit een volwaardig \gl\ besturingsysteem op te bouwen.
465  dat zich op onze harde schijf plaatsvindt.  Dit is wel niet voor de  Dit is echter niet voor beginners!
 beginnende \gl\ gebruikers onder ons!  
466    
467  Daarom werden verschillende \gl\ distributies samengesteld door  Daarom werden verschillende \gl\ distributies samengesteld door
468  enerzijds bedrijven (b.v. Mandrake) en anderzijds vrijwilligers  enerzijds bedrijven (b.v. Mandrake) en anderzijds vrijwilligers
469  (b.v. het Debian project), die makkelijker te installeren zijn.  (b.v. het Debian project), die makkelijker te installeren zijn.
470    
471  Ze vertrekken ook van een minimaal \gl\ besturingssysteem op diskette  Ze vertrekken ook van een minimaal \gl\ besturingssysteem op diskette
472  of cd-rom, maar hebben ook nog een volledig installatieproces dat de  of cd-rom, maar hebben verder een volledig installatieprocedure dat de
473  \gl\ gebruiker toelaat \gl\ op een eenvoudige manier te installeren.  gebruiker toelaat \gl\ op een eenvoudige manier te installeren.
474    
475  In deze cursus bespreken we \begrip{Mandrake \gl} als \gl\  In deze cursus bespreken we \Begrip{Mandrake \gl} als \gl\
476  distributie voor de desktop computer en \begrip{\debian} als  distributie voor de desktop computer en \begrip{\debian} als
477  distributie voor de server computer.  distributie voor de server computer.
478    
# Line 482  Eerst en vooral is versie 9.0 de laatst Line 483  Eerst en vooral is versie 9.0 de laatst
483  Mandrake \gl\ tijdens het schrijven van dit document.  Mandrake \gl\ tijdens het schrijven van dit document.
484    
485  Zoals er windowsgebruikers van alle niveau's zijn, vinden we deze  Zoals er windowsgebruikers van alle niveau's zijn, vinden we deze
486  'indeling' ook terug onder de \gl\ gebruikers. Mandrake wordt zowel door  `indeling' ook terug onder de \gl\ gebruikers. Mandrake wordt zowel door
487  de nieuweling als door doorgewinterde admins gebruikt. Zowel op de  de nieuweling als door doorgewinterde admins gebruikt. Zowel op de
488  desktop als op het servergebied staat Mandrake zijn/haar mannetje.  desktop als op het servergebied staat Mandrake zijn mannetje.
489    
490  Het grootste voordeel van deze distributie is haar gebruiksgemak.  Het grootste voordeel van deze distributie is haar gebruiksgemak.
491   Naast de   Naast de
492  commandline bestaan er ook grafische configuratieprogramma's. We  commandline bestaan er grafische configuratieprogramma's. We
493  zouden haast kunnen vergeten dat er een toetsenbord aan uw computer  zouden haast kunnen vergeten dat er een toetsenbord aan onze computer
494  hangt. In tegenstelling tot Debian staat er een bedrijf achter Mandrake.  hangt. In tegenstelling tot Debian staat er een bedrijf achter Mandrake.
495  Hulp is altijd te vinden onder de gebruikers, maar als we wensen kunnen  Hulp is altijd te vinden onder de gebruikers of op de Mandrake website, maar als we wensen, kunnen
496  we bij Mandrake ook voor support betalen. Dit kan van belang zijn voor  we bij Mandrake ook betalen voor professionele ondersteuning.
497  bedrijven. Ofwel is het zelf uitzoeken op hun website een andere  Dit kan belangrijk zijn voor
498  mogelijkheid.  bedrijven.
499    
500  Mandrake installeren verschilt niet veel van het installeren van \win,  Mandrake installeren verschilt niet veel van \win installeren,
501  het verschil in gebruik is echter hemelsbreed. We kunnen dan wel een  het verschil in gebruik is echter hemelsbreed. We kunnen dan wel een
502  grafische manager zoals \win gebruiken,  grafische manager zoals \win gebruiken,
503  de blauwe schermen die een beetje spanning en opwinding in ons leven  de blauwe schermen die een beetje spanning en opwinding in ons leven
504  brachten zullen we vaarwel moeten zeggen. Hoewel niet crashvrij, is het  brachten zullen we vaarwel moeten zeggen. Hoewel niet crashvrij, is het
505  zeer moeilijk om uw volledige \gl\ systeem of uw data te verliezen.  zeer moeilijk om ons volledige \gl\ systeem of onze data te verliezen.
506    
507  In tegenstelling tot sommige andere distributies maken we met Mandrake  In tegenstelling tot sommige andere distributies maken we met Mandrake
508   een   een
# Line 523  voor de allerrecentste hardware. Line 524  voor de allerrecentste hardware.
524  \label{debianlogo}  \label{debianlogo}
525  \end{figure}  \end{figure}
526    
527  We kozen voor \debian\ om verschillende redenen:  Debian is een erg stabiel systeem. De Debian-ploeg neemt pas een programma
528  \begin{itemize}          op in de distributie als het een tijd getest is en stabiel gebleken. Het nadeel hiervan
529  \item De auteurs die dit stuk schreven waren vertrouwd met \debian          is dat je soms wat langer moet wachten eer nieuwe (versies van) programma's
530  \item Het \debian\ packaging systeem is het beste dat er bestaat          bij Debian te vinden zijn.
531   (volgens  
532  de auteurs toch).  Debian heeft een goed ontwikkeld pakketensysteem aan boord. Wil je een nieuw
533  \end{itemize}          programma installeren, dan zoekt het systeem zelf wel uit welke andere pakketten
534            daar eventueel voor nodig zijn en waar het die pakketten kan vinden. Andere
535            distributies hebben meestal ook wel een pakkettensysteem (een andere
536            populaire variant is het {\sc rpm} systeem, gebruikt door onder andere Red Hat,
537            Mandrake en SuSe), maar in onze ervaring is het bijvoorbeeld niet zo makkelijk
538            een Mandrake~8.0 up te graden naar een~9.0, iets wat met een Debian systeem
539            toch eenvoudiger schijnt.
540    
541    % Het volgende moet eruit, daar de drie delen redelijk onafhankelijk van elkaar worden gegeven.
542    
543    %We kozen voor \debian\ om verschillende redenen:
544    %\begin{itemize}
545    %\item De auteurs die dit stuk schreven zijn vertrouwd met \debian.
546    %\item Het \debian\ packaging systeem is het beste dat er bestaat.
547    %\end{itemize}
548    
 Meer over \debian\ in deel \ref{part:server}.  
549    
550  \section{Andere \gl\ distributies}  \section{Andere \gl\ distributies}
551    
# Line 546  rekening houden: Line 560  rekening houden:
560  \item[Onze buur] Het is aan te raden dezelfde distributie te kiezen  \item[Onze buur] Het is aan te raden dezelfde distributie te kiezen
561    die een buurman of vriend gebruikt (tenzij die natuurlijk \win\    die een buurman of vriend gebruikt (tenzij die natuurlijk \win\
562    gebruiken, dan moeten we op hun computer ook \gl\ installeren).  Dit    gebruiken, dan moeten we op hun computer ook \gl\ installeren).  Dit
563    omdat wanneer we iets niet weten onze buurman het misschien wel zal    omdat wanneer we iets niet weten, onze buurman het misschien wel zal
564    weten, tevens stijgt de kans dat onze buurman ons kan helpen    weten. Tevens stijgt de kans dat onze buurman ons kan helpen
565    exponentieel als hij al langer dan ons \gl\ gebruikt.    als hij al langer dan ons \gl\ gebruikt.
566  \item[Hardware] Een volgend belangrijk punt is  \item[Hardware] Een volgend belangrijk punt is
567    \begrip{hardwareondersteuning}.  We doen er goed aan eerst uit te    \begrip{hardwareondersteuning}.  We doen er goed aan eerst uit te
568    zoeken of onze hardware wordt ondersteund.  Dit kunnen we doen door    zoeken of onze hardware wordt ondersteund.  Dit kunnen we doen door
# Line 557  rekening houden: Line 571  rekening houden:
571    specifieke \gl\ distributie en op de webstek van onze hardware    specifieke \gl\ distributie en op de webstek van onze hardware
572    producent.    producent.
573    
574  Laptop gebruikers kunnen ten rade gaan op de \linux\ on Laptops website:  Laptop gebruikers kunnen ten rade gaan op de \engels{\linux\ on Laptops} website:
575  \url{http://www.linux-laptop.net/}.  \url{http://www.linux-laptop.net/}.
576    
577  Als we geen al te exotische hardware gebruiken zal \gl\ werken op onze  Als we geen al te exotische hardware gebruiken zal \gl\ werken op onze
# Line 570  Internet. Line 584  Internet.
584    computer dan nemen we niet de laatste \gl\ distributie, maar een    computer dan nemen we niet de laatste \gl\ distributie, maar een
585    iets oudere.  Bij de meeste \gl\ distributies hebben de recentste    iets oudere.  Bij de meeste \gl\ distributies hebben de recentste
586    uitgaven alleen nieuwe (en meestal dus ook zwaardere) software.    uitgaven alleen nieuwe (en meestal dus ook zwaardere) software.
587  \item[Moeilijkheidsgraad] Mandrake \linux\ staat ervoor bekend een  \item[Moeilijkheidsgraad] Mandrake en Red Hat hebben de naam
588    beginnersvriendelijke \gl\ distributie te zijn, zoals Red Hat.    beginnersvriendelijke \gl\ distributies te zijn.
589    \debian\ daarentegen is niet zozeer beginnersvriendelijk maar zeer    \debian\ daarentegen is niet zozeer beginnersvriendelijk maar zeer
590    stabiel en geschikt voor servers.    stabiel en geschikt voor servers.
591    
# Line 580  Internet. Line 594  Internet.
594  We verwijzen nogmaals naar de \url{http://www.distrowatch.com} webstek  We verwijzen nogmaals naar de \url{http://www.distrowatch.com} webstek
595  voor een up to date overzicht van de verschillende \gl\ distributies.  voor een up to date overzicht van de verschillende \gl\ distributies.
596    
   
   
597  \chapter{Waar en hoe uitgebreide informatie vinden}  \chapter{Waar en hoe uitgebreide informatie vinden}
598  \label{ch:info}  \label{ch:info}
599    
600  \citaatnn{manual, n.:\\  \citaatnn{manual, n.:\\
601  A unit of documentation.  There are always three or more on a given  A unit of documentation.\\There are always three or more on a given
602  item.  One is on the shelf; someone has the others.  The information  item.\\One is on the shelf; someone has the others.\\The information
603  you need is in the others.}{Ray Simard}  you need is in the others.}{Ray Simard}
604    
605  Wat in dit hoofdstuk volgt is het op \'e\'en na belangrijkste  Wat in dit hoofdstuk volgt is het op \'e\'en na belangrijkste
606  hoofdstuk in dit deel.  We zullen uitleggen waar we informatie kunnen  hoofdstuk van dit deel.  We zullen uitleggen waar we informatie kunnen
607  opzoeken over \gl.  opzoeken over \gl.
608    
609  \section{The Linux Documentation Project (TLDP)}  \section{The Linux Documentation Project (TLDP)}
610    
611  Een eerste startpunt voor informatie over \gl\ is \begrip{The Linux  Een eerste startpunt voor informatie over \gl\ is \Begrip{The Linux
612  Documentation Project}: \url{http://www.tldp.org/}.  Documentation Project}\index{Linux Documentation Project}\index{TLDP}: \url{http://www.tldp.org/}.
613    
614  TLDP heeft als doel het ontwikkelen van vrije, kwalitatieve  TLDP heeft als doel het ontwikkelen van vrije, kwalitatieve
615  documentatie voor het \gl\ besturingssysteem.  Dit houdt onder andere  documentatie voor het \gl\ besturingssysteem.  Dit houdt onder andere
616  het cre\"eren van ``\begrip{HOWTOs}'' en ``\begrip{Guides}'' in. Zo  het cre\"eren van ``\Begrip{HOWTOs}'' en ``\Begrip{Guides}'' in. Zo
617  hopen ze een systeem van documentatie op te zetten voor \gl\ dat  hopen ze een systeem van documentatie op te zetten voor \gl\ dat
618  gemakkelijk te gebruiken en te doorzoeken is.  Dit houdt ook de  gemakkelijk te gebruiken en te doorzoeken is.  Dit houdt ook de
619  integratie in van de \begrip{Manual pages}, info docs en andere  integratie in van de \Begrip{manual pages}, \Begrip{info docs} en andere
620  documenten.  documenten.
621    
622  TLDP bestaat vooral uit vrijwilligers met een minimale centrale  TLDP bestaat vooral uit vrijwilligers met een minimale centrale
623  organisatie.  Iedereen die wil meehelpen wordt dan ook uitgenodigd.  organisatie.  Iedereen die wil meehelpen wordt dan ook uitgenodigd.
624    
625  De \linux\ \begrip{HOWTOs} en \begrip{mini-HOWTOs} zijn  De \linux\ \Begrip{HOWTOs} en \Begrip{mini-HOWTOs} zijn
626  gedetailleerde ``how to'' documenten over specifieke onderwerpen.  De  gedetailleerde ``how to'' documenten over specifieke onderwerpen.  De
627  HOWTOs worden geschreven in SGML (een soort opmaak taal) en worden  HOWTOs worden geschreven in SGML (een soort opmaak taal) en worden
628  vertaald naar verschillende formaten door gebruik te maken van  vertaald naar verschillende formaten door gebruik te maken van
629  SGML-tools (Linuxdoc DTD) of door DocBook/DSSSL tools te gebruiken.  SGML-tools (Linuxdoc DTD) of DocBook/DSSSL tools.
630    
631  Hierdoor is het mogelijk de HOWTOs en de mini-HOWTOs te raadplegen in  Hierdoor is het mogelijk de HOWTOs en de mini-HOWTOs te raadplegen in
632  volgende formaten:  volgende formaten:
# Line 631  Wat volgt is een overzicht van de belang Line 643  Wat volgt is een overzicht van de belang
643    
644  \subsection{HOWTOs}  \subsection{HOWTOs}
645    
646  De \begrip{HOWTO}s kunnen we downloaden van of bekijken op de TLDP  De \begrip{HOWTOs} kunnen we downloaden van, of bekijken op de TLDP
647  webstek.  Er zijn tevens ook nog verschillende andere webstekken die  webstek.  Er zijn tevens nog verschillende andere webstekken die
648  deze service aanbieden.  deze service aanbieden.
649    
650  \begin{description}  \begin{description}
# Line 641  deze service aanbieden. Line 653  deze service aanbieden.
653  \item[Adv-Routing-HOWTO] Een zeer handige stap voor stap uitleg over  \item[Adv-Routing-HOWTO] Een zeer handige stap voor stap uitleg over
654    \begrip{iproute2}, trafiek controle en een stuk over netfilter.    \begrip{iproute2}, trafiek controle en een stuk over netfilter.
655  \item[Apache-Compile-HOWTO] Beschrijving hoe we de \begrip{web server}  \item[Apache-Compile-HOWTO] Beschrijving hoe we de \begrip{web server}
656    \begrip{Apache} compileren met belangrijke modules zoals mod\_perl,    \Begrip{Apache}\index{apache}\ compileren met belangrijke modules zoals mod\_perl,
657    mod\_dav, mod\_auth\_ldap, mod\_dynvhost, mod\_roaming,    mod\_dav, mod\_auth\_ldap, mod\_dynvhost, mod\_roaming,
658    mod\_jserv en mod\_php.    mod\_jserv en mod\_php.
659  \item[Apache-Overview-HOWTO] Overzicht van de Apache web server en  \item[Apache-Overview-HOWTO] Overzicht van de Apache web server en
# Line 653  deze service aanbieden. Line 665  deze service aanbieden.
665  \item[CD-Writing-HOWTO] Legt uit hoe we CD-ROMs moeten schrijven onder  \item[CD-Writing-HOWTO] Legt uit hoe we CD-ROMs moeten schrijven onder
666    \gl.    \gl.
667  \item[Config-HOWTO] Probeert uit te leggen hoe we ons zopas  \item[Config-HOWTO] Probeert uit te leggen hoe we ons zopas
668    ge\"installeerde \gl\ systeem ``fine-tunen''.  Geeft ook een    ge\"installeerde \gl\ systeem \engels{fine tunen}.  Geeft ook een
669    verzameling van configuratie bestanden voor de meest voorkomende    verzameling van configuratie bestanden voor de meest voorkomende
670    programma's en services.    programma's en services.
671  \item[DNS-HOWTO] Hoe we een DNS service opzetten.  \item[DNS-HOWTO] Hoe we een DNS service opzetten.
672  \item[DOS-Win-to-Linux-HOWTO] Speciaal geschreven voor alle DOS en  \item[DOS-Win-to-Linux-HOWTO] Speciaal geschreven voor alle DOS en
673    \win gebruikers die beslist hebben om over te stappen naar \gl.    \win gebruikers die beslist hebben om over te stappen naar \gl.
674  \item[Firewall-HOWTO] Hoe we een \begrip{firewall} opzetten.  \item[Firewall-HOWTO] Hoe we een \begrip{firewall} opzetten.
675  \item[Hardware-HOWTO] Lijst van de meest door \linux\ gesupporteerde  \item[Hardware-HOWTO] Lijst van de meest door \linux\ ondersteunde
676    \begrip{hardware} en een nuttige hulp bij het lokaliseren van de    \begrip{hardware} en hulp bij het lokaliseren van de
677    nodige \begrip{drivers}.    nodige \begrip{drivers}.
678  \item[IP-Masquerade-HOWTO] Legt uit hoe we \linux\ \begrip{IP  \item[IP-Masquerade-HOWTO] Legt uit hoe we \linux\ \begrip{IP
679      Masquerade} aanzetten op een gegeven \linux\ systeem.      Masquerade} aanzetten op een gegeven \linux\ systeem.
# Line 673  deze service aanbieden. Line 685  deze service aanbieden.
685  \item[Sound-HOWTO]  Beschrijft de geluidsondersteuning voor \linux\ (hardware,  \item[Sound-HOWTO]  Beschrijft de geluidsondersteuning voor \linux\ (hardware,
686  configuratie, \ldots).  configuratie, \ldots).
687  \item[TeTeX-HOWTO] Omvat de basis installatie en gebruik van het het  \item[TeTeX-HOWTO] Omvat de basis installatie en gebruik van het het
688    \begrip{teTeX} \begrip{TeX} en \begrip{\LaTeX} systeem, plus    \begrip{TeTeX} \begrip{TeX} en \Begrip{LaTeX}\index{latex@\LaTeX} systeem, plus
689    bijkomende pakketten zoals Ghostscript.    bijkomende pakketten zoals Ghostscript.
690  \item[Xinerama-HOWTO] Configuratie van XFree86 Version 4.0 met  \item[Xinerama-HOWTO] Configuratie van XFree86 Version 4.0 met
691    meerdere monitors en de \begrip{Xinerama} extensies.    meerdere monitors en de \Begrip{Xinerama}\index{xinerama}\ extensies.
692  \end{description}  \end{description}
693    
694  \subsection{Mini-HOWTOs}  \subsection{Mini-HOWTOs}
# Line 687  webstek van TLDP staan er nog veel meer. Line 699  webstek van TLDP staan er nog veel meer.
699  \begin{description}  \begin{description}
700  \item[3-Button-Mouse] Hoe we een muis met drie knoppen kunt laten  \item[3-Button-Mouse] Hoe we een muis met drie knoppen kunt laten
701    werken onder \gl.    werken onder \gl.
702  \item[Advocacy] Suggesties voor de \gl\ community hoe ze het \gl\  \item[Advocacy] Suggesties voor de \gl\ community: hoe ze het \gl\
703    woord kunnen verkondigen.    woord kunnen verkondigen.
704  \item[Alsa-sound] Beschrijft de installatie van de \begrip{ALSA}  \item[Alsa-sound] Beschrijft de installatie van de \begrip{ALSA}
705    geluidsdrivers voor \linux.    geluidsdrivers voor \linux.
706  \item[BackspaceDelete] Oplossingen om werkende Backspace en Delete  \item[BackspaceDelete] Oplossingen om werkende Backspace en Delete
707    toetsen te hebben op de console en onder X.    toetsen te hebben op de console en onder X.
708  \item[DHCP] Beantwoordt de basisvragen over hoe we een \begrip{DHCP  \item[DHCP] Beantwoordt de basisvragen over hoe we een \Begrip{DHCP
709      server} en \begrip{DHCP client} opzetten.      server} en \Begrip{DHCP client} opzetten.\index{DHCP}
710  \item[Euro-Char-Support] Beschrijving hoe we ondersteuning voor het  \item[Euro-Char-Support] Beschrijving hoe we ondersteuning voor het
711    Euro-teken aanzetten onder \gl.    Euro-teken aanzetten onder \gl.\index{euro}
712  \item[Install-Strategies] Bespreking van enkele  \item[Install-Strategies] Bespreking van enkele
713    installatiestrategi\"en voor diegenen die willen    installatiestrategi\"en voor diegenen die willen
714    \begrip{dualbooten} tussen \gl\ en \win.    \begrip{dualbooten} tussen \gl\ en \win.
715  \item[LILO] Het gebruik van \begrip{LILO} (Linux Loader).  \item[LILO] Het gebruik van \Begrip{LILO}\index{lilo}\ (Linux Loader).
716  \item[Multiboot-with-LILO] Hoe te multibooten tussen \win\ 9X, \win\  \item[Multiboot-with-LILO] Hoe te multibooten tussen \win\ 9X, \win\
717    NT en \gl.    NT en \gl.
718  \item[Partition] Hoe we het best onze harde schijf indelen.  \item[Partition] Hoe we het best onze harde schijf indelen.
# Line 716  Ze gaan ook dieper op de materie in. Line 728  Ze gaan ook dieper op de materie in.
728  \item[Advanced Bash-Scripting Guide] Dit document is tegelijkertijd  \item[Advanced Bash-Scripting Guide] Dit document is tegelijkertijd
729    een tutorial als een referentiewerk voor Bash shell scripting.  Het    een tutorial als een referentiewerk voor Bash shell scripting.  Het
730    vereist geen voorkennis van shell scripting maar bezorgt ons op    vereist geen voorkennis van shell scripting maar bezorgt ons op
731    korte tijd een degelijke onderbouw.  Het staat ook vol van goed    korte tijd een degelijke onderbouw.  Het staat ook vol goed
732    becommentarieerde voorbeelden.    becommentarieerde voorbeelden.
733  \item[\begrip{Linux From Scratch}] Dit boek beschrijft het proces om  \item[\begrip{Linux From Scratch}] Dit boek beschrijft het proces om
734    ons eigen \gl\ besturingssysteem te maken door alleen maar gebruik    ons eigen \gl\ besturingssysteem te maken door alleen maar gebruik
735    te maken van de broncode.    te maken van broncode.
736  \item[The Linux Cookbook: Tips and Techniques for Everyday Use] Meer  \item[The Linux Cookbook: Tips and Techniques for Everyday Use] Meer
737    dan $1500$ tijdbesparende tips en recepten voor moderne    dan $1500$ tijdbesparende tips en recepten voor moderne
738    computergebruikers.    computergebruikers.
# Line 742  Answers, \linux-RAID FAQ, The Wine FAQ. Line 754  Answers, \linux-RAID FAQ, The Wine FAQ.
754    
755  \subsection{De man pagina's}  \subsection{De man pagina's}
756    
757  \begrip{man} pagina's zijn de hulppagina's die bij een programma horen.  Zie  \Begrip{Man} pagina's zijn de hulppagina's die bij een programma horen.  Zie sectie
758  \ref{mangebruiken} voor het gebruik ervan.  De meeste programma's bevatten een  \ref{mangebruiken} voor het gebruik ervan.  De meeste programma's bevatten een
759  man pagina, hierin vinden we dan een korte uitleg wat het programma  man pagina, hierin vinden we dan een korte uitleg wat het programma
760  doet en hoe we het gebruiken.  We vinden er meestal ook een opsomming  doet en hoe we het gebruiken.  We vinden er meestal ook een opsomming
761  van alle opties.  van alle opties.\index{man}
762    
763  \subsection{Linux gazette}  \subsection{Linux gazette}
764    
765  \begrip{Linux Gazette} is een on line magazine dat telkens voorzien is van  \begrip{Linux Gazette} is een on line magazine dat telkens voorzien is van
766  \gl\ tips en trucs.  Via de TLDP webstek kunnen we de huidige editie  \gl\ tips en trucs.  Via de TLDP webstek kunnen we de huidige editie
767  raadplegen of ook alle voorbije edities.  raadplegen en ook alle voorbije edities.
768    
769  \subsection{Linux focus}  \subsection{Linux focus}
770    
771  \begrip{Linux focus} is ook een on line magazine die volledig gedragen wordt  \begrip{Linux focus} is ook een on line magazine die volledig gedragen wordt
772  door vrijwilligers. Het is een waar internationaal en gratis  door vrijwilligers. Het is een waar internationaal en gratis
773  initiatief.  Tevens wordt bijna iedere editie volledig naar het  initiatief.  Tevens wordt bijna iedere editie volledig naar het
774  Nederlands vertaald door de vrijwilligers.  Nederlands vertaald door vrijwilligers.
775    
776  \section{Nieuwsgroepen}  \section{Nieuwsgroepen}
777    
# Line 771  nieuwsgroepen on line raadplegen. Line 783  nieuwsgroepen on line raadplegen.
783  \subsection{gnu.*}  \subsection{gnu.*}
784    
785  De nieuwsgroepen die beginnen met gnu.* handelen over de \gnu.  Hier  De nieuwsgroepen die beginnen met gnu.* handelen over de \gnu.  Hier
786  vinden we onder andere discussies over bepaalde \gnu software.  vinden we onder andere discussies over bepaalde \gnu\ software.
787    
788  \subsection{comp.os.linux.*}  \subsection{comp.os.linux.*}
789    
# Line 805  vinden we onder andere discussies over b Line 817  vinden we onder andere discussies over b
817  \subsection{be.comp.os.linux}  \subsection{be.comp.os.linux}
818  Onze eigenste Belgische \linux nieuwsgroep.  Op  Onze eigenste Belgische \linux nieuwsgroep.  Op
819  \url{http://lugwv.be/~swift/bcol/} vinden we alvast de FAQ van deze  \url{http://lugwv.be/~swift/bcol/} vinden we alvast de FAQ van deze
820  nieuwsgroep.  Iedereen die op deze nieuwsgroep iets wil posten leest  nieuwsgroep.  Iedereen die iets wil posten leest die FAQ best eens door.
 best eens de FAQ door.  
821    
822  \section{Google}  \section{Google}
823    
# Line 832  Op het Internet zijn er verschillende we Line 843  Op het Internet zijn er verschillende we
843    
844  Op \url{http://dag.wieers.be/} vinden we de webstek van de  Op \url{http://dag.wieers.be/} vinden we de webstek van de
845  \begrip{Belgian HOWTO}  \begrip{Belgian HOWTO}
846  \subsection{ZeusWPI}  
847    \subsection{ZeusWPI}\index{ZeusWPI}
848    
849  De webstek van ZeusWPI (\url{http://www.zeus.rug.ac.be/} bevat ook  De webstek van ZeusWPI (\url{http://www.zeus.rug.ac.be/} bevat ook
850  enkele cursussen (\url{http://www.zeus.rug.ac.be/pub.shtml}) over \gl.  enkele cursussen (\url{http://www.zeus.rug.ac.be/pub.shtml}) over \gl.
851    
852  \subsection{Linux.org}  \subsection{Linux.org}
853    
854  \url{http://www.linux.org/} is ook een goed startpunt.  \url{http://www.linux.org/} is een goed startpunt.
855    
856  \section{LUGs}  \section{LUGs}
857    
858  \begrip{\linux\ User Groups} zijn verenigingen waar \linux\ gebruikers  \Begrip{\linux\ User Groups}\index{LUGs}\ zijn verenigingen waar \linux\ gebruikers
859  samenkomen.  In de Belgian HOWTO vinden we een overzichtje van de  samenkomen.  In de Belgian HOWTO vinden we een overzichtje van de
860  Belgische LUGs.  Belgische LUGs.
861    
   
862  \chapter{Ontstaan van \gl}  \chapter{Ontstaan van \gl}
863  \label{ontstaan}  \label{ontstaan}
864    
# Line 867  aangepast was aan hun eigen gebruiken en Line 878  aangepast was aan hun eigen gebruiken en
878  Universiteiten, onderzoeksinstituten, openbare diensten en computer  Universiteiten, onderzoeksinstituten, openbare diensten en computer
879  bedrijven begonnen allemaal het zeer krachtige \unix\  bedrijven begonnen allemaal het zeer krachtige \unix\
880  besturingssysteem te gebruiken om vele van de nu gebruikte  besturingssysteem te gebruiken om vele van de nu gebruikte
881  technologi\"en te ontwikkelen die nu een deel zijn van \unix.  technologi\"en te ontwikkelen.
882    
883  \unix\ wordt tot op vandaag nog steeds verder ontwikkeld.  Als iemand  \unix\ wordt tot op vandaag nog steeds verder ontwikkeld.  Als iemand
884  beweert dat hij \unix\ gebruikt gebruikt hij in feite een afgeleide  beweert dat hij \unix\ gebruikt, gebruikt hij in feite een afgeleide
885  versie ervan.  De originele \unix\ bestaat niet meer.  versie ervan.  De originele \unix\ bestaat niet meer.
886    
   
887  \section{\gnu}  \section{\gnu}
888    
889  \begin{urlbox}  \begin{urlbox}
890  \url{http://www.gnu.org/gnu/manifesto.nl.html}  \url{http://www.gnu.org/gnu/manifesto.nl.html}
891  \end{urlbox}  \end{urlbox}
892    
893  Het \gnu\ Manifest, hieronder, zoals beschreven in  Het \gnu\ Manifest, zoals beschreven in sectie
894  \ref{sec:gnu-manifest}, is geschreven door Richard Stallman (figuur  \ref{sec:gnu-manifest}, is geschreven door Richard Stallman (figuur
895  \ref{rms}) aan het begin van het \gnu\ Project.  Het heeft als doel  \ref{rms}) aan het begin van het \gnu\ Project.  Het heeft als doel
896  deelnemers en steun te vragen. De eerste paar jaren werd dit document  deelnemers en steun te vragen. De eerste paar jaren werd dit document
897  regelmatig bijgewerkt om het relevant te houden, maar nu lijkt het het  regelmatig bijgewerkt om het relevant te houden, maar nu lijkt het het
898  beste om het in de oorspronkelijke vorm aan te bieden.  beste om het in de oorspronkelijke vorm aan te bieden.
899    
900    
901  \begin{figure}  \begin{figure}
902  \center  \begin{center}
903  \includegraphics{inleiding/rms.jpg}  \begin{tabular}{cc}
904  \caption{Richard Stallman}  \includegraphics[height=4cm]{inleiding/rms.jpg}
905  \label{rms}  & \includegraphics[height=4cm]{inleiding/torvalds.jpg}
906    \end{tabular}
907    \caption{Links: Richard M. Stallman; rechts: Linus Torvalds.}
908    \label{rms}\label{torvals}
909    \end{center}
910  \end{figure}  \end{figure}
911    
   
912  \subsection{\gnu\ Manifest}  \subsection{\gnu\ Manifest}
913  \label{sec:gnu-manifest}  \label{sec:gnu-manifest}
914    
915  Op \url{http://www.gnu.org/gnu/manifesto.nl.html} vinden we het  Op \url{http://www.gnu.org/gnu/manifesto.nl.html} vinden we het
916  \begrip{\gnu\ Manifest}.  \Begrip{\gnu\ Manifest}.
917    
918  \subsection{Meer \gnu\ informatie}  \subsection{Meer \gnu\ informatie}
919    
920  \url{http://www.gnu.org/gnu/thegnuproject.html} geeft een zeer  \url{http://www.gnu.org/gnu/thegnuproject.html} geeft een zeer
921  uitgebreide uiteenzetting over het ontstaan van het \gnu\ project.  uitgebreide uiteenzetting over het ontstaan van het \gnu\ project.
922    
923  Tijdens de cursus geven we een korte schets van het ontstaan van het  %% Zou kunnen. Maar deze informatie is hier niet relevant.
924  \gnu\ project.  %Tijdens de cursus geven we een korte schets van het ontstaan van het
925    %\gnu\ project.
926    
927  \section{\linux}  \section{\linux}
928    
929  Zoals we reeds vertelden is \linux\ de kernel van het \gl\  Linux is de kernel van het \gl\
930  besturingssysteem.  De \linux\ kernel werd ontwikkeld door Linus  besturingssysteem.  De \linux\ kernel werd ontwikkeld door Linus
931  Torvalds (figuur \ref{torvals}) in 1991, toen een student aan de  Torvalds (figuur \ref{torvals}) in 1991, toen student aan de
932  universiteit van Helsinki.  universiteit van Helsinki.
933    
934  Hij was begonnen met de ontwikkeling van \linux\ omdat hij ontevreden  Hij was begonnen met de ontwikkeling van \linux\ omdat hij ontevreden
# Line 923  besturingssysteem. Line 938  besturingssysteem.
938  Vandaag de dag wordt er verder ontwikkeld aan \linux\ door honderden  Vandaag de dag wordt er verder ontwikkeld aan \linux\ door honderden
939  ontwikkelaars.  ontwikkelaars.
940    
 \begin{figure}  
 \center  
 \includegraphics{inleiding/torvalds.jpg}  
 \caption{Linus Torvalds}  
 \label{torvals}  
 \end{figure}  
941    
942  \section{\gl\ en niet \linux\ alleen}  \section{\gl\ en niet \linux\ alleen}
943    
# Line 943  Op \url{http://www.gnu.org/gnu/why-gnu-l Line 952  Op \url{http://www.gnu.org/gnu/why-gnu-l
952  \url{http://www.gnu.org/gnu/linux-and-gnu.html}  \url{http://www.gnu.org/gnu/linux-and-gnu.html}
953  staat er heel duidelijk uitgelegd waarom we dit doen.  staat er heel duidelijk uitgelegd waarom we dit doen.
954    
955  Kort gezegd: wij (en de rest van de GNU gemeenschap) zijn van oordeel  Kort gezegd: wij (en de rest van de GNU gemeenschap) zijn van oordeel dat
956  als iemand \linux\ zegt als hij het over \gl\ heeft geen krediet  als iemand \linux\ zegt als hij het over \gl\ heeft, hij geen krediet
957  wil geven aan het \gnu\ project. Zonder \gnu\ was er nooit een \linux\  geeft aan het \gnu\ project. Zonder \gnu\ was er nooit een \linux\
958  kernel gekomen. Wij laten het niet toe dat \gnu\ vergeten wordt!  kernel gekomen. Wij laten het niet toe dat \gnu\ vergeten wordt!
959    
960  \Begrip{Zonder \gnu\ was de hele filosofie omtrent vrije software er  \Begrip{Zonder \gnu\ was de hele filosofie omtrent vrije software er
# Line 958  kernel gekomen. Wij laten het niet toe d Line 967  kernel gekomen. Wij laten het niet toe d
967  \label{duo}  \label{duo}
968  \end{figure}  \end{figure}
969    
970    \chapter{Vrije versus opensource software}
971    
972    \citaatnnn{Never trust an operating system you don't have sources for.}
973    
974  \chapter{Vrije software}  \section{Vrije software}
975    
976  \citaatnn{Today we no longer have any copies of Unix, because  \citaatnn{Today we no longer have any copies of Unix, because
977  we have replaced them with free operating systems. If we could not  we have replaced them with free operating systems.\\If we could not
978  replace a machine's operating system with a free one, we replaced the  replace a machine's operating system with a free one, we replaced the
979  machine instead.}{Richard Stallman}  machine instead.}{Richard Stallman}
980    
# Line 980  Copyright (C) 1996, 1997, 1998, 1999, 20 Line 991  Copyright (C) 1996, 1997, 1998, 1999, 20
991    
992  ``Free software'' (vrije software) slaat op vrijheid, niet op prijs.  ``Free software'' (vrije software) slaat op vrijheid, niet op prijs.
993  Om het in context te zien: ``free speech'', in plaats van ``free  Om het in context te zien: ``free speech'', in plaats van ``free
994  beer''. ``Vrije software'' slaat op het recht van de gebruiker om de  beer'' --- ``Vrije meningsuiting'' in plaats van ``Brood en Spelen {\scriptsize{en zwijgen}}''.
995    ``Vrije software'' slaat op het recht van de gebruiker om de
996  software te gebruiken, kopi\"eren, verspreiden, bestuderen, veranderen  software te gebruiken, kopi\"eren, verspreiden, bestuderen, veranderen
997  en verbeteren. Kort samengevat in vier punten:  en verbeteren. Kort samengevat in vier punten:
998  \begin{itemize}  \begin{itemize}
# Line 999  Een programma valt onder de noemer ``vri Line 1011  Een programma valt onder de noemer ``vri
1011  gebruikers al deze vrijheden hebben. Dus je zou het moeten kunnen  gebruikers al deze vrijheden hebben. Dus je zou het moeten kunnen
1012  kopi\"eren, met of zonder veranderingen, en aan iedereen kunnen geven,  kopi\"eren, met of zonder veranderingen, en aan iedereen kunnen geven,
1013  gratis, of tegen betaling.  Het betekent ook dat je niet om  gratis, of tegen betaling.  Het betekent ook dat je niet om
1014  toestemming hoeft te vragen als je dit wilt doen.  toestemming hoeft te vragen als je dit wil doen.
1015    
1016  Je zou ook de vrijheid moeten hebben om veranderingen aan te brengen  Je zou ook de vrijheid moeten hebben om veranderingen aan te brengen
1017  voor eigen gebruik, zonder zelfs maar te hoeven vertellen dat je ze  voor eigen gebruik, zonder zelfs maar te hoeven vertellen dat je ze
# Line 1016  ontvangen hebt, je hebt altijd het recht Line 1028  ontvangen hebt, je hebt altijd het recht
1028  en te veranderen.  en te veranderen.
1029    
1030  Om deze vrijheden te beschermen, moeten ze onschendbaar zijn, zolang  Om deze vrijheden te beschermen, moeten ze onschendbaar zijn, zolang
1031  de gebruiker niks verkeerds doet; Als de auteur van de software de  de gebruiker niets verkeerds doet. Als de auteur van de software de
1032  mogelijkheid heeft de licentie in te trekken, hoewel je daarvoor geen  mogelijkheid heeft de licentie in te trekken, hoewel je daarvoor geen
1033  aanleiding hebt gegeven, is de software niet vrij.  aanleiding hebt gegeven, is de software niet vrij.
1034    
1035  Echter, sommige regels voor het verspreiden van software zijn  Echter, sommige regels voor het verspreiden van software zijn
1036  acceptabel, als deze niet in conflict zijn met de centrale vrijheden.  acceptabel, als deze niet in conflict zijn met de centrale vrijheden.
1037  \begrip{Copyleft}, bijvoorbeeld, is de regel dat iemand die het  \Begrip{Copyleft}, bijvoorbeeld, is de regel dat iemand die het
1038  programma verspreid geen beperkingen op het gebruik kan toebrengen die  programma verspreid geen beperkingen op het gebruik kan toebrengen die
1039  de centrale vrijheden aan anderen ontzegt. Deze regel is niet in  de centrale vrijheden aan anderen ontzegt. Deze regel is niet in
1040  conflict met de centrale vrijheden.  conflict met de centrale vrijheden.
# Line 1053  gebruik van de software. Line 1065  gebruik van de software.
1065    
1066  Wanneer gesproken wordt over vrije software is het raadzaam termen als  Wanneer gesproken wordt over vrije software is het raadzaam termen als
1067  ``gratis'' te vermijden, omdat deze de suggestie wekken dat vrije  ``gratis'' te vermijden, omdat deze de suggestie wekken dat vrije
1068  software altijd kosteloos is; dit is niet het geval.  Om termen als  software altijd kosteloos is; dit is niet het geval.
1069    
1070    Om termen als
1071  ``softwarepiraterij'' kan ook het best met een grote boog omheen  ``softwarepiraterij'' kan ook het best met een grote boog omheen
1072  worden gezeild.  worden gezeild.
1073    
1074  \chapter{Wat is opensource?}  \section{Wat is opensource?}
   
 \citaatnnn{Never trust an operating system you don't have sources for.}  
1075    
1076  Vaak wordt er ook gesproken over opensource als vrije software bedoeld  Vaak wordt er ook gesproken over opensource als vrije software bedoeld
1077  wordt. Hieronder staat de precieze definitie van opensource.  Dit  wordt. Hieronder staat de precieze definitie van opensource.  Dit
# Line 1069  opensource software. Line 1081  opensource software.
1081  Dit is een iets leesbaardere versie van op  Dit is een iets leesbaardere versie van op
1082  \url{http://www.opensource.org/docs/osd-dutch.php}  \url{http://www.opensource.org/docs/osd-dutch.php}
1083    
1084  \section{De opensource definitie}  \subsection{De opensource definitie}
1085  Opensource betekent niet slechts toegang tot de broncode. De  Opensource betekent niet slechts toegang tot de broncode. De
1086  distributievoorwaarden van opensource software moeten voldoen aan de  distributievoorwaarden van opensource software moeten voldoen aan de
1087  volgende criteria:  volgende criteria:
1088    
1089  \subsection{Vrije herdistributie}  \subsubsection{Vrije herdistributie}
1090  De licentie mag geen enkele partij beperken in het verkopen of  De licentie mag geen enkele partij beperken in het verkopen of
1091  weggeven van de software als een component van een softwaredistributie  weggeven van de software als een component van een softwaredistributie
1092  die is samengesteld uit programma's uit meerdere verschillende  die is samengesteld uit programma's uit meerdere verschillende
1093  bronnen. De licentie mag geen aandeel in de opbrengst of andere  bronnen. De licentie mag geen aandeel in de opbrengst of andere
1094  honorarium eisen voor zo'n verkoop.  honorarium eisen voor zo'n verkoop.
1095    
1096  \subsection{Broncode}  \subsubsection{Broncode}
1097  Het programma moet de broncode bevatten en moet de distributie van  Het programma moet de broncode bevatten en moet de distributie van
1098  zowel broncode als in gecompileerde vorm toestaan. Als een vorm van  zowel broncode als in gecompileerde vorm toestaan. Als een vorm van
1099  het product wordt verspreid zonder broncode, moet er een duidelijke  het product wordt verspreid zonder broncode, moet er een duidelijke
# Line 1092  zou aanpassen. Opzettelijk vertroebelde Line 1104  zou aanpassen. Opzettelijk vertroebelde
1104  toegestaan. Tussenvormen zoals uitvoer van een preprocessor of  toegestaan. Tussenvormen zoals uitvoer van een preprocessor of
1105  vertaler zijn niet toegestaan.  vertaler zijn niet toegestaan.
1106    
1107  \subsection{Afgeleide werken}  \subsubsection{Afgeleide werken}
1108  De licentie moet aanpassingen en afgeleide werken toestaan, en moet  De licentie moet aanpassingen en afgeleide werken toestaan, en moet
1109  toestaan dat deze worden verspreid onder dezelfde voorwaarden als de  toestaan dat deze worden verspreid onder dezelfde voorwaarden als de
1110  licentie van de originele software.  licentie van de originele software.
1111    
1112  \subsection{Integriteit van de broncode van de auteur}  \subsubsection{Integriteit van de broncode van de auteur}
1113  De licentie mag de verspreiding van de aangepaste broncode alleen  De licentie mag de verspreiding van de aangepaste broncode alleen
1114  beperken als de licentie de verspreiding van ``patch files'' met de  beperken als de licentie de verspreiding van ``patch files'' met de
1115  broncode toestaat met als doel het programma aan te passen als het  broncode toestaat met als doel het programma aan te passen als het
# Line 1106  aangepaste broncode is gebouwd expliciet Line 1118  aangepaste broncode is gebouwd expliciet
1118  eisen dat afgeleide werken een andere naam of een ander versienummer  eisen dat afgeleide werken een andere naam of een ander versienummer
1119  dragen dan de originele software.  dragen dan de originele software.
1120    
1121  \subsection{Geen discriminatie van personen of groepen}  \subsubsection{Geen discriminatie van personen of groepen}
1122  De licentie mag geen enkel persoon of groep van personen  De licentie mag geen enkel persoon of groep van personen
1123  discrimineren.  discrimineren.
1124    
1125  \subsection{Geen discriminatie van toepassingsgebieden}  \subsubsection{Geen discriminatie van toepassingsgebieden}
1126  De licentie mag niemand verbieden het programma te gebruiken voor een  De licentie mag niemand verbieden het programma te gebruiken voor een
1127  bepaald toepassingsgebied. Het mag het gebruik van het programma door  bepaald toepassingsgebied. Het mag bijvoorbeeld het gebruik van het programma door
1128  bedrijven of voor genetisch onderzoek bijvoorbeeld niet verbieden.  bedrijven of voor genetisch onderzoek niet verbieden.
1129    
1130  \subsection{Verspreiding van licentie}  \subsubsection{Verspreiding van licentie}
1131  De rechten die aan het programma zijn verbonden moeten van toepassing  De rechten die aan het programma zijn verbonden moeten van toepassing
1132  zijn voor iedereen naar wie het programma wordt geherdistribueerd,  zijn voor iedereen naar wie het programma wordt geherdistribueerd,
1133  zonder de verplichting voor die partijen om een additionele licentie  zonder de verplichting voor die partijen om een additionele licentie
1134  uit te voeren.  uit te voeren.
1135    
1136  \subsection{De licentie mag niet specifiek zijn voor een product}  \subsubsection{De licentie mag niet specifiek zijn voor een product}
1137  De rechten die aan het programma zijn verbonden mogen niet afhankelijk  De rechten die aan het programma zijn verbonden mogen niet afhankelijk
1138  zijn van een speciale softwaredistributie waar het programma deel van  zijn van een speciale softwaredistributie waar het programma deel van
1139  uitmaakt. Als het programma uit die distributie wordt gehaald en  uitmaakt. Als het programma uit die distributie wordt gehaald en
# Line 1130  het programma, moeten alle partijen naar Line 1142  het programma, moeten alle partijen naar
1142  geherdistribueerd dezelfde rechten hebben als zijn toegekend in  geherdistribueerd dezelfde rechten hebben als zijn toegekend in
1143  combinatie met de originele softwaredistributie.  combinatie met de originele softwaredistributie.
1144    
1145  \subsection{De licentie mag andere software niet beperken}  \subsubsection{De licentie mag andere software niet beperken}
1146   De licentie mag geen beperkingen plaatsen op andere software die   De licentie mag geen beperkingen plaatsen op andere software die
1147   samen met de gelicenseerde software is verspreid. De licentie mag   samen met de gelicenseerde software is verspreid. De licentie mag
1148   bijvoorbeeld niet eisen dat alle software die op hetzelfde medium   bijvoorbeeld niet eisen dat alle software die op hetzelfde medium
1149   wordt verspreid opensource moet zijn.   wordt verspreid opensource moet zijn.
1150    
1151  \section{Vrije software en opensource, wat is het verschil?}  \subsection{Vrije software en opensource, wat is het verschil?}
1152    
1153  Op \url{http://www.gnu.org/philosophy/free-software-for-freedom.html}  Op \url{http://www.gnu.org/philosophy/free-software-for-freedom.html}
1154  vinden we een verklaring waarom vrije software beter is dan opensource  vinden we een verklaring waarom vrije software beter is dan opensource
# Line 1145  software (vanuit het standpunt van de vr Line 1157  software (vanuit het standpunt van de vr
1157  Kort gezegd kunnen we het als volgt samenvatten: de vrije software  Kort gezegd kunnen we het als volgt samenvatten: de vrije software
1158  beweging legt de nadruk op vrijheid van de gebruiker (en beschermt  beweging legt de nadruk op vrijheid van de gebruiker (en beschermt
1159  hem) terwijl de opensource beweging de nadruk legt op het economische  hem) terwijl de opensource beweging de nadruk legt op het economische
1160  aspect, nl. dat er door beter product ontstaat.  aspect, namelijk dat er met open source een beter product ontstaat.
1161    
1162  \chapter{Licenties}  \section{Licenties}
1163    
1164  Vrije software of opensource software kan uitgegeven worden onder  Vrije software of opensource software kan uitgegeven worden onder
1165  verschillende soorten licenties.  We geven een korte opsomming van de  verschillende soorten licenties.  We geven een korte opsomming van de
1166  meest gebruikte licenties.  meest gebruikte licenties.
1167    
1168  \section{GPL}  \subsection{GPL}
1169    
1170  De \begrip{GNU Public License} (\begrip{GPL}) is de meeste gebruikte  De \begrip{GNU Public License} (\begrip{GPL}) is de meeste gebruikte
1171  licentie voor vrije software.  Deze licentie staat op  licentie voor vrije software.  Deze licentie staat op
1172  \url{http://www.gnu.org/licenses/licenses.html#GPL}.  In appendix  \url{http://www.gnu.org/licenses/licenses.html#GPL}.  In appendix
1173  \ref{ch:gpl} vinden we de \gnu\ GPL ook.  \ref{ch:gpl} vinden we de \gnu\ GPL ook.
1174    
1175  \section{LGPL}  \subsection{LGPL}
1176    
1177  De \begrip{Lesser GNU Public License} (\begrip{LGPL}) is een minder  De \begrip{Lesser GNU Public License} (\begrip{LGPL}) is een minder
1178  vrije vorm van de GPL die vooral gebruikt wordt voor libraries. Meer  vrije vorm van de GPL die vooral gebruikt wordt voor libraries. Meer
1179  informatie op: \url{http://www.gnu.org/licenses/licenses.html#LGPL}  informatie op: \url{http://www.gnu.org/licenses/licenses.html#LGPL}
1180    
1181  \section{FDL}  \subsection{FDL}
1182  De \begrip{Free Documentation License} (\begrip{FDL}) wordt gebruikt  De \begrip{Free Documentation License} (\begrip{FDL}) wordt gebruikt
1183  om documentatie vrij te maken (zoals deze cursus).  om documentatie vrij te maken (zoals deze cursus).
1184  \url{http://www.gnu.org/licenses/licenses.html#FDL} bevat een digitale  Op \url{http://www.gnu.org/licenses/licenses.html#FDL} is een digitale versie van
1185  versie, achteraan in appendix \ref{fdl} staat de licentie ook.  deze licentie weer te vinden, in appendix \ref{fdl} is die uitgeprint.
1186    
1187  \section{Andere}  \subsection{Andere}
1188    
1189  Er bestaan nog andere soorten licenties.  Sommige daarvan zijn  Er bestaan nog andere soorten licenties.  Sommige daarvan zijn
1190  compatibel met de GPL.  Andere licenties zijn dan weer  compatibel met de GPL.  Andere licenties zijn dan weer
# Line 1182  Onvrije licenties zijn natuurlijk af te Line 1194  Onvrije licenties zijn natuurlijk af te
1194  \url{http://www.gnu.org/licenses/license-list.html} staat een  \url{http://www.gnu.org/licenses/license-list.html} staat een
1195  overzichtje.  overzichtje.
1196    
   
   
1197  \chapter[\gl\ interfaces]{Interfaces van een \gl\ besturingssysteem}  \chapter[\gl\ interfaces]{Interfaces van een \gl\ besturingssysteem}
1198    
1199  Een standaard \gl\ besturingssysteem heeft twee interfaces waardoor de  Een standaard \gl\ besturingssysteem heeft twee interfaces waardoor de
# Line 1197  dat van de software producent, b.v. Micr Line 1207  dat van de software producent, b.v. Micr
1207    
1208  De \begrip{console} is de tekstuele interface van ons \gl\  De \begrip{console} is de tekstuele interface van ons \gl\
1209  besturingssysteem. Iedere \gl\ gebruiker moet op zijn minst hiermee een  besturingssysteem. Iedere \gl\ gebruiker moet op zijn minst hiermee een
1210  beetje overweg kunnen.  In de console kunnen we opdrachten intikken, dit  beetje overweg kunnen.  In de console kunnen we opdrachten intikken aan de commandolijn.
 doen we op de commandolijn.  
1211    
1212  Nu en dan wordt er gezegd dat de commandolijn uit de mode is, maar  Nu en dan wordt er gezegd dat de commandolijn uit de mode is, maar
1213  niets is minder waar.  Inderdaad we kunnen met \gl\ werken zonder ooit  niets is minder waar.  Inderdaad, we kunnen met \gl\ werken zonder ooit
1214  maar de console aan te raken door de grafische interface te gebruiken  de console aan te raken, door de grafische interface te gebruiken
1215  (het X Window System), maar wat als onze grafische interface het laat  (het X Window System), maar wat als onze grafische interface het laat
1216  afweten?  Wanneer we van op afstand willen inloggen is kennis van de  afweten?  Ook wanneer we van op afstand willen inloggen, is kennis van de
1217  console ook nodig.  console nodig.
1218    
1219  In het hoofdstuk \ref{basiscommandos} leren we deze basis aan.  Voor het  In het hoofdstuk \ref{basiscommandos} wordt de basis van het werken onder console uitgelegd.  Voor het
1220  verdere verloop van de cursus is het nodig de aangebrachte leerstof  verdere verloop van de cursus is het nodig de aangebrachte leerstof
1221  onder de knie te hebben.  onder de knie te hebben.
1222    
# Line 1215  onder de knie te hebben. Line 1224  onder de knie te hebben.
1224    
1225  \citaatnn{Windows without the X is like making love without a partner.}{MaDsen Wikholm, \url{mwikholm@at8.abo.fi}}  \citaatnn{Windows without the X is like making love without a partner.}{MaDsen Wikholm, \url{mwikholm@at8.abo.fi}}
1226    
1227  Zoals reeds gezegd kent \gl\ ook een grafische interface die gebaseerd  Zoals reeds gezegd, kent \gl\ ook een grafische interface die gebaseerd
1228  is op het X Window systeem (\url{http://www.X.org}).  Meestal spreken  is op het X Window systeem (\url{http://www.X.org}).  Meestal spreken
1229  we kortweg over ``X''.  we kortweg over ``X''.
1230    
# Line 1244  zich \Begrip{niet} op dezelfde computer Line 1253  zich \Begrip{niet} op dezelfde computer
1253  Zo is het perfect mogelijk om een film te laten renderen op een  Zo is het perfect mogelijk om een film te laten renderen op een
1254  speciaal daartoe ontworpen machine (bijvoorbeeld een Silicon Graphics  speciaal daartoe ontworpen machine (bijvoorbeeld een Silicon Graphics
1255  (\url{http://www.sgi.com/}) computer) en het resultaat daarvan op onze  (\url{http://www.sgi.com/}) computer) en het resultaat daarvan op onze
1256  \gl\ computer bekijken. Al het werk wordt op de speciale machine  \gl\ computer te bekijken. Al het werk wordt op de speciale machine
1257  gedaan, wij krijgen alleen het resultaat te zien. Het is ook niet  gedaan, wij krijgen alleen het resultaat te zien. Het is ook niet
1258  noodzakelijk dat de cli\"enten op dezelfde machine draaien!  noodzakelijk dat de cli\"enten op dezelfde machine draaien!
1259    
1260  De X specificatie definieert hoe cli\"enten met de server moeten  De X specificatie definieert hoe cli\"enten met de server moeten
1261  communiceren (en omgekeerd), het eventuele netwerkprotocol dat  communiceren (en omgekeerd), het eventuele netwerkprotocol dat
1262  gebruikt moet worden en welke functies er aan programmeurs beschikbaar  gebruikt moet worden en welke functies er aan programmeurs beschikbaar
1263  moeten worden gesteld zodat cli\"ent applicaties geschreven kunnen  moeten worden gesteld zodat cli\"entapplicaties geschreven kunnen
1264  worden. Deze specificatie is het resultaat van het Athena project aan  worden. Deze specificatie is het resultaat van het Athena project aan
1265  het MIT\footnote{MIT staat voor ``Massachusetss Institute of  het MIT\footnote{MIT staat voor ``Massachusets Institute of
1266  Technology'', een Amerikaanse universiteit.} en zag het  Technology'', een Amerikaanse universiteit.} en zag het
1267  levenslicht in 1984. In 1988 werd de ontwikkeling en distributie van X  levenslicht in 1984. In 1988 werd de ontwikkeling en distributie van X
1268  in handen gegeven van het zogenaamde \begrip{X consortium}  in handen gegeven van het zogenaamde \begrip{X consortium}
# Line 1264  meeste gebruikt wordt is \begrip{XFree86 Line 1273  meeste gebruikt wordt is \begrip{XFree86
1273  \subsection{Window managers}  \subsection{Window managers}
1274    
1275  Tot nog toe hebben we een server die zorgt voor de invoer en uitvoer,  Tot nog toe hebben we een server die zorgt voor de invoer en uitvoer,
1276  en cli\"ent applicaties die met de server kunnen communiceren.  en cli\"entapplicaties die met de server kunnen communiceren.
1277    
1278  Zoals iedereen die al eens met een Grafische User Interface (GUI)  Zoals iedereen die al eens met een Grafische User Interface (GUI)
1279  gewerkt heeft, weet, moet het mogelijk zijn om de ``cli\"ent'' windows  gewerkt heeft, weet, moet het mogelijk zijn om de ``cli\"ent'' windows
# Line 1297  prettigste werken. Line 1306  prettigste werken.
1306    
1307  \subsection{Cli\"ent applicaties en widget libraries}  \subsection{Cli\"ent applicaties en widget libraries}
1308  In tegenstelling tot Microsoft \win\ biedt X geen standaard manier  In tegenstelling tot Microsoft \win\ biedt X geen standaard manier
1309  om dingen zoals knoppen, scrollbars, comboboxes, \ldots (ook wel  om dingen zoals knoppen, scrollbars, comboboxes, \ldots\ (ook wel
1310  \emph{widgets} genoemd) voor te stellen. We kunnen er alleen de  \begrip{widgets} genoemd) voor te stellen. We kunnen er alleen de
1311  basisdingen (lijnen, cirkels, rechthoeken, \ldots) mee tekenen en  basisdingen (lijnen, cirkels, rechthoeken, \ldots) mee tekenen en
1312  opvullen. Dat heeft als gevolg dat het elke cli\"ent applicatie  opvullen. Dat heeft als gevolg dat het elke cli\"entapplicatie
1313  vrijstaat om te bepalen hoe het zijn knoppen etc.\ wil tekenen en laten  vrijstaat om te bepalen hoe het zijn knoppen etc.\ wil tekenen en laten
1314  gedragen.  gedragen.
1315    
1316  Omdat het een heel werk is om zelf widgets te schrijven zijn er in de  Omdat het een heel werk is om zelf widgets te schrijven, zijn er in de
1317  loop van de tijd heel wat \begrip{widget libraries} ontwikkeld. Dit  loop van de tijd heel wat \Begrip{widget libraries} ontwikkeld. Dit
1318  zijn codebibliotheken die programmeurs kunnen aanspreken en waarin de  zijn codebibliotheken die programmeurs kunnen aanspreken en waarin de
1319  verschillende widgets al gedefinieerd zijn. Net zoals er verschillende  verschillende widgets al gedefinieerd zijn. Net zoals er verschillende
1320  window managers bestaan (elk met hun eigen look and feel) zo bestaan  window managers bestaan (elk met hun eigen look and feel) zo bestaan
# Line 1319  van verschillende widget libraries gesch Line 1328  van verschillende widget libraries gesch
1328  uitzien en zelfs verschillend bediend moeten worden. Spijtig genoeg  uitzien en zelfs verschillend bediend moeten worden. Spijtig genoeg
1329  gaat dat dan ook ten koste van een consistente manier van werken: als  gaat dat dan ook ten koste van een consistente manier van werken: als
1330  we drie verschillende applicaties tegelijk draaien kan het perfect zijn  we drie verschillende applicaties tegelijk draaien kan het perfect zijn
1331  dat ze er allemaal anders uitzien en dat we ze anders moeten bedienen.  dat ze er allemaal anders uitzien en dat we ze allemaal anders moeten bedienen.
1332    
1333  \subsection{Desktop environments}  \subsection{Desktop environments}
1334  De verscheidenheid aan keuze in het X Windows Systeem is kan zeer  De verscheidenheid aan keuze in het X Windows Systeem kan zeer
1335  zeker als een aanwinst bekeken worden. We zitten niet opgescheept met  zeker als een aanwinst bekeken worden. We zitten niet opgescheept met
1336  \'e\'en enkele voorgedefinieerde window manager die niet werkt zoals  \'e\'en enkele voorgedefinieerde window manager die niet werkt zoals
1337  we het willen (we kunnen immers altijd een andere kiezen of  we het willen (we kunnen immers altijd een andere kiezen of
1338  schrijven). Bovendien kunnen verschillende applicaties er verschillend  schrijven). Bovendien kunnen verschillende applicaties er verschillend
1339  uitzien en mogen ze de interactie met de gebruiker regelen zoals het  uitzien en mogen ze de interactie met de gebruiker regelen zoals het
1340  hun goeddunkt (waardoor we weer een grotere keuze hebt en de  hun goeddunkt (waardoor we weer een grotere keuze hebben en de
1341  applicatie kunnen kiezen die het beste bij ons past). Als nadeel hebben we  applicatie kunnen kiezen die het beste bij ons past). Als nadeel hebben we
1342  al opgemerkt dat de consistentie verloren gaat en dat daardoor de  al opgemerkt dat de consistentie verloren gaat en dat daardoor de
1343  complexiteit van het werken met deze programma's verhoogt.  complexiteit van het werken met deze programma's verhoogt.
# Line 1341  behoren maken allemaal gebruik van dezel Line 1350  behoren maken allemaal gebruik van dezel
1350  biedt een desktop environment meestal ook een window manager aan.  biedt een desktop environment meestal ook een window manager aan.
1351    
1352  Onder \gl\ zijn de \begrip{K Desktop Environment}  Onder \gl\ zijn de \begrip{K Desktop Environment}
1353  (\url{http://www.kde.org/}) (\begrip{KDE}) en \begrip{GNU Network  (\url{http://www.kde.org/}) (\begrip{KDE}) en \Begrip{GNU Network
1354    Object Model Environment} (\url{http://www.gnome.org/})    Object Model Environment} (\url{http://www.gnome.org/})
1355  (\begrip{GNOME}) de bekendste en ook meest volwassen desktop  (\begrip{GNOME}) de bekendste en ook meest volwassen desktop
1356  environments. Er zijn echter ook andere zoals GNUStep  environments. Er zijn echter ook andere zoals GNUStep
# Line 1359  te draaien en programma's die bij GNOME Line 1368  te draaien en programma's die bij GNOME
1368  omgekeerd! Meer nog, het is zelfs mogelijk om meerdere X sessies  omgekeerd! Meer nog, het is zelfs mogelijk om meerdere X sessies
1369  tegelijk te gebruiken!  tegelijk te gebruiken!
1370    
 %% dit stukje wordt overgeslagen voorlopig moet korter  
   
1371  \chapter{\linux\ filesystems}  \chapter{\linux\ filesystems}
1372    
1373  \citaatnn{You can tune a piano, but you can't tuna fish.  You can tune  \citaatnn{You can tune a piano, but you can't tuna fish.  You can tune
# Line 1375  tegelijk te gebruiken! Line 1382  tegelijk te gebruiken!
1382  \url{http://nfs.sourceforge.net/}.  \url{http://nfs.sourceforge.net/}.
1383  \end{urlbox}  \end{urlbox}
1384    
1385  Zoals we reeds gezien hebben in het hoofdstuk \ref{ontstaan} is \linux\  Zoals we reeds gezien hebben in hoofdstuk \ref{ontstaan} is \linux\
1386  ontstaan uit het Minix besturingssysteem waardoor de eerste versies  ontstaan uit het Minix besturingssysteem waardoor de eerste versies
1387  van \linux\ alleen het Minix \begrip{filesystem} ondersteunde.  Het  van \linux\ alleen het Minix \begrip{filesystem} ondersteunden.  Het
1388  Minix filesystem bevatte twee tekortkomingen: blok adressen werden  Minix filesystem bevatte twee tekortkomingen: blok adressen werden
1389  opgeslaan in 16 bit integers, dus de maximale grootte van het  opgeslaan in 16 bit integers, dus de maximale grootte van het
1390  bestandssysteem was beperkt tot $2^{16}$ bits of $64$ megabyte, en een  bestandssysteem was beperkt tot $2^{16}$ bits of $64$ megabyte, en een
1391  bestandsnaam kon maximum $14$ karakters lang zijn.  bestandsnaam kon maximum $14$ karakters bevatten.
1392    
1393  In dit hoofdstuk bespreken we dat geschiedenis van het \linux\  In dit hoofdstuk hebben we het eerst over de geschiedenis van het \linux\
1394  filesystem.  We bespreken kort de fundamentele concepten die  filesystem. Dan bespreken we kort de fundamentele concepten die
1395  ge\"implementeerd zijn in het \unix\ filesystem.  Alsook geven we een  ge\"implementeerd zijn in het \unix\ filesystem en de
1396  implementatie van Virtual File System laag in \linux\ en bespreken we  implementatie van een Virtual File System laag in \linux. Tenslotte overlopen
1397  de meest gebruikte filesystems.  de meest gebruikte filesystemen.
1398    
1399  \section{Geschiedenis van het \linux\ filesystem}  \section{Geschiedenis van het \linux\ filesystem}
1400    
1401  Wanneer \linux\ ontwikkeld werd onder het Minix besturingssysteem was  Wanneer \linux\ ontwikkeld werd onder het Minix besturingssysteem, was
1402  het eenvoudiger om harde schrijven te delen tussen twee systemen dan  het eenvoudiger om harde schijven te delen tussen twee systemen dan
1403  een nieuw filesystem te ontwerpen.  Daarom besloot Linus Torvalds  een nieuw filesystem te ontwerpen.  Daarom besloot Linus Torvalds
1404  ondersteuning voor het Minix filesystem in \linux\ in te bouwen.  Het  ondersteuning voor het Minix filesystem in \linux\ in te bouwen.  Het
1405  Minix filesystem was een effici\"ent en relatief bug-vrij stuk  Minix filesystem was een effici\"ent en relatief bug-vrij stuk
1406  software.  software.
1407    
1408  Omwille van de beperkingen dat het Minix filesystem met zich meebracht  Omwille van de beperkingen die het Minix filesystem met zich meebracht,
1409  werd er gewerkt aan een implementatie voor een nieuw filesystem in  werd er gewerkt aan een implementatie voor een nieuw filesystem in
1410  \linux.  \linux.
1411    
1412  Om de toevoeging van nieuwe filesystems in de \linux\ kernel  Om de toevoeging van nieuwe filesystems in de \linux\ kernel
1413  eenvoudiger te maken werd een \begrip{Virtual File System} (VFS) laag  eenvoudiger te maken werd een \begrip{Virtual File System} (VFS) laag
1414  ontwikkeld.  De VFS laag wordt besproken in \ref{vfs}.  ontwikkeld.  De VFS laag wordt besproken in sectie \ref{vfs}.
1415    
1416  Achter de integratie van de VFS laag in de kernel werd een nieuw  Achter de integratie van de VFS laag in de kernel werd een nieuw
1417  filesysteem ge\"integreerd: het \begrip{Extended File System}.  Dit  filesysteem ge\"integreerd: het \begrip{Extended File System}.  Dit
# Line 1423  ge\"implementeerd: het Xia filesystem en Line 1430  ge\"implementeerd: het Xia filesystem en
1430    File System}.  Het Xia filesystem was voornamelijk gebaseerd op de    File System}.  Het Xia filesystem was voornamelijk gebaseerd op de
1431  Minix filesystem kernel code en voegde alleen een paar verbeteringen  Minix filesystem kernel code en voegde alleen een paar verbeteringen
1432  toe ten opzichte van dit filesystem.  Kort gezegd zorgde het voor  toe ten opzichte van dit filesystem.  Kort gezegd zorgde het voor
1433  ondersteuning naar lange bestandsnamen toe, grotere partities.  Het  ondersteuning naar lange bestandsnamen toe en grotere partities.  Het
1434  \begrip{Ext2fs} was gebaseerd op de Extfs code met vele reorganisaties  \begrip{ext2fs} was gebaseerd op de Extfs code met vele reorganisaties
1435  en vele verbeteringen.  Het werd ontworpen met de vooruitgang in  en vele verbeteringen.  Het werd ontworpen met de vooruitgang in
1436  gedachte in bevatte ruimte voor verdere verbeteringen.  We bespreken  gedachte en bevatte ruimte voor verdere verbeteringen.  We bespreken
1437  het in detail in \ref{ext2fs}.  het in detail in \ref{ext2fs}.
1438    
1439  Wanneer de twee filesystems voor het eerst werden verspreid hadden ze  Wanneer de twee filesystems voor het eerst werden verspreid, hadden ze
1440  dezelfde functionaliteit.  Omwille van het minimale ontwerp was het  dezelfde functionaliteit.  Omwille van het minimale ontwerp was het
1441  Xia filesystem meer stabieler dan Ext2fs.  Door het verdere gebruik  Xia filesystem stabieler dan Ext2fs.  Door het verdere gebruik
1442  van beide filesystems werden de bugs opgelost in Ext2fs en werden vele  van beide filesystems werden de bugs opgelost in Ext2fs en werden vele
1443  verbeteringen en nieuwe opties toegevoegd.  Ext2fs is nu heel stabiel  verbeteringen en nieuwe opties toegevoegd.  Ext2fs is nu heel stabiel
1444  en is de de-facto standaard \linux\ filesystem geworden.  en is de de-facto standaard \linux\ filesystem geworden.
# Line 1446  verkregen worden door een I/O aanvraag t Line 1453  verkregen worden door een I/O aanvraag t
1453    
1454  \subsection{Inodes}  \subsection{Inodes}
1455    
1456  Ieder bestand wordt voorgesteld door een structuur, een \begrip{inode}  Ieder bestand wordt voorgesteld door een structuur, een \Begrip{inode}
1457  genoemd.  Iedere inode bevat een beschrijving van dat bestand:  genoemd.  Iedere inode bevat een beschrijving van dat bestand:
1458  bestandstype, toegansrechten, eigenaars, timestamps, grootte, pointers  bestandstype, toegansrechten, eigenaars, timestamps, grootte, pointers
1459  naar datablokken.  De adressen van gealloceerde datablokken aan  naar datablokken.  De adressen van gealloceerde datablokken aan
# Line 1454  een bestand worden opgeslaan in zijn ino Line 1461  een bestand worden opgeslaan in zijn ino
1461  I/O operatie aanvraagt op dat bestand, converteert de kernelcode de  I/O operatie aanvraagt op dat bestand, converteert de kernelcode de
1462  huidige offset naar een bloknummer, gebruikt dat nummer als een index  huidige offset naar een bloknummer, gebruikt dat nummer als een index
1463  in het blokadres en leest of schrijft de fysieke blok.  in het blokadres en leest of schrijft de fysieke blok.
1464  Figuur \ref{blokken} representeert de structuur van een inode.  Figuur \ref{blokken} stelt de structuur van een inode voor.
1465    
1466  \begin{figure}  \begin{figure}
1467  \centering  \centering
1468  \includegraphics{inleiding/inode.png}  \includegraphics[angle=90,width=10cm]{inleiding/inode.png}
1469  \caption{De structuur van een inode.}  \caption{De structuur van een inode.}
1470  \label{blokken}  \label{blokken}
1471  \end{figure}  \end{figure}
1472    
1473  \subsection{Directories}  \subsection{Directories}
1474    
1475  Directories worden gestructureerd in een hi\"erarchische boom (zie  Directories worden gestructureerd in een hi\"erarchische boom (zie sectie
1476  \ref{fhs}).  Iedere directory kan bestanden of subdirectories  \ref{fhs}).  Iedere directory kan bestanden of subdirectories
1477  bevatten.  bevatten.
1478    
# Line 1473  Directories worden ge\"implementeerd als Line 1480  Directories worden ge\"implementeerd als
1480  Eigenlijk is een directory een bestand dat verschillende records  Eigenlijk is een directory een bestand dat verschillende records
1481  bevat.  Iedere record bevat een inode nummer en een bestandsnaam.  bevat.  Iedere record bevat een inode nummer en een bestandsnaam.
1482  Wanneer een proces een padnaam gebruikt zoekt de kernel in de  Wanneer een proces een padnaam gebruikt zoekt de kernel in de
1483  directories tot het het overeenkomstige inode nummer vindt.  Nadat de  directories tot het hij het overeenkomstige inode nummer vindt.  Nadat de
1484  naam naar zijn inode nummer geconverteerd wordt, wordt de inode in het  naam naar zijn inode nummer geconverteerd is, wordt de inode in het
1485  geheugen geladen en gebruikt door het proces.  Figuur \ref{directory}  geheugen geladen en gebruikt door het proces.  Figuur \ref{directory}
1486  stelt een directory voor.  stelt een directory voor.
1487    
1488  \begin{figure}  \begin{figure}
1489  \includegraphics{inleiding/directory.png}  \centering
1490    \includegraphics[angle=90,width=8cm]{inleiding/directory.png}
1491  \caption{De structuur van een directory.}  \caption{De structuur van een directory.}
1492  \label{directory}  \label{directory}
1493  \end{figure}  \end{figure}
# Line 1491  bestanden kunnen geassocieerd worden met Line 1499  bestanden kunnen geassocieerd worden met
1499  een veld dat een nummer bevat dat overeenkomt met het bestand.  Een  een veld dat een nummer bevat dat overeenkomt met het bestand.  Een
1500  link toevoegen bestaat uit het cre\"eren van een directory toegang,  link toevoegen bestaat uit het cre\"eren van een directory toegang,
1501  waar het inode nummer verwijst naar de inode, en de links-teller wordt  waar het inode nummer verwijst naar de inode, en de links-teller wordt
1502  verhoogd.  Wanneer de link wordt verwijderd vermindert de kernel de  verhoogd.  Wanneer de link wordt verwijderd, vermindert de kernel de
1503  links-teller en dealloceert de inode wanneer de teller nul wordt.  links-teller en dealloceert de inode wanneer de teller nul wordt.
1504    
1505  Dit type link wordt een \begrip{hard link} genoemd en kan alleen  Dit type link wordt een \begrip{hard link} genoemd en kan alleen
# Line 1499  gebruikt worden in hetzelfde filesystem: Line 1507  gebruikt worden in hetzelfde filesystem:
1507  cross-filesystem hard links te construeren.  Alsook kunnen hard links  cross-filesystem hard links te construeren.  Alsook kunnen hard links
1508  alleen verwijzen naar bestanden.  alleen verwijzen naar bestanden.
1509    
1510  Er bestaat nog een ander soort links.  \begrip{Symbolische links} zijn  Er bestaat nog een ander soort links.  \Begrip{Symbolische links}\index{symbolic link} zijn
1511  bestanden die een ander bestand bevatten.  Wanneer de kernel een  bestanden die een ander bestand bevatten.  Wanneer de kernel een
1512  symbolische link tegenkomt tijdens een padnaam naar inode conversie,  symbolische link tegenkomt tijdens een padnaam naar inode conversie,
1513  vervangt het de naam van de link door zijn inhoud.  Omdat een  vervangt hij de naam van de link door zijn inhoud.  Omdat een
1514  symbolische link niet verwijst naar een inode is het mogelijke  symbolische link niet verwijst naar een inode is het mogelijke
1515  cross-filesystems symbolische links aan te maken.  Ze kunnen ook  cross-filesystems symbolische links aan te maken.  Ze kunnen ook
1516  verwijzen naar eender welk type van bestand, zelfs onbestaand.  Ze  verwijzen naar eender welk type van bestand, zelfs onbestaand.  Ze
# Line 1517  geen plaats in op de harde schijf, het i Line 1525  geen plaats in op de harde schijf, het i
1525  een device driver.  een device driver.
1526    
1527  Er bestaan twee soorten types speciale bestanden: karakter en blok  Er bestaan twee soorten types speciale bestanden: karakter en blok
1528  speciale speciale bestanden.  De eerste laat I/O bewerkingen toe in  speciale bestanden.  De eerste laat I/O bewerkingen toe in
1529  karakter mode terwijl de andere vereist dat data geschreven wordt in  karakter mode terwijl de andere vereist dat data geschreven wordt in
1530  blokken via de buffer cache functies.  Wanneer een I/O aangevraagd  blokken via de buffer cache functies.  Wanneer een I/O aangevraagd
1531  wordt op een speciaal bestand wordt het doorgestuurd naar een (pseudo)  wordt op een speciaal bestand wordt het doorgestuurd naar een (pseudo)
# Line 1543  filesystems te vereenvoudigen. Line 1551  filesystems te vereenvoudigen.
1551  Wanneer een proces een bestandsge\"orienteerde systeemaanroep  Wanneer een proces een bestandsge\"orienteerde systeemaanroep
1552  behandelt, roept de kernel een functie van de VFS aan.  Deze functie  behandelt, roept de kernel een functie van de VFS aan.  Deze functie
1553  behandelt deze structuur onafhankelijke manipulaties en herverwijst de  behandelt deze structuur onafhankelijke manipulaties en herverwijst de
1554  aanroep naar een functie die bevat zit in de fysieke filesystem code,  aanroep naar een functie die vervat zit in de fysieke filesystem code,
1555  die dan verantwoordelijk is voor het afhandelen van de stuctuur  die dan verantwoordelijk is voor het afhandelen van de stuctuur
1556  afhankelijke operaties.  Filesystem code gebruikt de buffer cache  afhankelijke operaties.  Filesystem code gebruikt de buffer cache
1557  functies om I/O aan te vragen aan devices.  Het schema in  functies om I/O aan te vragen aan devices.  Het schema in
# Line 1551  figuur~\ref{fig:vfs} illustreert dit pro Line 1559  figuur~\ref{fig:vfs} illustreert dit pro
1559    
1560  \begin{figure}  \begin{figure}
1561  \centering  \centering
1562  \includegraphics{inleiding/vfs.png}  \includegraphics[height=10cm]{inleiding/vfs.png}
1563  \caption{Redirectie door de VFS.}  \caption{Redirectie door de VFS.}
1564  \label{fig:vfs}  \label{fig:vfs}
1565  \end{figure}  \end{figure}
# Line 1565  filesystems, inodes en geopende bestande Line 1573  filesystems, inodes en geopende bestande
1573  De VFS kent de filesystems die ondersteund worden in de kernel.  Het  De VFS kent de filesystems die ondersteund worden in de kernel.  Het
1574  gebruikt een tabel die gedefini\"eerd werd tijdens de kernel  gebruikt een tabel die gedefini\"eerd werd tijdens de kernel
1575  configuratie.  Iedere cel in deze tabel beschrijft een filesystem  configuratie.  Iedere cel in deze tabel beschrijft een filesystem
1576  type: het bevat de naam van het filesystem type en een pointer naar  type: het bevat de naam van het filesystem en een pointer naar
1577  een functie die opgeroepen wordt tijdens de \begrip{mount} operatie.  een functie die opgeroepen wordt tijdens de \begrip{mount} operatie.
1578  Wanneer een filesystem gemount zal worden, wordt de geschikte mount  Wanneer een filesystem gemount zal worden, wordt de geschikte mount
1579  functie aangeroepen.  Deze functie is verantwoordelijk voor het lezen  functie aangeroepen.  Deze functie is verantwoordelijk voor het lezen
# Line 1577  routines. Line 1585  routines.
1585    
1586  Een gemounte filesystem descriptor bevat verschillende soorten  Een gemounte filesystem descriptor bevat verschillende soorten
1587  informatie: algemene filesystem informatie, pointers naar functies van  informatie: algemene filesystem informatie, pointers naar functies van
1588  de fysieke filesystem kernel code en private date onderhouden door de  de fysieke filesystem kernel code en private date onderhouden voor de
1589  fysieke filesystem code.  De functie pointers in de filesystem  fysieke filesystem code.  De functie pointers in de filesystem
1590  descriptors laten toegang toe van de VFS tot de interne filesystem  descriptors laten toegang toe van de VFS tot de interne filesystem
1591  routines.  routines.
1592    
1593  \section{ext2}  \section{ext2}
1594  \label{ext2fs}  \label{ext2fs}
1595  Zoals reeds gezien werd het ``Second Extended File System'' ontworpen  Zoals reeds gezien, werd het Second Extended File System ontworpen
1596  en ge\"implementeerd om problemen die zich voordeden bij het eerste  en ge\"implementeerd om problemen die zich voordeden bij het eerste
1597  Extended File System op te lossen.  Extended File System op te lossen.
1598    
1599  Ext2fs heeft een excellente performantie en is ook een robust  Ext2fs heeft een uitstekende performantie en is ook een robust
1600  filesystem die de kans op data verlies vermindert bij intensief  filesystem die de kans op data verlies vermindert bij intensief
1601  gebruik.  Ten laatste, maar niet het minste, heeft Ext2fs ruimte  gebruik.  Ten laatste, maar niet het minste, heeft Ext2fs ruimte
1602  voor uitbreiding op een manier die gebruikers toelaat deze nieuwe  voor uitbreiding op een manier die gebruikers toelaat deze nieuwe
# Line 1601  bestanden en symbolische links. Line 1609  bestanden en symbolische links.
1609  Ext2fs zorgt voor een limiet van $4$ TB in grootte van het filesystem  Ext2fs zorgt voor een limiet van $4$ TB in grootte van het filesystem
1610  en voor een maximale bestandsnaamlengte van $255$ karakters.  Ext2fs  en voor een maximale bestandsnaamlengte van $255$ karakters.  Ext2fs
1611  reserveert ook enkele blokken voor de super user (root).  Meestal is  reserveert ook enkele blokken voor de super user (root).  Meestal is
1612  dit $5\%  dit $5\%$ van de blokken, dit laat de administrator toe het filesystem
 $ van de blokken, dit laat de administrator toe het filesystem  
1613  te repareren in situaties waar een user proces het filesystem opvult.  te repareren in situaties waar een user proces het filesystem opvult.
1614    
1615  Ext2fs bevat ook nog andere eigenschappen maar dit valt buiten het  Ext2fs bevat ook nog andere eigenschappen maar dit valt buiten het
# Line 1624  nieuwe versie van het bestand een deel o Line 1631  nieuwe versie van het bestand een deel o
1631  het overschrijven is kan het bestand stukken van beide versies hebben  het overschrijven is kan het bestand stukken van beide versies hebben
1632  wanneer het schrijven stopt.  Wat we dan overhouden is een bestand dat  wanneer het schrijven stopt.  Wat we dan overhouden is een bestand dat
1633  niet geopend kan worden omdat de interne formatering van het bestand  niet geopend kan worden omdat de interne formatering van het bestand
1634  inconsistent is met wat hetgene het programma verwacht.  inconsistent is met hetgene het programma verwacht.
1635    
1636  Dit wordt zelfs erger als de schijf metadatas aan het schrijven was,  Dit wordt zelfs erger als de schijf metadata aan het schrijven was,
1637  zoals een directory.  Nu hebben we een corrupt filesystem in plaats  zoals een directory.  Nu hebben we een corrupt filesystem in plaats
1638  van een corrupt bestand.  Met andere woorden we kunnen een volledige  van een corrupt bestand.  Met andere woorden: we kunnen een volledige
1639  directory verliezen of zelfs alle data op een harde schijf partitie.  directory verliezen of zelfs alle data op een partitie.
1640    
1641  De meeste PC besturingssystemen hebben geen goede manier om het  De meeste PC besturingssystemen hebben geen goede manier om het
1642  verlies van een enkel bestand te voorkomen bij het schrijven tijdens  verlies van een enkel bestand te voorkomen bij het schrijven tijdens
1643  een crash.  Moderne systemen, zoals de \linux\ kernel, doen wel een  een crash.  Moderne systemen, zoals de \linux\ kernel, doen wel een
1644  poging om deze verliezen te voorkomen en te repareren.  Om dit te doen  poging om deze verliezen te voorkomen en te repareren.  Om dit te doen
1645  voert het systeem een grondige controle door tijdens het opstarten.  voert het systeem een grondige controle door tijdens het opstarten.
1646  Goed ontworpen filesystems houden dikwijls backups bij van metadata, zo  Goed ontworpen filesystems houden dikwijls backups bij van metadata,
1647  dat het verlies van alle data onwaarschijnlijker wordt.  Het systeem  zodat het verlies van alle data onwaarschijnlijker wordt.  Het systeem
1648  zoekt dan uit waar de corrupte data zich bevindt en repareert de  zoekt dan uit waar de corrupte data zich bevinden en repareert de
1649  schade enerzijds door de originele metadata te kopi\"eren of door ze  schade enerzijds door de originele metadata te kopi\"eren of door ze
1650  te verwijderen.  Wanneer we zo bestanden verliezen is het nog altijd  te verwijderen.  Wanneer we zo bestanden verliezen is het nog altijd
1651  beter dan een ganse partitie te verliezen.  beter dan een hele partitie te verliezen.
1652    
1653  Helaas neemt zo'n grondige test veel tijd in beslag, zelfs op een zeer  Helaas neemt zo'n grondige test veel tijd in beslag. Zelfs op een zeer
1654  snel systeem met een grote en hevig gebruikte partitie kan dit enkele  snel systeem met een grote en hevig gebruikte partitie kan dit enkele
1655  minuten innemen.  Gelukkig is deze test niet altijd nodig omdat de  minuten innemen.  Gelukkig is deze test niet altijd nodig omdat de
1656  computer meestal correct wordt afgesloten.  Om onnodige vertragingen  computer meestal correct wordt afgesloten.  Om onnodige vertragingen
# Line 1657  filesystem genoemd. Line 1664  filesystem genoemd.
1664    
1665  \section{Journaled Filesystem}  \section{Journaled Filesystem}
1666    
1667  Moderne filesystem ontwerpen, zoals \linux's populaire ext2, doen een  Moderne filesystems, zoals \linux's populaire ext2, doen een
1668  goeie job bij de implementatie van de dingen hiervoor besproken.  Als  goeie job bij de implementatie van de dingen hiervoor besproken.  Als
1669  ons systeem crasht dan kan het een tijdje duren om de metadata te  ons systeem crasht dan kan het een tijdje duren om de metadata te
1670  controleren tijdens het booten, maar de kans is groot dat we  controleren tijdens het booten, maar de kans is groot dat we
1671  nadien nog al onze bestanden hebben.  Door de complexere applicaties,  nadien nog al onze bestanden terugvinden.  Door de complexere applicaties,
1672  grotere servers en nood aan kleinere downtime is er een nood een  grotere servers en nood aan kleinere downtime is er vraag naar een
1673  ingewikkeldere filesystems die een betere job doen bij het beschermen  effici\"enter filesystems dat een betere job doen bij het beschermen
1674  van onze data en metadate.  Het \begrip{journaled filesystem} dat  van onze data en metadate.  Het \begrip{journaled filesystem} dat
1675  beschikbaar is heeft de oplossing hiervoor.  beschikbaar is heeft de oplossing hiervoor.
1676    
1677  Er zijn verschillende journaled filesystems (zie \ref{reiserfs} en  Er zijn verschillende journaled filesystems (zie sectie \ref{reiserfs} en
1678  \ref{ext3}) maar ze zijn allemaal gebaseerd op hetzelfde principe.  sectie \ref{ext3}) maar ze zijn allemaal gebaseerd op hetzelfde principe.
1679  De term ``journaled'' wil zeggen dat het filesystem een log bijhoudt  De term ``journaled'' wil zeggen dat het filesystem een log bijhoudt
1680  van wat het aan het doen is op de centrale data gebieden op de schijf.  van wat het aan het doen is op de centrale data gebieden op de schijf.
1681  Wanneer het systeem de metadata zal veranderen, maakt het eerst een  Wanneer het systeem de metadata zal veranderen, maakt het eerst een
1682  aantekening in de log van wat er zal gebeuren.  Dan maakt hij de  aantekening in de log van wat er zal gebeuren.  Dan maakt het de
1683  verandering en gaat tenslotte terug naar de journal (de log) en  verandering en gaat tenslotte terug naar de journal (de log) en
1684  markeert dat de verandering correct gebeurd is.  markeert dat de verandering correct gebeurd is.
1685    
# Line 1695  worden ook gebruikt in journaled filesys Line 1702  worden ook gebruikt in journaled filesys
1702  \subsection{Reiserfs}  \subsection{Reiserfs}
1703  \label{reiserfs}  \label{reiserfs}
1704    
1705  Nu dat we de basis begrijpen van journaled filesystems kunnen we een  Nu dat we de basis begrijpen van journaled filesystems, kunnen we een
1706  specifiek geval bekijken, \begrip{Reiserfs} genaamd, en oorspronkelijk  specifiek geval bekijken, \Begrip{Reiserfs}\index{reiserfs} genaamd, en oorspronkelijk
1707  ontwikkeld door Hans Reiser.  Reiserfs maakt gebruik van de analogie  ontwikkeld door Hans Reiser.  Reiserfs maakt gebruik van de analogie
1708  tussen databanken en filesystems.  In feite aanschouwt Reiserfs een  tussen databanken en filesystems.  In feite aanschouwt Reiserfs een
1709  volledige harde schijf partitie als een enkele databank tabel.  volledige harde schijf partitie als een enkele databanktabel.
1710  Directories, bestanden en bestand metadata worden georganiseerd in een  Directories, bestanden en bestandsmetadata worden georganiseerd in een
1711  effici\"ente datastructuur, een ``gebalanceerde boom'' (zoals B*  effici\"ente datastructuur, een ``gebalanceerde boom'' (zoals B*
1712  bomen).  Dit verschilt van de traditionele filesystems, maar zorgt  bomen).  Dit verschilt van de traditionele filesystems, maar zorgt
1713  voor grote snelheidswinsten voor verschillende applicaties, vooral  voor grote snelheidswinsten voor verschillende applicaties, vooral
# Line 1722  Voor een verdere bespreken van het Reise Line 1729  Voor een verdere bespreken van het Reise
1729    
1730  Ext3 is een journaling filesystem ontworpen door Stephen Tweedie.  Het  Ext3 is een journaling filesystem ontworpen door Stephen Tweedie.  Het
1731  is compatibel met ext2 filesystems; in feite kunnen we het beschouwen  is compatibel met ext2 filesystems; in feite kunnen we het beschouwen
1732  als een ext2 filesystem met een journal bestand.  Wat het meest  als een ext2 filesystem met een journal bestand.  Merkwaardig is dat
1733  merkwaardig is dat we kunnen verwisselen tussen ext2 en ext3 op een  we kunnen wisselen tussen ext2 en ext3 op een
1734  partitie zonder enig probleem.  Het is dus backwards compatibel, wat  partitie zonder te moeten herformateren.  Het is dus backwards compatibel, wat
1735  Reiserfs niet is.  Reiserfs niet is.
1736    
1737  Voor verdere informatie over ext3 verwijzen we naar  Voor verdere informatie over ext3 verwijzen we naar
# Line 1750  Windows partities mounten. Line 1757  Windows partities mounten.
1757  \citaatnnn{Never use ``etc.'' -- it makes people think there is more  \citaatnnn{Never use ``etc.'' -- it makes people think there is more
1758    where there is not or that there is not space to list it all, etc.}    where there is not or that there is not space to list it all, etc.}
1759    
1760  Wie vertrouwd is met het eerder antieke MS-DOS, kent waarschijnlijk de  Wie vertrouwd is met het antieke MS-DOS, kent waarschijnlijk de
1761  verschillende opdrachten om zijn dagelijkse taken te vervullen in die  verschillende opdrachten om zijn dagelijkse taken te vervullen in die
1762  omgeving. Onder \gl\ kunnen we een aantal van deze commando's blijven  omgeving. Onder \gl\ kunnen we een aantal van deze commando's blijven
1763  gebruiken, andere zijn helemaal nieuw of hebben een gewijzigde vorm.  gebruiken, andere zijn helemaal nieuw of hebben een gewijzigde vorm.
1764  De opdrachten die we moeten kennen staan verderop. Om de weg niet kwijt  De opdrachten die we moeten kennen staan verderop. Om de weg niet kwijt
1765  te geraken in de \begrip{directorystructuur} van \linux\ volgt hier eerst een  te raken in de \begrip{directorystructuur} van \linux\ volgt hier eerst een
1766  kort overzichtje van de voornaamste directory's en hoe die stukjes van  kort overzichtje van de voornaamste directory's en hoe die stukjes van
1767  de \linux-puzzel samen vallen.  de \linux-puzzel samen vallen.
1768    
1769  \section{/}  \section{/}
1770    
1771  Een \begrip{\linux-bestandssysteem} heeft \'e\'en root-directory  Een \Begrip{\linux-bestandssysteem} heeft \'e\'en root-directory
1772  (/-directory); de directory die het hoogste niveau vormt. Het  (/-directory); de directory die het hoogste niveau vormt. Het
1773  \linux-bestandssysteem heeft een boomvorm, waarbij de  \linux-bestandssysteem heeft een boomvorm, waarbij de
1774  \begrip{root-directory} de stam is.  \begrip{root-directory} de stam is.
# Line 1792  boomvorm. Line 1799  boomvorm.
1799    te plaatsen. De /-directory moet namelijk gemount worden om het    te plaatsen. De /-directory moet namelijk gemount worden om het
1800    systeem te kunnen booten. Als er dan iets mis loopt met het systeem,    systeem te kunnen booten. Als er dan iets mis loopt met het systeem,
1801    kan de administrator nog steeds inloggen en beschikken over de    kan de administrator nog steeds inloggen en beschikken over de
1802    (config-)files in zijn home dir\ldots De home directory's van de    (config-)files in zijn home dir\ldots\ De home directory's van de
1803    gebruikers kunnen dan eventueel op een andere partitie staan en die    gebruikers kunnen dan eventueel op een andere partitie staan en die
1804    hoeft dan niet noodzakelijk gemount te zijn.    hoeft dan niet noodzakelijk gemount te zijn.
1805    
1806  \item[/bin] In de directory \begrip{/bin} slaat \linux\ programma's  \item[/bin] In de directory \begrip{/bin} slaat \linux\ programma's op
1807    \footnote{de zogenoemde binaries} waarmee we belangrijke    \footnote{de zogenaamde binaries} waarmee we belangrijke
1808    opdrachten uitvoeren. Voorbeelden van dergelijke commando's vinden    opdrachten uitvoeren. Voorbeelden van dergelijke commando's vinden
1809    we in hoofdstuk \ref{basiscommandos}.    we in hoofdstuk \ref{basiscommandos}.
1810    
# Line 1809  boomvorm. Line 1816  boomvorm.
1816    hardware van de computer. De files die we hier vinden zijn eigenlijk    hardware van de computer. De files die we hier vinden zijn eigenlijk
1817    geen echte files, maar worden aangemaakt wanneer het systeem    geen echte files, maar worden aangemaakt wanneer het systeem
1818    opstart. Wanneer we bijvoorbeeld een stukje willen inlezen van de    opstart. Wanneer we bijvoorbeeld een stukje willen inlezen van de
1819    floppy-drive, kunnen we hier uit de file ``fd0'' lezen en krijgen we    floppy-drive, kunnen we hier uit de file \file{fd0} lezen en krijgen we
1820    de (binaire) inhoud van de diskette te zien.  Hier bevinden zich de    de (binaire) inhoud van de diskette te zien.  Hier bevinden zich de
1821    device special files.    device special files.
1822    
1823  \item[/etc] \linux\ slaat in \begrip{/etc} de configuratiebestanden op  \item[/etc] \linux\ slaat in \begrip{/etc} de configuratiebestanden op
1824    die systemwide gelden.  Dit geldt zowel voor configuratiefiles van    die in heel het systeem gelden.  Dit geldt zowel voor configuratiebestanden van
1825    bepaalde programmatjes als voor configuratiefiles van het systeem    bepaalde programmatjes als voor configuratiebestanden van het systeem
1826    zelf. Zo vinden we in de file \file{/etc/passwd} alle gegevens van    zelf. Zo vinden we in de file \file{/etc/passwd} alle gegevens van
1827    de gebruikers terug. Vroeger vonden we hier ook alle commando's die    de gebruikers terug.
1828    voor het systeembeheer nodig waren terug, maar dat is verleden tijd.    
1829      Vroeger vonden we in deze directory ook alle commando's die
1830      voor het systeembeheer nodig waren, maar dat is verleden tijd.
1831    In speciale subdirectory's vinden we hier wel nog alle scripts en    In speciale subdirectory's vinden we hier wel nog alle scripts en
1832    directory's terug die nodig zijn op het systeem correct op te    directory's terug die nodig zijn op het systeem correct op te
1833    starten.    starten.
1834    
1835  \item[/home]  \item[/home]
1836  Hier vinden we de ``werkplekjes'' van de gebruikers. Iedere gebruiker  Hier vinden we de ``werkplekjes'' van de gebruikers. Iedere gebruiker
1837  heeft zijn eigen directory, waar hij alle privileges bezit, nl. zijn  heeft zijn eigen directory, waar hij alle privileges bezit, namelijk zijn
1838  homedirectory. Bij het inloggen komt hij hier terecht.  homedirectory. Bij het inloggen komt hij hier terecht.
1839    
1840  \item[/lib]  \item[/lib]
1841  De systeembibliotheken bevinden zich in de \begrip{/lib} directory en  De systeembibliotheken bevinden zich in de \begrip{/lib} directory en
1842  worden gemeenschappelijk gebruikt wat een optimaal gebruik van de  worden gemeenschappelijk gebruikt wat besparing aan hardeschijfruimte oplevert.
 diskspace ten goede komt.  
1843    
1844  \item[/sbin] Net als in de directory /bin vinden we in deze directory  \item[/sbin] Net als in de directory /bin vinden we in deze directory
1845    verschillende programma's.  \begrip{/sbin} bevat echter alleen    verschillende programma's.  \begrip{/sbin} bevat echter alleen
# Line 1844  diskspace ten goede komt. Line 1852  diskspace ten goede komt.
1852  \item[/proc] \linux\ maakt in de directory \begrip{/proc} een soort  \item[/proc] \linux\ maakt in de directory \begrip{/proc} een soort
1853    virtueel spiegelbeeld van alle processen die op dat moment aan het    virtueel spiegelbeeld van alle processen die op dat moment aan het
1854    draaien zijn. Naast deze informatie kunnen we er nog heel wat meer    draaien zijn. Naast deze informatie kunnen we er nog heel wat meer
1855    vinden, maar het zou ons veel te ver leiden indien we daar nu op    vinden, maar het zou ons veel te ver leiden indien we daarop
1856    ingaan.    ingaan.
1857    
1858  \item[/tmp]  \item[/tmp] Alle gebruikers hebben in \begrip{/tmp} schrijfrechten en kunnen hier
 Alle gebruikers hebben in \begrip{/tmp} schrijfrechten en kunnen hier  
1859  hun tijdelijke bestanden plaatsen. Deze directory wordt niet zo zeer  hun tijdelijke bestanden plaatsen. Deze directory wordt niet zo zeer
1860  door de users zelf, maar veel eerder door de processen van de users  door de users zelf, maar eerder door de processen van de users
1861  gebruikt.  gebruikt.
1862    
1863  \item[/usr]  \item[/usr] In de directory \begrip{/usr} en de subdirectory's ervan slaat \linux\
 In de directory \begrip{/usr} en de subdirectory's ervan slaat \linux\  
1864  verschillende programma's op die belangrijk zijn voor het starten van  verschillende programma's op die belangrijk zijn voor het starten van
1865  het systeem.  De subdirectory's van usr hebben daarentegen totaal  het systeem.  De subdirectory's van usr hebben daarentegen totaal
1866  verschillende ingangen.  In /usr/man vindt u bijvoorbeeld de zogeheten  verschillende ingangen.  In \file{/usr/man} vinden we bijvoorbeeld de zogeheten
1867  man pages, waar we verder nog op terug komen.  In /usr/X11R6  man pages, waar we verder nog op terug komen.  In \file{/usr/X11R6}
1868  daarentegen bevindt zich het X Window system met al zijn programma's.  daarentegen bevindt zich het X Window system met al zijn programma's.
1869  Onder /usr/src wordt de broncode van uw zelf-gecompileerde programma's  Onder \file{/usr/src} wordt de broncode van onze zelf-gecompileerde programma's
1870  of kernels opgeslagen en tenslotte worden in de directory /usr/local  of kernels opgeslaan en tenslotte worden in de directory \file{/usr/local}
1871  de systeem-specifieke programma's van een gebruiker opgeslagen als de  de systeem-specifieke programma's van een gebruiker opgeslagen als de
1872  computer in een netwerk wordt gebruikt.  computer in een netwerk wordt gebruikt.
1873    
1874  \item[/var]  \item[/var] In deze directory slaat \linux\ bestanden op die regelmatig gewijzigd worden.
1875  In deze directory slaat \linux\ variabele, dus zich wijzigende  We vinden er bijvoorbeeld de inhoud van het
 bestanden op. We vinden er bijvoorbeeld de inhoud van het  
1876  cache-geheugen, lockfiles\footnote{files die verhinderen dat we een  cache-geheugen, lockfiles\footnote{files die verhinderen dat we een
1877  programma meerdere malen tegelijk starten.}, logfiles, wachtrijen voor  programma meerdere malen tegelijkertijd starten.}, logfiles, wachtrijen voor
1878  printers of mail, pids of process-id files en nog zoveel meer  printers of mail, pids of process-id files en nog zoveel meer.
1879    
1880  \item[/mnt]  \item[/mnt] Als we naast de harde schijf ook nog andere gegevensdragers willen
1881  Als we naast de harde schijf ook nog andere gegevensdragers willen  aanspreken is de \begrip{/mnt} directory behoorlijk belangrijk. Hier worden andere gegevensdragers gemount. Verderop wordt
 aanspreken is de \begrip{/mnt} directory behoorlijk belangrijk.  Onder  
 \linux\ wordt dat trouwens \begrip{mounten} genoemd.  Verderop wordt  
1882  dit in detail besproken. Als we voorlopig onthouden dat een gemount  dit in detail besproken. Als we voorlopig onthouden dat een gemount
1883  medium hier te vinden zou moeten zijn, zitten we wel  medium hier te vinden zou moeten zijn, zitten we wel
1884  goed. \emph{Opmerking!} Het moet echter niet in deze directory zijn,  goed. Opmerking: het moet echter niet in deze directory zijn,
1885  maar het is een aanvaarde ``gewoonte'' om hier cdrom en floppy te  maar het is een aanvaarde gewoonte om hier cdrom en floppy te
1886  mounten. Andere harddisk-partities worden op de plaatsen gemount waar  mounten. Andere harddisk-partities worden op de plaatsen gemount waar
1887  ze nodig zijn.  ze nodig zijn.
1888    
# Line 1892  ze nodig zijn. Line 1895  ze nodig zijn.
1895  }{Discussion on the intuitiveness of commands, especially Emacs }  }{Discussion on the intuitiveness of commands, especially Emacs }
1896    
1897    
1898  \section{Vi(m)}  \section{Vi(m)} \index{vim}\index{vi}
1899    
1900  \begin{urlbox}  \begin{urlbox}
1901  \url{http://www.vim.org}  \url{http://www.vim.org}
1902  \end{urlbox}  \end{urlbox}
1903    
1904  \begrip{Vim} is gebaseerd op de populaire editor \begrip{vi} die op  \begin{figure}
1905    \center
1906    \includegraphics[angle=90,width=11cm]{inleiding/viminsert.png}
1907    \caption{Vim in insert modus}
1908    \end{figure}
1909    
1910    \Begrip{Vim} is gebaseerd op de populaire editor \begrip{vi} die op
1911  elke \unix/\gl\ PC te vinden is. Daarom is het noodzakelijk dat men de  elke \unix/\gl\ PC te vinden is. Daarom is het noodzakelijk dat men de
1912  basis kent van deze editor.  Want het kan gebeuren dat als we een  basis kent van deze editor.  Want het kan gebeuren dat als we een
1913  bestand willen bewerken we geen keuze hebben uit verschillende  bestand willen bewerken we geen keuze hebben uit verschillende
1914  editors, we zullen dan verplicht worden vi te gebruiken.  editors en we verplicht worden vi te gebruiken.
1915    
1916  Vi is te vinden in elke configuratie omdat het weinig geheugen vereist  Vi is te vinden in elke configuratie omdat het weinig geheugen vereist
1917  en snel opstart.  Vim is een uitbreiding van vi. Wie meer over Vim te  en snel opstart.  Vim is een uitbreiding en verbetering\footnote{Er wordt wel eens gezegd dat \engels{vi} staat voor \engels{Vim Imitation}} van vi. Wie meer over Vim te
1918  weten wil komen kan de Vim documentatie doornemen.  weten wil komen kan de Vim documentatie doornemen.
1919    
1920  We starten Vim op door \com{vim} in te tikken. Met \com{vim file}  We starten Vim op door \com{vim} in te tikken. Met \com{vim file}
1921  openen we het bestand \file{file} of maken we dit bestand aan.  openen we het bestand \file{file} of maken we dit bestand aan.
1922    
1923  Het volgende dienen we goed te onthouden: Vim heeft twee modi, nl.:  Het volgende dienen we goed te onthouden: Vim heeft twee modi:
   
 \begin{figure}  
 \center  
 \includegraphics{inleiding/viminsert.png}  
 \caption{Vim in insert modus}  
 \end{figure}  
1924    
1925  \begin{itemize}  \begin{itemize}
1926  \item de Command-mode;  \item de Command-mode;
# Line 1925  Het volgende dienen we goed te onthouden Line 1928  Het volgende dienen we goed te onthouden
1928  \end{itemize}  \end{itemize}
1929    
1930  In de Command-mode kunnen we de cursorpositie beheren, tekens  In de Command-mode kunnen we de cursorpositie beheren, tekens
1931  verwijderen, bestanden opslaan,\ldots In de Insert-mode kunnen we  verwijderen, bestanden opslaan,\ldots\ In de Insert-mode kunnen we
1932  tekens invoegen. In het begin is het onderscheid verwarrend, maar we  tekens invoegen. In het begin is het onderscheid verwarrend, maar we
1933  zullen ontdekken dat de snelheid van Vim en de trouwe aanwezigheid  zullen ontdekken dat de snelheid van Vim en de trouwe aanwezigheid
1934  opwegen tegen de ``beperkte'' interface van het programma.  opwegen tegen de ``beperkte'' interface van het programma.
1935    
 \begin{figure}  
 \center  
 \includegraphics{inleiding/vim2sch.png}  
 \caption{In Vim kun je meerdere documenten tegelijkertijd bewerken}  
 \end{figure}  
   
1936  Standaard starten we Vim op in Command-mode.  Willen we naar  Standaard starten we Vim op in Command-mode.  Willen we naar
1937  Insert-mode, dan drukken we de i-toets in.  Terug overschakelen naar  Insert-mode, dan drukken we de i-toets in.  Terug overschakelen naar
1938  de Command-mode gebeurt door de escape-toets in te drukken.  de Command-mode gebeurt door de escape-toets in te drukken.
# Line 1943  de Command-mode gebeurt door de escape-t Line 1940  de Command-mode gebeurt door de escape-t
1940  Hier volgt een bespreking van enkele commando's die we zeker zullen  Hier volgt een bespreking van enkele commando's die we zeker zullen
1941  moeten beheersen.  moeten beheersen.
1942    
1943    \begin{figure}
1944    \center
1945    \includegraphics[angle=90,width=11cm]{inleiding/vim2sch.png}
1946    \caption{In Vim kun je meerdere documenten tegelijkertijd bewerken}
1947    \end{figure}
1948    
1949  Commando-modus  Commando-modus
1950  \begin{description}  \begin{description}
1951  \item [\emph{:help}] De helppagina's van Vim bekijken.  \item [\emph{:help}] De helppagina's van Vim bekijken.
# Line 1953  Commando-modus Line 1956  Commando-modus
1956  \item [\emph{x}] Het teken onder de cursor verwijderen.  \item [\emph{x}] Het teken onder de cursor verwijderen.
1957  \item [Tweemaal \emph{d}] Een hele regel verwijderen.  \item [Tweemaal \emph{d}] Een hele regel verwijderen.
1958  \item [\emph{A}] Naar het einde van de regel gaan en overschakelen naar insert  \item [\emph{A}] Naar het einde van de regel gaan en overschakelen naar insert
1959  mode zetten.  mode.
1960  \item [\emph{i}] Overschakelen naar insert-mode voor het teken onder de  \item [\emph{i}] Overschakelen naar insert-mode voor het teken onder de
1961  cursor.  cursor.
1962  \item [\emph{a}] Overschakelen naar insert-mode na het teken  \item [\emph{a}] Overschakelen naar insert-mode na het teken
# Line 1968  standaard in vi-mode opgestart worden. W Line 1971  standaard in vi-mode opgestart worden. W
1971  gaan door dit commando te geven. Hierbij kunnen we gemakkelijk zien of  gaan door dit commando te geven. Hierbij kunnen we gemakkelijk zien of
1972  we in insert-mode zijn of in command-mode en kunnen zaken als syntax  we in insert-mode zijn of in command-mode en kunnen zaken als syntax
1973  highlighting gebruikt worden.  highlighting gebruikt worden.
1974  \item [\emph{:syntax on[enter]}] Zorgt ervoor dat bij bvb source code keywords  \item [\emph{:syntax on[enter]}] Zorgt ervoor dat bij bijvoorbeeld source code keywords
1975  gekleurd worden = syntax highlighting.  gekleurd worden = syntax highlighting.
1976  \end{description}  \end{description}
1977    
1978  \begin{figure}  \begin{figure}
1979  \center  \center
1980  \includegraphics{inleiding/vimsynh.png}  \includegraphics[angle=90,width=11cm]{inleiding/vimsynh.png}
1981  \caption{Syntax highlighting in Vim}  \caption{Syntax highlighting in Vim}
1982  \end{figure}  \end{figure}
1983    
# Line 1992  Commando-mode opdrachten hebben de vorm: Line 1995  Commando-mode opdrachten hebben de vorm:
1995  \emph{r1,r2opdracht}  \emph{r1,r2opdracht}
1996  r1 en r2 geven het bereik aan van de opdracht. V.b. 1,5 wat wil zeggen  r1 en r2 geven het bereik aan van de opdracht. V.b. 1,5 wat wil zeggen
1997  van regel 1 tot regel 5.  We kunnen ook een \emph{\$} ingeven, dit  van regel 1 tot regel 5.  We kunnen ook een \emph{\$} ingeven, dit
1998  betekent laatste regel.  staat voor de laatste regel.
1999    
2000  \begin{description}  \begin{description}
2001  \item [\emph{r1,r2mr3}] verplaatst lijnen r1 tot r2 naar de plaats na lijn r3.  \item [\emph{r1,r2mr3}] verplaatst lijnen r1 tot r2 naar de plaats na lijn r3.
# Line 2004  string1 door string 2. Line 2007  string1 door string 2.
2007  \end{description}  \end{description}
2008    
2009  Aan de hand van reguliere expressies kunnen we complexere vervangingen  Aan de hand van reguliere expressies kunnen we complexere vervangingen
2010  doen.  In hoofdstuk \ref{bash} nemen we dit onder de loep.  doen.
2011    
2012  \section{Pico en \gnu\ nano}  \section{Pico en \gnu\ nano}\index{pico}
2013    
2014  \begin{urlbox}  \begin{urlbox}
2015  \url{http://www.washington.edu/pine/}\\  \url{http://www.washington.edu/pine/}\\
2016  \url{http://www.gnu.org/software/nano/}  \url{http://www.gnu.org/software/nano/}
2017  \end{urlbox}  \end{urlbox}
2018    
2019  \begrip{Pico} is een schermge\"orienteerde teksteditor gebaseerd op de \emph{Pine  \Begrip{Pico} is een schermge\"orienteerde teksteditor gebaseerd op de \emph{Pine
2020  message system composer}. Zoals bij Pine zijn de commando's onderaan  message system composer}. Zoals bij Pine zijn de commando's onderaan
2021  het scherm weergegeven.  Tekst kan onmiddellijk ingetikt worden.  het scherm weergegeven.  Tekst kan onmiddellijk ingetikt worden.
2022    
2023  Daar Pico geen vrije software is werd er vlug een vrije variant  Daar Pico geen vrije software is werd er vlug een vrije variant
2024  ontwikkeld: \begrip{\gnu\ nano}.  ontwikkeld: \Begrip{\gnu\ nano}\index{nano}.
2025    
2026  Commando's om de tekst te bewerken worden voorafgegaan door gebruik te  Commando's om de tekst te bewerken worden voorafgegaan door gebruik te
2027  maken van de control-toets combinaties. De control-toets wordt  maken van de control-toets combinaties. De control-toets wordt
# Line 2029  werken, kan men de control-toets emulere Line 2032  werken, kan men de control-toets emulere
2032    
2033  \begin{figure}  \begin{figure}
2034  \center  \center
2035  \includegraphics{inleiding/nano.png}  \includegraphics[angle=90,width=11cm]{inleiding/nano.png}
2036  \caption{nano}  \caption{Nano}
2037  \end{figure}  \end{figure}
2038    
2039  \begin{description}  \begin{description}
# Line 2052  als een plak toets. Line 2055  als een plak toets.
2055    
2056  \begin{figure}  \begin{figure}
2057  \center  \center
2058  \includegraphics{inleiding/nano2.png}  \includegraphics[angle=90,width=11cm]{inleiding/nano2.png}
2059  \caption{nano na te indrukken van Control-o}  \caption{Nano na het intypen van Control-o.}
2060  \end{figure}  \end{figure}
2061    
2062  Om nano te starten tikken we op de commandolijn gewoon \com{nano}  Om nano te starten tikken we op de commandolijn gewoon \com{nano}
2063  in. Geven we \com{nano file} in, dan wordt het bestand \file{file} geopend,  in. Geven we \com{nano file} in, dan wordt het bestand \file{file} geopend.
2064  indien het nog niet bestaat wordt het aangemaakt. De volgende opties  Indien het bestand nog niet bestaat, wordt het aangemaakt. De volgende opties
2065  zijn mogelijk bij nano:  zijn mogelijk bij nano:
2066    
2067  \begin{description}  \begin{description}
# Line 2069  op de cursorpositie staat. Line 2072  op de cursorpositie staat.
2072  \item [-e] Zorgt ervoor dat bestandsnamen automatisch aangevuld worden.  \item [-e] Zorgt ervoor dat bestandsnamen automatisch aangevuld worden.
2073  \item [-m] Zet de muisondersteuning aan. Dit werkt alleen als nano gestart werd  \item [-m] Zet de muisondersteuning aan. Dit werkt alleen als nano gestart werd
2074  vanuit een X Windows System ``xterm'' venster.  vanuit een X Windows System ``xterm'' venster.
2075  \item [-v] Hiermee kunt u alleen het bestand bekijken, aanpassingen maken is  \item [-v] Hiermee kunnen we alleen het bestand bekijken, aanpassingen maken is
2076  onmogelijk.  onmogelijk.
2077  \end{description}  \end{description}
2078    
# Line 2100  ook in de meeste andere \unix\ varianten Line 2103  ook in de meeste andere \unix\ varianten
2103  \section{Inloggen}  \section{Inloggen}
2104    
2105  De login prompt is altijd het eerste wat we zien als we met een \gl\  De login prompt is altijd het eerste wat we zien als we met een \gl\
2106  systeem  werken. Daar moet de username en wachtwoord ingetypt  systeem  werken. Daar moet een username en wachtwoord ingetypt
2107  worden.  Als de username en wachtwoord kloppen, komt er een  worden.  Als de username en wachtwoord kloppen, komt er een
2108  welkomst-melding op ons scherm, mislukt het aanmelden dan krijgen we  welkomst-melding op ons scherm, mislukt het aanmelden dan krijgen we
2109  na enkele seconden opnieuw de kans om in te loggen.  na enkele seconden opnieuw de kans om in te loggen.
# Line 2132  commando's kunnen terughalen (pijltjes o Line 2135  commando's kunnen terughalen (pijltjes o
2135  \section{Uitloggen}  \section{Uitloggen}
2136    
2137  Als we klaar zijn met werken, geven we het commando \com{logout} in. Of  Als we klaar zijn met werken, geven we het commando \com{logout} in. Of
2138  \com{exit}, wat hetzelfde effect heeft. Dit heet uitloggen. Daarna  \com{exit}, wat hetzelfde effect heeft. Dit heet uitloggen. De login prompt
2139  verschijnt de login prompt weer in beeld en kunnen we, of een andere  verschijnt weer en er kan opnieuw ingelogd worden.
 persoon, weer inloggen.   
2140    
2141  \section{De computer uitzetten}  \section{De computer uitzetten}
2142    
2143  Als we de computer uit willen gaan zetten, zijn er een aantal dingen  Als we de computer uit willen zetten, zijn er een aantal dingen
2144  die heel anders gaan dan in DOS (maar wel vergelijkbaar met  die heel anders gaan dan in DOS (maar wel vergelijkbaar met
2145  \win-varianten).  Als we zijn aangesloten op een lokaal netwerk (dat  \win-varianten).  Als we zijn aangesloten op een lokaal netwerk (dat
2146  zelf eventueel aan Internet `hangt'), kunnen er op elk willekeurig  zelf eventueel aan Internet `hangt'), kunnen er op elk willekeurig
2147  moment (ook als er niemand op de console ingelogd is!)  vele  moment (ook als er niemand op de console ingelogd is!)  vele
2148  verbindingen zijn met jouw computer.  verbindingen zijn met onze computer.
2149    
2150  Zoals al opgemerkt in \ref{sshuitleg}, kunnen er mensen via het  Zoals te lezen is in hoofdstuk \ref{sshuitleg}, kunnen mensen via het
2151  netwerk ingelogd zijn op/werken met onze computer, maar ook zijn  netwerk ingelogd zijn op onze computer. Daarnaast kunnen er
2152  verbindingen voor bestandsoverdracht mogelijk. Voor de computer  verbindingen voor bestandsoverdracht aangemaakt zijn. Voor de computer
2153  uitgezet wordt, moeten al deze verbindingen netjes worden afgesloten,  uitgezet wordt, moeten al deze verbindingen netjes worden afgesloten,
2154  anders ontstaat er een kleine chaos op het netwerk.   anders ontstaat er een kleine chaos op het netwerk. 
2155    
# Line 2167  stukjes zijn `gebufferd', worden ze in \ Line 2169  stukjes zijn `gebufferd', worden ze in \
2169  harde schijf geschreven; de tijd die daarvoor nodig is, is praktisch  harde schijf geschreven; de tijd die daarvoor nodig is, is praktisch
2170  gelijk aan die voor het schrijven van één klein stukje. De cache wordt  gelijk aan die voor het schrijven van één klein stukje. De cache wordt
2171  helemaal door de \linux\ kernel geregeld, zelfs de cache-grootte, die  helemaal door de \linux\ kernel geregeld, zelfs de cache-grootte, die
2172  aangepast wordt aan het geheugengebruik van andere programma's---met  aangepast wordt aan het geheugengebruik van andere programma's --- met
2173  64 MB werkgeheugen kan er gemakkelijk 50 MB gebruikt worden voor  64 MB werkgeheugen kan er gemakkelijk 50 MB gebruikt worden voor
2174  cache.  cache.
2175    
# Line 2176  schrijf-cache eerst wordt `geleegd', and Line 2178  schrijf-cache eerst wordt `geleegd', and
2178  verloren gaan.  Dat zijn de twee belangrijkste redenen waarom nooit  verloren gaan.  Dat zijn de twee belangrijkste redenen waarom nooit
2179  een computer die \gl\ draait zomaar mag uitgezet worden. Voor  een computer die \gl\ draait zomaar mag uitgezet worden. Voor
2180  de shutdown is een speciale procedure ontwikkeld, die voor allerlei  de shutdown is een speciale procedure ontwikkeld, die voor allerlei
2181  afsluit-bezigheden zorgdraagt.  afsluit-bezigheden zorg draagt.
2182    
2183  Die procedure is te starten door de Control, Alt en Delete toetsen  Die procedure is te starten door de Control, Alt en Delete toetsen
2184  tegelijkertijd in te drukken (aangeduid met Ctrl-Alt-Del). Niet alle  tegelijkertijd in te drukken (aangeduid met Ctrl-Alt-Del). Niet alle
# Line 2188  Als we die toetscombinatie hebben gebrui Line 2190  Als we die toetscombinatie hebben gebrui
2190  meldingen over het scherm komen en zal het systeem tenslotte  meldingen over het scherm komen en zal het systeem tenslotte
2191  rebooten. Na die reboot kunnen we de computer uitzetten, bijvoorbeeld  rebooten. Na die reboot kunnen we de computer uitzetten, bijvoorbeeld
2192  tijdens het testen van het geheugen.  Trouwens, als we de computer  tijdens het testen van het geheugen.  Trouwens, als we de computer
2193  niet netjes uitzetten, zul je dat merken ook\ldots Als we dan  niet netjes uitzetten, zul we dat merken ook\ldots\ Wanneer we
2194  weer opnieuw starten, krijgen we een melding als \Begrip{/dev/hda5 was  weer opstarten, krijgen we een melding als \Begrip{/dev/hda5 was
2195  not cleanly unmounted, check forced} en dan wordt de hele harde  not cleanly unmounted, check forced} en dan wordt de hele harde
2196  schijf getest op fouten, die zouden kunnen zijn ontstaan omdat de  schijf getest op fouten, die zouden kunnen zijn ontstaan omdat de
2197  schrijf-cache nog niet was geleegd. En dat testen kan bij grotere  schrijf-cache nog niet was geleegd. En dat testen kan bij grotere
# Line 2251  Een directory waar wat meer in te bezich Line 2253  Een directory waar wat meer in te bezich
2253  directory.  directory.
2254    
2255  \begin{opgave}  \begin{opgave}
2256  Geef het commando \com{ls /} om dat te bekijken.  Geef het commando \com{ls /} om de rootdirectory te bekijken.
2257  \end{opgave}  \end{opgave}
2258    
2259  \input{inleiding/lsroot}  \input{inleiding/lsroot}
2260    
2261  Aan de meeste commando's kunnen we extra parameters (switches)  Aan de meeste commando's kunnen we extra parameters (switches)
2262  meegeven.  Laten we eens een paar switches proberen, met  meegeven.  Laten we eens een paar switches proberen, met
2263  het commando \com{ls -a -l -F /}. Daarmee krijgen we opeens een  het commando \com{ls -a -l -F}. Daarmee krijgen we opeens een
2264  heleboel meer informatie. Meestal mogen we die switches achter elkaar  heleboel meer informatie. Meestal mogen we die switches achter elkaar
2265  plakken, zoals in \com{ls -alF /} . Dat is het standaardcommando om in  plakken, zoals in \com{ls -alF}. Dat is het standaardcommando om in
2266  \gl\ een directory te bekijken. Het werkt trouwens in elke \unix\  \gl\ een directory te bekijken. Het werkt trouwens in elke \unix\
2267  variant, omdat het in een standaard is vastgelegd.  variant, omdat het in een standaard is vastgelegd.
2268    
# Line 2269  Voer een directory listing uit op je she Line 2271  Voer een directory listing uit op je she
2271  besproken directories uit \ref{sec:verschdirs} herkent.  besproken directories uit \ref{sec:verschdirs} herkent.
2272  \end{opgave}  \end{opgave}
2273    
2274  De uitgebreide directory-listing van \com{ls -alF} bestaat uit de  De uitgebreide directory-listing van \com{ls -alF /} bestaat uit de
2275  volgende velden (kolommen, fields), we komen later uitgebreid op alle  volgende velden (kolommen, fields), we komen later uitgebreid op alle
2276  aspecten terug:  aspecten terug:
2277    
# Line 2282  aspecten terug: Line 2284  aspecten terug:
2284    groepen van drie letters zijn de read, write en execute (uitvoer)    groepen van drie letters zijn de read, write en execute (uitvoer)
2285    rechten (permissions) voor respectievelijk de eigenaar, de groep en    rechten (permissions) voor respectievelijk de eigenaar, de groep en
2286    `alle anderen'. Als een bepaald recht niet is verleend, staat er een    `alle anderen'. Als een bepaald recht niet is verleend, staat er een
2287    `-'. Bij directory's betekent het execute bit dat er toestemming is    `-'. Bij directory's betekent de execute bit dat er toestemming is
2288    om naar die directory toe te gaan (met het commando \com{cd}).    om naar die directory toe te gaan (met het commando \com{cd}).
2289  \item Het aantal hard links naar het bestand (vergeet dat maar even);  \item Het aantal hard links naar het bestand (vergeet dat maar even);
2290  \item De eigenaar van het bestand;  \item De eigenaar van het bestand;
# Line 2291  aspecten terug: Line 2293  aspecten terug:
2293  \item De datum en tijd waarop het bestand voor het laatst is  \item De datum en tijd waarop het bestand voor het laatst is
2294    gewijzigd;    gewijzigd;
2295  \item De bestandsnaam zelf;  \item De bestandsnaam zelf;
2296  \item Aan de bestandsnaam vast een teken wat `specialiteiten'  \item Aan de bestandsnaam plakt een teken wat `specialiteiten'
2297    duidelijk maakt, bijvoorbeeld een `/' achter een directorynaam en    duidelijk maakt, bijvoorbeeld een `/' achter een directorynaam en
2298    een `*' achter een uitvoerbaar bestand (programma).    een `*' achter een uitvoerbaar bestand (programma).
2299  \end{itemize}  \end{itemize}
2300    
2301  We kunnen ook naar de / directory toe gaan, met het commando \com{cd  We kunnen ook naar de / directory gaan, met het commando \com{cd
2302    /}.    /}.
2303    
2304  \begin{opgave}  \begin{opgave}
# Line 2305  We kunnen ook naar de / directory toe ga Line 2307  We kunnen ook naar de / directory toe ga
2307    
2308  Nu kunnen we met \com{ls -alF} (zonder de /) de inhoud van de /  Nu kunnen we met \com{ls -alF} (zonder de /) de inhoud van de /
2309  directory bekijken. We zouden weer terug kunnen gaan met \com{cd  directory bekijken. We zouden weer terug kunnen gaan met \com{cd
2310    /home/$<$username$>$}, maar alleen \com{cd} heeft hetzelfde resultaat.    /home/$<$username$>$}, \com{cd} heeft hetzelfde resultaat.
2311  Met \com{pwd} kunnen we het resultaat weer bekijken.   Met \com{pwd} kunnen we het resultaat weer bekijken. 
2312    
2313  \begin{opgave}  \begin{opgave}
# Line 2313  Ga terug naar je home directory. Line 2315  Ga terug naar je home directory.
2315  \end{opgave}  \end{opgave}
2316    
2317  \begin{opgave}  \begin{opgave}
2318  Geef ook eens in onze home directory het commando \com{ls -alF} in .  Geef ook eens in onze home directory het commando \com{ls -alF} in.
2319  \end{opgave}  \end{opgave}
2320    
2321  Dan blijken er opeens bestanden in die directory te staan die beginnen  Dan blijken er opeens bestanden in die directory te staan die beginnen
# Line 2353  Om een bestand te bekijken, kunnen we he Line 2355  Om een bestand te bekijken, kunnen we he
2355  gebruiken.  gebruiken.
2356    
2357  \begin{opgave}  \begin{opgave}
2358    Doe \com{cat /etc/motd}, om \begrip{the message of the day} te zien.    Doe \com{cat /etc/motd}, om \Begrip{the message of the day} te zien.
2359  \end{opgave}  \end{opgave}
2360    
2361  \begin{opgave}  \begin{opgave}
# Line 2400  Type \com{cat /etc/shadow-}(de `-' is ge Line 2402  Type \com{cat /etc/shadow-}(de `-' is ge
2402    
2403  We zien een typische \gl\ beveiliging: we hebben geen toestemming om  We zien een typische \gl\ beveiliging: we hebben geen toestemming om
2404  dit bestand te lezen. Er kunnen namelijk geheimen in staan, in dit  dit bestand te lezen. Er kunnen namelijk geheimen in staan, in dit
2405  geval de ge\"encrypteerde wachtwoorden van ons \gl\ systeem en het is  geval de ge\"encrypteerde paswoorden van ons \gl\ systeem en het is
2406  niet de bedoeling dat elke willekeurige gebruiker die wachtwoorden te  niet de bedoeling dat elke willekeurige gebruiker die paswoorden kan lezen.
 weten komt.  
2407    
2408  Daarom is dat bestand alleen leesbaar voor de root gebruiker, en voor  Daarom is dat bestand alleen leesbaar voor de root gebruiker, en voor
2409  niemand anders en dan is er voor jou als gewone gebruiker totaal geen  niemand anders en dan is er voor jou als gewone gebruiker totaal geen
# Line 2444  Nu wordt de commandline aangevuld tot 'l Line 2445  Nu wordt de commandline aangevuld tot 'l
2445    de TAB toets.    de TAB toets.
2446  \end{opgave}  \end{opgave}
2447    
2448  Dan wordt de commandline aangevuld met het ganse woord.  Hadden we  Dan wordt de commandline aangevuld met het hele woord.  Hadden we
2449  aangevuld met een 'd' dan hadden we terug het commando dat we  aangevuld met een 'd' dan hadden we terug het commando dat we
2450  daarjuist ingevoerd hadden.  daarjuist ingevoerd hadden.
2451    
# Line 2476  gevallen kun/moet je ook \com{echo [Ctrl Line 2477  gevallen kun/moet je ook \com{echo [Ctrl
2477  \section{Bestanden kopi\"eren, verplaatsen en verwijderen}  \section{Bestanden kopi\"eren, verplaatsen en verwijderen}
2478    
2479  Veel gebruikte commando's hebben in \gl\ vaak korte namen, om zo  Veel gebruikte commando's hebben in \gl\ vaak korte namen, om zo
2480  typewerk te besparen en efficiency te vergroten. Kopi\"eren en  typewerk te besparen en efficiëntie te vergroten. Kopi\"eren en
2481  verplaatsen gaat met de commando's \com{cp} en \com{mv}, afkortingen  verplaatsen gaat met de commando's \com{cp} en \com{mv}, afkortingen
2482  van `copy' en `move'. Verwijderen gaat met \com{rm}, van `remove'.   van `copy' en `move'. Verwijderen gaat met \com{rm}, van `remove'. 
2483  Laten we weer eens wat proberen.  Laten we weer eens wat proberen.
# Line 2572  anderen'' alleen maar mogen lezen. Line 2573  anderen'' alleen maar mogen lezen.
2573  Het is geen uitvoerbaar bestand (programma) dus er staat nergens een  Het is geen uitvoerbaar bestand (programma) dus er staat nergens een
2574  x. Merk trouwens op dat onze groepnaam momenteel gelijk is aan onze  x. Merk trouwens op dat onze groepnaam momenteel gelijk is aan onze
2575  username, maar dat kan eventueel ook anders.  Om het bestand voor  username, maar dat kan eventueel ook anders.  Om het bestand voor
2576  jezelf niet meer leesbaar te maken, doen we \com{chmod u-r  onszelf niet meer leesbaar te maken, doen we \com{chmod u-r
2577    modetestfile} (gebruik de TAB toets!). Met \com{ls -alF} blijkt dat    modetestfile} (gebruik de TAB toets!). Met \com{ls -alF} blijkt dat
2578  de mode bits nu op \verb!--w-r--r--! staan, en dat was ook de  de mode bits nu op \verb!--w-r--r--! staan, en dat was ook de
2579  bedoeling.  bedoeling.
# Line 2606  Naast de letter-teken-letter reeks is er Line 2607  Naast de letter-teken-letter reeks is er
2607  mode bits aan te geven, namelijk met drie cijfers van 0 tot 7. Elk bit  mode bits aan te geven, namelijk met drie cijfers van 0 tot 7. Elk bit
2608  heeft namelijk een gewicht, zoals hieronder aangegeven.   heeft namelijk een gewicht, zoals hieronder aangegeven. 
2609    
2610    \begin{minipage}{\textwidth}
2611  \begin{verbatim}  \begin{verbatim}
2612  cijfer       1     2     3  cijfer       1     2     3
2613             /   \ /   \ /   \             /   \ /   \ /   \
# Line 2613  gewicht    4 2 1 4 2 1 4 2 1 Line 2615  gewicht    4 2 1 4 2 1 4 2 1
2615  mode bit - r w x r w x r w x   mode bit - r w x r w x r w x 
2616     special user  group others     special user  group others
2617  \end{verbatim}  \end{verbatim}
2618    \end{minipage}
2619    
2620  Om een combinatie van permissies toe te kennen (zoals rx, maar geen w),  Om een combinatie van permissies toe te kennen (zoals rx, maar geen w),
2621  tellen we de gewichten gewoon bij elkaar op (in het voorbeeld 4+1=5).  tellen we de gewichten gewoon bij elkaar op (in het voorbeeld 4+1=5).
# Line 2630  is wat omslachtiger.  Line 2633  is wat omslachtiger. 
2633    
2634  \section{Links}  \section{Links}
2635    
2636  Een bestand wordt opgeslagen op een bepaalde plaats op de harde  Een bestand wordt opgeslaan op een bepaalde plaats op de harde
2637  schijf. In de directory staat niet veel meer dan de naam van dat  schijf. In de directory staat niet veel meer dan de naam van dat
2638  bestand en de plaats waar het op de harde schijf te vinden is. In \gl\  bestand en de plaats waar het op de harde schijf te vinden is. In \gl\
2639  is het ook mogelijk om twee directory-items naar dezelfde plaats op de  is het ook mogelijk om twee directory-items naar dezelfde plaats op de
2640  harde schijf te laten wijzen---dan zijn er dus twee namen voor  harde schijf te laten wijzen --- dan zijn er dus twee namen voor
2641  \'e\'en bestand. We zeggen dan dat er twee links zijn naar dat  \'e\'en bestand. We zeggen dat er twee links zijn naar dat
2642  bestand. Het commando dat daarvoor gebruikt wordt, is \com{ln}, van  bestand. Het commando dat daarvoor gebruikt wordt, is \com{ln}, van
2643  link.   link. 
2644    
# Line 2648  type \com{cp /etc/motd origfile}. In pla Line 2651  type \com{cp /etc/motd origfile}. In pla
2651  Als \com{ls -al} ingegeven wordt, lijkt het alsof er gewoon  Als \com{ls -al} ingegeven wordt, lijkt het alsof er gewoon
2652  gekopieerd is. Wanneer we echter naar de tweede kolom van de listing  gekopieerd is. Wanneer we echter naar de tweede kolom van de listing
2653  kijken, zien we daar 2 staan. Er zijn blijkbaar twee links en dat  kijken, zien we daar 2 staan. Er zijn blijkbaar twee links en dat
2654  klopt ook.  klopt.
2655    
2656  \begin{opgave}  \begin{opgave}
2657  Verander nu met een editor naar voorkeur iets in secondfile  Verander nu met een editor naar voorkeur iets in secondfile
# Line 2672  schijf en niet naar een bestand met de n Line 2675  schijf en niet naar een bestand met de n
2675  hard link.  hard link.
2676    
2677  Om toch naar `het bestand met de naam origfile' te verwijzen, is er  Om toch naar `het bestand met de naam origfile' te verwijzen, is er
2678  een andere soort link, namelijk de symbolic link of symlink (enigszins  een andere soort link, namelijk de symbolic link of \begrip{symlink} (enigszins
2679  te vergelijken met de snelkoppeling in Windows 95/98). Zo'n link maken  te vergelijken met de snelkoppeling in Windows 95/98). Zo'n link maken
2680  gaat met de switch -s van ln.   gaat met de switch -s van ln. 
2681    
# Line 2701  op dit moment een verwijzing naar niets. Line 2704  op dit moment een verwijzing naar niets.
2704  \end{opgave}  \end{opgave}
2705    
2706  Op deze manier is het mogelijk om nieuwe versies van bestanden en  Op deze manier is het mogelijk om nieuwe versies van bestanden en
2707  programma's te installeren, zonder de links te hoeven veranderen.  programma's te installeren, zonder de links te veranderen.
2708  Zolang de naam van het geupdate bestand hetzelfde blijft, wijst de  Zolang de naam van het geupdate bestand hetzelfde blijft, wijst de
2709  symlink naar de geupdate versie.   symlink naar de geupdate versie. 
2710    
# Line 2709  symlink naar de geupdate versie.  Line 2712  symlink naar de geupdate versie. 
2712    
2713  Met het commando \com{mkdir testdirectory} (van make directory) kunnen  Met het commando \com{mkdir testdirectory} (van make directory) kunnen
2714  we een nieuwe subdirectory aanmaken (bekijk met \com{ls -alF}). Met  we een nieuwe subdirectory aanmaken (bekijk met \com{ls -alF}). Met
2715  \com{cd testdirectory} `duiken' we erin en met \com{cd ..} ga we weer  \com{cd testdirectory} `duiken' we erin en met \com{cd ..} (let op de spatie tussen ``cd'' en ``..'') gaan we weer
2716  terug.  Het weghalen van een lege(!)  directory gaat met \com{rmdir  terug.  Het weghalen van een lege(!)  directory doen we met \com{rmdir
2717    testdirectory} (van remove directory).  Als we de directory niet    testdirectory} (van remove directory).  Als we de directory niet
2718  zelf helemaal willen leeghalen (bijvoorbeeld als er veel  zelf helemaal willen leeghalen (bijvoorbeeld als er veel
2719  subdirectories zijn) kunnen we \com{rm -rf testdirectory} gebruiken.  subdirectories zijn) kunnen we \com{rm -rf testdirectory} gebruiken.
# Line 2730  Maak enkele directories aan in je homedi Line 2733  Maak enkele directories aan in je homedi
2733  daarvan gebruik te maken, zijn de virtuele consoles.   daarvan gebruik te maken, zijn de virtuele consoles. 
2734    
2735  \begin{opgave}  \begin{opgave}
2736    Zorg dat we ingelogd zijn, doe iets als \com{less /etc/fb.modes}    Zorg dat je ingelogd bent, doe iets als \com{less /etc/fb.modes}
2737    en blader er een stukje doorheen. Toets dan LinkseAlt-F2, zo ga je    en blader er een stukje doorheen. Toets dan LinkseAlt+F2, zo ga je
2738    naar de tweede virtuele console. De tekst die we aan het bekijken    naar de tweede virtuele console. De tekst die je aan het bekijken
2739    waren verdwijnt en er verschijnt een login prompt. Als we weer    bent, verdwijnt en er verschijnt een login prompt. Als je weer de
2740    LinkseAlt-F1 toetsen, verschijnt de tekst weer---op de eerste    LinkseAlt+F1 toetsen induwd, verschijnt de tekst weer --- op de eerste
2741    virtuele console.  Ga met LinkseAlt-F2 weer naar de tweede virtuele    virtuele console.  Ga met LinkseAlt+F2 weer naar de tweede virtuele
2742    console en geef gewoon onze eigen username en wachtwoord (let ook op    console en geef je eigen gebruikersnaam en wachtwoord (let ook op
2743    `tty2' net boven de login prompt---dat is de naam van die virtuele    `tty2' net boven de login prompt --- dat is de naam van die virtuele
2744    console. We krijgen gewoon weer een shell gepresenteerd. Type daar    console. Je krijgt weer een shell gepresenteerd. Type daar
2745    bijvoorbeeld \com{ls -al /}. En we hebben een directory-listing    bijvoorbeeld \com{ls -al /}. En je krijgt een directory-listing
2746    gekregen terwijl we (op de andere virtuele console) een bestand aan    terwijl je (op de andere virtuele console) een bestand aan
2747    het bekijken was: dat is multi-tasking.     het bekijken was: dat is multi-tasking. 
2748  \end{opgave}  \end{opgave}
2749    
2750  Met LinkseAlt-F3 t/m LinkseAlt-F6 kunnen we nog vier andere virtuele  Met LinkseAlt-F3 t/m LinkseAlt-F6 kunnen we nog vier andere virtuele
2751  consoles bereiken; dat zou voldoende moeten zijn voor relatief zware  consoles bereiken; dat zou voldoende moeten zijn voor relatief zware
2752  multi-tasking (je kunt later eventueel meer toevoegen).  We kunnen  multi-tasking (we kunnen later eventueel meer consoles toevoegen).  We kunnen
2753  zien wie er allemaal ingelogd zijn met het commando \com{who}, of wat  zien wie er allemaal ingelogd is met het commando \com{who}, of wat
2754  uitgebreider met \com{who -HTi}.  uitgebreider met \com{who -HTi}.
2755    
2756  \begin{opgave}  \begin{opgave}
# Line 2762  Elk programma dat `draait', wordt een pr Line 2765  Elk programma dat `draait', wordt een pr
2765  proces krijgt een uniek nummer, genoemd process identification,  proces krijgt een uniek nummer, genoemd process identification,
2766  process ID of (meestal) pid. Elk proces draait op één bepaalde  process ID of (meestal) pid. Elk proces draait op één bepaalde
2767  terminal (bijvoorbeeld een virtuele console.  terminal (bijvoorbeeld een virtuele console.
2768     
2769  Met het commando \com{ps} kunnen we een lijst krijgen van processen die wij  Met het commando \com{ps} kunnen we een lijst krijgen van processen die wij
2770  hebben draaien. Daarop zien we bijvoorbeeld de shell(s) en ook ps  hebben draaien. Daarop zien we bijvoorbeeld de shell(s) en ook ps
2771  zelf. In de kolom `PID' staat het proces-nummer en onder `TT' staat de  zelf. In de kolom `PID' staat het proces-nummer en onder `TT' staat de
2772  terminal (plak /dev/tty ervoor voor de complete naam). Als er een  terminal (plak /dev/tty ervoor voor de complete naam). Als er een
2773  vraagteken (`?') onder `TT' staat, is er geen controlling terminal en  vraagteken (`?') onder `TT' staat, is er geen controlling terminal en
2774  draait het programma `in de achtergrond'.   draait het programma `in de achtergrond'.
2775    
2776  Gebruik \com{ps aux} om een uitgebreide lijst te zien van alle  Gebruik \com{ps aux} om een uitgebreide lijst te zien van alle
2777  processen die op dit moment draaien (de aux is een switch, maar dan  processen die op dit moment draaien (de aux is een switch, maar dan
# Line 2776  zonder `-' ervoor). En dat blijken er no Line 2779  zonder `-' ervoor). En dat blijken er no
2779  hier niet allemaal behandelen, maar neem aan dat ze allemaal nodig  hier niet allemaal behandelen, maar neem aan dat ze allemaal nodig
2780  zijn om het systeem correct te laten functioneren. In ieder geval is  zijn om het systeem correct te laten functioneren. In ieder geval is
2781  er een proces met de naam init, dat pid 1 heeft. Dat is het programma  er een proces met de naam init, dat pid 1 heeft. Dat is het programma
2782  /sbin/init dat als eerste door de kernel is gestart. Init heeft er  \file{/sbin/init} dat als eerste door de kernel is gestart. Init heeft er
2783  bijvoorbeeld voor gezorgd dat er zes virtuele consoles beschikbaar  bijvoorbeeld voor gezorgd dat er zes virtuele consoles beschikbaar
2784  zijn gekomen.  Niet alle processen doen trouwens altijd iets. Sterker  kwamen. Niet alle processen doen trouwens altijd iets. Sterker
2785  nog, de meeste processen `liggen te slapen' en wachten tot ze `wakker'  nog, de meeste processen `liggen te slapen' en wachten tot ze `wakker'
2786  gemaakt worden. De shell bash doet niets anders dan wachten tot we  gemaakt worden. De shell bash doet niets anders dan wachten tot we
2787  eens een toets in gaan drukken, of wachten tot het programma wat  eens een toets indrukken, of wachten tot het programma wat
2788  erdoor gestart is, is afgelopen. Dit slapen kunnen we zien aan de  erdoor gestart is, is afgelopen. Dit slapen kunnen we zien aan de
2789  letter `S' (van sleep) in de kolom `STAT' (van state of status,  letter `S' (van sleep) in de kolom `STAT' (van state of status,
2790  toestand). De `R' daar is van running, dan is een proces dat ook echt  toestand). De `R' daar is van running, dan is een proces dat ook echt
2791  iets aan het doen is---zoals ps zelf, die de lijst van processen aan het  iets aan het doen is --- zoals ps zelf, die de lijst van processen aan het
2792  presenteren is. Onder `TIME' staat het aantal minuten:seconden dat een  presenteren is. Onder `TIME' staat het aantal minuten:seconden dat een
2793  programma totaal al heeft gerund sinds het gestart is (kolom  programma al heeft gerund sinds het gestart is (kolom
2794  `START'), en meestal is dat niet zo lang.   `START'), en meestal is dat niet zo lang. 
2795    
2796  \section{Process en job control}  \section{Process en job control}
# Line 2810  een signaal kan gebeuren met het command Line 2813  een signaal kan gebeuren met het command
2813    
2814  Juist, het proces more is be\"eindigd, (terminated) ofwel gekilled. Als  Juist, het proces more is be\"eindigd, (terminated) ofwel gekilled. Als
2815  we geen signaal specific\"eren, stuurt kill standaard het TERM signaal  we geen signaal specific\"eren, stuurt kill standaard het TERM signaal
2816  (van terminate, ofwel beëindigen -- daar komt de naam `kill'  (van terminate, ofwel beëindigen --- daar komt de naam `kill'
2817  vandaan).  Het be\"eindigen van een programma kan ook vanaf dezelfde  vandaan).  Het be\"eindigen van een programma kan ook vanaf dezelfde
2818  virtuele console gebeuren en wel met Ctrl-C.  virtuele console gebeuren en wel met Ctrl-C.
2819    
# Line 2957  functioneert. Bijvoorbeeld \com{ls -alF Line 2960  functioneert. Bijvoorbeeld \com{ls -alF
2960    
2961  Stel voor dat we het commando \com{cat /usr/bin/* $|$ gzip $|$ od $|$  Stel voor dat we het commando \com{cat /usr/bin/* $|$ gzip $|$ od $|$
2962    gzip $|$ od $|$ gzip $|$ md5sum $>$ /tmp/testchecksum} zouden willen    gzip $|$ od $|$ gzip $|$ md5sum $>$ /tmp/testchecksum} zouden willen
2963  geven (waarom doet er trouwens niet toe). Dat commando doet er flink  geven (waarom doet er niet toe). Dat commando doet er flink
2964  lang over, zeker een paar minuten. En ondertussen willen we wel  lang over, zeker een paar minuten. En ondertussen willen we wel
2965  doorwerken.  Dan zouden we het natuurlijk op een aparte virtuele  doorwerken.  Dan zouden we het natuurlijk op een aparte virtuele
2966  console kunnen doen, maar dan moeten we daar ook weer inloggen. Er is  console kunnen doen, maar dan moeten we daar ook weer inloggen. Er is
# Line 2967  achtergrond (background). Line 2970  achtergrond (background).
2970  Dat kan, omdat het programma toch geen schermuitvoer heeft, alles  Dat kan, omdat het programma toch geen schermuitvoer heeft, alles
2971  wordt omgeleid naar een bestand.  E\'en manier om dat te doen, is het  wordt omgeleid naar een bestand.  E\'en manier om dat te doen, is het
2972  programma gewoon starten door het in te typen. Suspend het dan (als we  programma gewoon starten door het in te typen. Suspend het dan (als we
2973  het te lang vinden gaan duren) met Ctrl-Z. Geef dan het commando  het te lang vinden gaan duren) met Ctrl-Z. We geven dan het commando
2974  \com{bg} (van background, vergelijk \com{fg}) en we krijgen een melding dat  \com{bg} (van background, vergelijk met \com{fg}) en we krijgen een melding dat
2975  het tijdrovende commando weer is gestart. Maar tegelijk krijgen we de  het tijdrovende commando weer is gestart. Maar tegelijk krijgen we de
2976  prompt weer terug en kunen we andere nuttige dingen gaan doen. Vragen we  prompt terug en kunen we andere nuttige dingen doen. Vragen we
2977  bijvoorbeeld de jobs op en dan zien we dat de job `Running' is. Als de  bijvoorbeeld de jobs op en dan zien we dat de job `Running' is. Als de
2978  job klaar is, wacht de shell totdat er weer een prompt op het scherm  job klaar is, wacht de shell totdat er weer een prompt op het scherm
2979  gezet moet worden (bijvoorbeeld als we op Enter drukken), en dan wordt  gezet moet worden (bijvoorbeeld als we op Enter drukken), en dan wordt
# Line 2978  er eerst een mededeling afgedrukt dat de Line 2981  er eerst een mededeling afgedrukt dat de
2981    
2982  Als we van tevoren weten, dat het commando lang gaat duren, dan  Als we van tevoren weten, dat het commando lang gaat duren, dan
2983  plakken we er een ampersand (`\&', en-teken) achter, dus  plakken we er een ampersand (`\&', en-teken) achter, dus
2984  ....testchecksum \&. De job wordt dan meteen in de achtergrond gestart.  \commando{....testchecksum \&}. De job wordt dan meteen in de achtergrond gestart.
2985  Het jobnummer wordt afgedrukt en de pid van het eerste proces in de job.  Het jobnummer wordt afgedrukt en de pid van het eerste proces in de job.
2986  De rest gaat zoals boven beschreven.  Ook een job die in de achtergrond  De rest gaat zoals boven beschreven. Ook een job die in de achtergrond
2987  draait, kun je met \com{\%1} of \com{fg} weer in de voorgrond halen;  draait, kun je met \com{\%1} of \com{fg} weer in de voorgrond halen;
2988  met Ctrl-Z en bg weer terug in de achtergrond.   met Ctrl-Z en bg weer terug in de achtergrond.
2989    
2990  Om te zien wat er op het systeem gebeurt, wordt vaak het commando  Om te zien wat er op het systeem gebeurt, wordt vaak het commando
2991  \com{top} gebruikt. Dat commando geeft elke paar seconden een lijst  \com{top} gebruikt. Dat commando geeft elke paar seconden een lijst
2992  zoals \com{ps}, maar dan gesorteerd op processor-belasting. Tijdens ons  zoals \com{ps}, maar dan gesorteerd op processor-belasting. Tijdens ons
2993  voorbeeld-commando blijkt dat de gzip's het meeste "CPU- tijd vreten",  voorbeeld-commando blijkt dat de gzip's het meeste "CPU- tijd vreet",
2994  zie de kolom `\%CPU'. We kunnen de update-snelheid van top veranderen  zie de kolom `\%CPU'. We kunnen de update-snelheid van top veranderen
2995  door de `s' in te typen, gevolgd door een aantal seconden (probeer  door de `s' in te typen, gevolgd door een aantal seconden (probeer
2996  eens 0.01 en kijk naar de `\%CPU' van top zelf). We kunnen top afsluiten  eens 0.01 en kijk naar de `\%CPU' van top zelf). We kunnen top afsluiten
# Line 3020  alles in \file{/etc} mogen lezen.) Line 3023  alles in \file{/etc} mogen lezen.)
3023  \end{opgave}  \end{opgave}
3024    
3025  Als we nu met \com{ls -alF /tmp} de directory bekijken, zien we dat er  Als we nu met \com{ls -alF /tmp} de directory bekijken, zien we dat er
3026  een bestand testtarfile.tar.gz staat---gzip plakt namelijk altijd .gz  een bestand testtarfile.tar.gz staat --- gzip plakt namelijk altijd .gz
3027  achter de naam van het ingepakte bestand. De naam kunnen we eventueel  achter de naam van het ingepakte bestand. De naam kunnen we eventueel
3028  met mv veranderen, bijvoorbeeld in testtarfile.tgz. In \gl\ kunnen we  met \com{mv} veranderen, bijvoorbeeld in testtarfile.tgz. In \gl\ kunnen we
3029  de twee stappen ook in \'e\'en keer doen, omdat gzip `ingebakken' zit  de twee stappen ook in \'e\'en keer doen, omdat gzip `ingebakken' zit
3030  in tar.  in tar.
3031    
# Line 3051  directory. Line 3054  directory.
3054  Met gzip kunnen we slechts \'e\'en bestand per keer compressen (en dat is af  Met gzip kunnen we slechts \'e\'en bestand per keer compressen (en dat is af
3055  en toe ook heel handig), daarom moeten we eerst tar gebruiken als we  en toe ook heel handig), daarom moeten we eerst tar gebruiken als we
3056  meerdere bestanden in \'e\'en archief willen krijgen. gzip zonder  meerdere bestanden in \'e\'en archief willen krijgen. gzip zonder
3057  bestandsnaam compresst de standard input en geeft het resultaat aan de  bestandsnaam compresseert de standard input en geeft het resultaat aan de
3058  standard output, ideaal om `om te leiden'; tar met een min (`-') als  standard output, ideaal om `om te leiden'; tar met een min (`-') als
3059  bestandsnaam leest danwel schrijft van/naar standard input en  bestandsnaam leest/schrijft van/naar standard input en
3060  output.  output.
3061    
3062  We kunnen ze dus ook `aan elkaar koppelen': \com{tar cvf - /etc/* $|$  We kunnen ze dus ook `aan elkaar koppelen': \com{tar cvf - /etc/* $|$
# Line 3063  We kunnen ze dus ook `aan elkaar koppele Line 3066  We kunnen ze dus ook `aan elkaar koppele
3066  Dat zijn handige manieren om op andere \unix\ systemen met  Dat zijn handige manieren om op andere \unix\ systemen met
3067  .tgz-bestanden te werken, omdat tar daar meestal geen compressie heeft  .tgz-bestanden te werken, omdat tar daar meestal geen compressie heeft
3068  ingebouwd. We zien trouwens, dat hier \file{etc/} in de bestandsnamen  ingebouwd. We zien trouwens, dat hier \file{etc/} in de bestandsnamen
3069  wordt meegenomen (en hiervoor niet)---die hebben we immers ook  wordt meegenomen (en hiervoor niet) --- die hebben we immers ook
3070  opgegeven! Let wel: dat eerste pad-stuk wordt ook meegenomen bij het  opgegeven! Let wel: dat eerste pad-stuk wordt ook meegenomen bij het
3071  uitpakken, en dat hoeft niet altijd te zijn wat je bedoelt; daar  uitpakken, en dat hoeft niet altijd te zijn wat je bedoelt; daar
3072  moeten we dus bij het inpakken al rekening mee houden.   moeten we dus bij het inpakken al rekening mee houden. 
# Line 3072  Een recente ontwikkeling is bzip2, een ` Line 3075  Een recente ontwikkeling is bzip2, een `
3075  vooral tekstbestanden aanzienlijk kleiner inpakt. Het grote nadeel is  vooral tekstbestanden aanzienlijk kleiner inpakt. Het grote nadeel is
3076  echter dat bzip2 langzamer werkt en (ook tijdens het uitpakken) enorme  echter dat bzip2 langzamer werkt en (ook tijdens het uitpakken) enorme
3077  hoeveelheden geheugen gebruikt (enkele megabytes); het is daarom  hoeveelheden geheugen gebruikt (enkele megabytes); het is daarom
3078  minder geschikt voor oudere computers. Gebruik van bzip2 en bunzip2 is  minder geschikt op oudere computers. Gebruik van bzip2 en bunzip2 is
3079  identiek aan gzip en gunzip, de extensie is .bz2.  identiek aan gzip en gunzip, de extensie is .bz2.
3080    
3081  In combinatie met tar wordt dat .tar.bz2 of .tbz2, voor directe  In combinatie met tar wordt dat .tar.bz2 of .tbz2, voor directe
# Line 3088  ARJ- uitpakker moeten we naar het pakket Line 3091  ARJ- uitpakker moeten we naar het pakket
3091    
3092  \section{Meer hulp}  \section{Meer hulp}
3093    
3094  \subsection{Programma-hulp}  \subsection{Programma-hulp} \index{man}
3095    
3096  De behandelde commando's kunnen veel meer dan we hier uit de doeken  De behandelde commando's kunnen veel meer dan we hier uit de doeken
3097  hebben gedaan. Het voert ons echter te ver om dat allemaal te gaan  hebben gedaan. Het voert ons echter te ver om dat allemaal te gaan
# Line 3114  bevatten. Line 3117  bevatten.
3117  De manual pages zijn onderverdeeld in een aantal secties (of  De manual pages zijn onderverdeeld in een aantal secties (of
3118  hoofdstukken), genummerd van 1 tot 9. Wat in welke sectie thuishoort  hoofdstukken), genummerd van 1 tot 9. Wat in welke sectie thuishoort
3119  kunnen we lezen in de manpage van man zelf (met \com{man man} dus). Het  kunnen we lezen in de manpage van man zelf (met \com{man man} dus). Het
3120  komt voor dat er in twee secties een manpage met dezelfde naam staat---%  komt voor dat er in twee secties een manpage met dezelfde naam staat ---
3121  bijvoorbeeld van man zelf, in sectie 1 en sectie 7. Om de juiste te  bijvoorbeeld van man zelf, in sectie 1 en sectie 7. Om de juiste te
3122  kunnen bekijken, geven we \com{man 1 man} en/of \com{man 7 man}, in  kunnen bekijken, geven we \com{man 1 man} en/of \com{man 7 man}, in
3123  het algemeen \com{man $<$sectie$>$ $<$programmanaam$>$}. Gebruik de `/'-toets  het algemeen \com{man $<$sectie$>$ $<$programmanaam$>$}. Gebruik de `/'-toets
# Line 3137  maar soms kom je ergens een `losse' manp Line 3140  maar soms kom je ergens een `losse' manp
3140  zomaar met man kunt bekijken. Gebruik in dat geval de -l switch,  zomaar met man kunt bekijken. Gebruik in dat geval de -l switch,
3141  bijvoorbeeld \com{man -l /usr/share/man/man1/bash.1.gz}.  bijvoorbeeld \com{man -l /usr/share/man/man1/bash.1.gz}.
3142    
3143  \subsection{Texinfo \label{inleiding:info}}  \subsection{Texinfo \label{inleiding:info}}\index{texinfo}
3144  Wat uitgebreidere manual pages staan in een ander formaat, het Texinfo  Wat uitgebreidere manual pages staan in een ander formaat, het Texinfo
3145  ("tech-info") formaat.  ("tech-info") formaat.
3146    
# Line 3146  Wat uitgebreidere manual pages staan in Line 3149  Wat uitgebreidere manual pages staan in
3149    of alleen info voor een lijst.    of alleen info voor een lijst.
3150  \end{opgave}  \end{opgave}
3151    
3152  \begrip{Texinfo} is een `hypertext'-systeem, wat wil zeggen dat er in de tekst  \Begrip{Texinfo} is een `hypertext'-systeem, wat wil zeggen dat er in de tekst
3153  links zijn naar andere punten in de tekst. Meestal komen we binnen in  links zijn naar andere punten in de tekst. Meestal komen we binnen in
3154  een inhoudsopgave-pagina; met de pijltjestoetsen kunnen we naar een  een inhoudsopgave-pagina; met de pijltjestoetsen kunnen we naar een
3155  item lopen, en met Enter spring je daarheen. Links staan meestal  item lopen, en met Enter springen we binnen. Links staan meestal
3156  tussen een sterretje en twee dubbele punten, bijvoorbeeld "*note: More  tussen een sterretje en twee dubbele punten, bijvoorbeeld "*note: More
3157  Features::"; als de link-tekst over meerdere regels doorloopt, werkt  Features::"; als de link-tekst over meerdere regels doorloopt, werkt
3158  de Enter alleen op de eerste regel. Met de `L'-toets springen we terug  de Enter alleen op de eerste regel. Met de `L'-toets springen we terug
3159  naar de vorige pagina. Als we een voetnoot tegenkomen die het halve  naar de vorige pagina. Als we een voetnoot tegenkomen die het halve
3160  scherm in beslag neemt, Ctrl-X 1 (\^{}X 1 dus). Je kunt een heel Texinfo  scherm in beslag neemt: Ctrl-X 1 (\^{}X 1 dus). We kunnen een heel Texinfo
3161  document ook in volgorde van voor naar achter doorlezen door steeds  document ook in volgorde van voor naar achter doorlezen door steeds
3162  aan het einde van een pagina op de spatiebalk te drukken.  aan het einde van een pagina op de spatiebalk te duwen.
3163    
3164  Zoeken gaat met Ctrl-S; de zoekterm wordt gezocht terwijl we hem  Zoeken gaat met Ctrl-S; de zoekterm wordt gezocht terwijl we hem
3165  intypten, weer Ctrl-S zoekt de volgende, Escape stopt het zoekproces. In  intypten, weer Ctrl-S zoekt de volgende, Escape stopt het zoekproces. In
# Line 3167  manual page weergegeven. Line 3170  manual page weergegeven.
3170  Verlaat info met `q' of Ctrl-X Ctrl-C (\^{}X\^{}C).   Verlaat info met `q' of Ctrl-X Ctrl-C (\^{}X\^{}C). 
3171    
3172  \chapter{SSH}\label{sshuitleg}  \chapter{SSH}\label{sshuitleg}
3173    
3174  Om een verbinding te maken met een andere machine, bestaan er protocols zoals  Om een verbinding te maken met een andere machine, bestaan er protocols zoals
3175  rsh, telnet, rlogin, rcp, \ldots Deze geven, na eventueel inloggen als dat vereist is, een  rsh, telnet, rlogin, rcp, \ldots\ Deze geven, na eventueel inloggen als dat vereist is, een
3176  command prompt, waarmee we op een andere machines commando's en programma's kunnen  command prompt, waarmee we op een andere machines commando's en programma's kunnen
3177  laten uitvoeren. Binnen sommige netwerken is dat inloggen niet nodig, omdat om tot  laten uitvoeren. Binnen sommige netwerken is dat inloggen niet nodig, omdat om tot
3178  het netwerk zelf toegang te krijgen al een login nodig was.  het netwerk zelf toegang te krijgen al een login vereist is.
3179    
3180  Nadeel van deze procedures is dat alle gegevens tussen de machines rechtstreeks  Nadeel van deze procedures is dat alle gegevens tussen de machines rechtstreeks
3181  worden doorgegeven. Nadeel? Jazeker, ook paswoorden en dergelijke worden gewoon  worden doorgegeven. Nadeel? Jazeker, ook paswoorden en dergelijke worden gewoon
3182  rechtstreeks uitgewisseld zonder enige vorm van bescherming. Wanneer er een buitenstaander  rechtstreeks uitgewisseld zonder enige vorm van bescherming. Wanneer er een buitenstaander
3183  ergens op de verbindingslijn meeluistert, kan die alle gegevens die tussen de machines  ergens op de verbindingslijn meeluistert, kan die alle gegevens die tussen de machines
3184  worden uitgewisseld, gewoon meevolgen. Dat betekent dat die persoon dus ook gewoon de  worden uitgewisseld, meevolgen. Dat betekent dat die persoon de
3185  paswoorden letter voor letter voor zijn/haar neus ziet passeren. Deze techniek (``luistervinken'')  paswoorden letter voor letter voor zijn/haar neus ziet passeren. Deze techniek (``luistervinken'')
3186  was een bekende zwakte van de oudere systemen.  was een bekende zwakte van de oudere systemen.
3187    
3188  Als antwoord op dat probleem is \begrip{ssh} ontstaan, de zogenaamde Secure SHell.  Als antwoord op dat probleem is \begrip{ssh} ontstaan, de zogenaamde Secure SHell.
3189  Dit protocol biedt de mogelijkheid om de verbinding tussen twee machines te versleutelen, en  Dit protocol biedt de mogelijkheid om de verbinding tussen twee machines te versleutelen, en
3190  zo het ``luistervinken'' onmogelijk maakt. Wat een derde partij die probeert wachtwoorden  zo het ``luistervinken'' onmogelijk te maken. Wat een derde partij die probeert wachtwoorden
3191  te onderscheppen nu ziet, is een reeks betekenisloze tekens. De luisteraar kan natuurlijk  te onderscheppen, nu ziet, is een reeks betekenisloze tekens. De luisteraar kan natuurlijk
3192  proberen deze codering te kraken, maar de versleuteling is van die aard dat het vrijwel  proberen deze codering te kraken, maar de versleuteling is van die aard dat het vrijwel
3193  onmogelijk is de code te kraken.  onmogelijk is de code te kraken.
3194    
# Line 3193  moet ge\"installeerd zijn op de UNIX-mac Line 3197  moet ge\"installeerd zijn op de UNIX-mac
3197  willen maken (SSHD, komt vaak mee met UNIX-achtige OS'en, maar niet altijd). Wanneer we via SSH  willen maken (SSHD, komt vaak mee met UNIX-achtige OS'en, maar niet altijd). Wanneer we via SSH
3198  inloggen, is de toegang tussen de gebruiker en de host veilig van in het begin.    inloggen, is de toegang tussen de gebruiker en de host veilig van in het begin.  
3199    
3200  Een SSH sessie begint via zogenaamde \emph{public key cryptography} om een willekeurige sleutel \  Een SSH sessie begint via zogenaamde \emph{public key cryptography} om een willekeurige sleutel
3201  (\emph{key}) te genereren voor deze sessie. Deze sleutel is de basis voor een private sleutel  (\emph{key}) te genereren voor deze sessie. Deze sleutel is de basis voor een private sleutel
3202  algoritme. Bij cryptografie met een private sleutel cryptografie zijn de sleutel om de coderen en  algoritme. Bij cryptografie met een private sleutel zijn de sleutel om de coderen en
3203  de sleutel om te ontcijferen dezelfde. Bij cryptografie met een publieke sleutel zijn de  de sleutel om te ontcijferen dezelfde. Bij cryptografie met een publieke sleutel zijn de
3204  de coderings- en de ontcijferingssleutel verschillend. Men spreekt over een publieke sleutel, omdat  de coderings- en de ontcijferingssleutel verschillend. Men spreekt over een publieke sleutel, omdat
3205  deze mag bekend zijn voor de buitenwereld, zonder dat men daarmee de inhoud van het bericht of  deze mag bekend zijn voor de buitenwereld, zonder dat men daarmee de inhoud van het bericht of

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.61

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26