Aan de slag met Linux voor LPIC-1
Bij het schrijven van dit boek is gekeken naar twee belangrijke Linux-distributies: CentOS (gelijk aan Red Hat en Fedora) en Ubuntu. Dit betekent dat u regelmatig verwijzingen naar deze distributies tegenkomt. Het boek is echter ook geschikt wanneer u een andere distributie gebruikt. Dit boek leidt op voor het de examens 101 en 102 van het Linux Professional Institute en vormt daarmee een uitstekende voorbereiding voor het LPIC-1 certificaat. Om deze examens te halen is echter niet alleen theoretische kennis nodig, maar ook veel ‘hands-on’ ervaring. Via de hbo-portal van de uitgever, www.AcademicX.nl, is een schat aan aanvullend materiaal beschikbaar, waaronder aanwijzingen voor het opzetten van een lab-omgeving en kennisvragen met directe feedback.
van Vugt
Aan de slag met Linux voor LPIC-1 is bedoeld voor iedereen die wil leren hoe je een Linux-systeem moet beheren. Voorkennis van Linux is niet nodig, enige algemene kennis van computersystemen wordt echter wel verondersteld. Alle facetten waarmee een beheerder van een Linux-systeem te maken krijgt, komen aan de orde. Denk daarbij aan het installeren van Linux, het werken met bestanden, het configureren van een gebruikersomgeving en het werken met de printomgeving. Dit boek is geschikt voor gebruik in een leeromgeving en voor zelfstudie, en bevat een groot aantal oefeningen en voorbeelden. Op basis van een eigen lab-omgeving (een virtuele machine) die u in het eerste hoofdstuk opzet, kunt u als lezer vervolgens het hele boek doorwerken. Door deze interactieve aanpak is het voor u ook eenvoudiger om de praktische kennis te onderscheiden van de theoretische achtergronden
Aan de slag met Linux voor LPIC-1 Sander van Vugt
Sander van Vugt is zelfstandig trainer, consultant en auteur, gespecialiseerd op het gebied van Linux. Meer informatie over de auteur vindt u op zijn website, www.sandervanvugt.nl. .
KIJK OP W W W. A C ADEMICX .NL VOOR AL LE E X T R A’ S
N N IS V R A G
978 90 395 2756 6 123 / 985
9 789039 527566
EN
+ O N L IN E AK EM AT E R I A A L +EXTR
Aan de slag met Linux voor LPIC-1 Vijfde druk
Sander van Vugt
Meer informatie over deze en andere uitgaven kunt u verkrijgen bij: BIM Media B.V. Postbus 16262 2500 BG Den Haag tel.: (070) 304 67 77 www.bimmedia.nl
Gebruik onderstaande code om dit boek eenmalig toe te voegen aan je boekenplank op www.academicx.nl. Let op: je kunt deze code maar één keer gebruiken.
© 2014 BIM Media B.V., Den Haag Academic Service is een imprint van BIM Media B.V. 1e druk 1999 2e druk 2002 3e druk 2005 4e druk 2009 5e druk 2014 De eerste vier drukken zijn verschenen onder de titel Leerboek Linux, deel 1.
Zetwerk: Redactiebureau Ron Heijer, Markelo Omslag: Carlito’s Design, Amsterdam Basisontwerp binnenwerk en omslag: Studio Bassa, Culemborg ISBN 978 90 395 2756 6 NUR 123 Alle rechten voorbehouden. Alle intellectuele eigendomsrechten, zoals auteurs- en databankrechten, ten aanzien van deze uitgave worden uitdrukkelijk voorbehouden. Deze rechten berusten bij BIM Media B.V. en de auteur. Behoudens de in of krachtens de Auteurswet gestelde uitzonderingen, mag niets uit deze uitgave worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand of openbaar gemaakt in enige vorm of op enige wijze, hetzij elektronisch, mechanisch, door fotokopieën, opnamen of enige andere manier, zonder voorafgaande schriftelijke toestemming van de uitgever. Voor zover het maken van reprografische verveelvoudigingen uit deze uitgave is toegestaan op grond van artikel 16 h Auteurswet, dient men de daarvoor wettelijk verschuldigde vergoedingen te voldoen aan de Stichting Reprorecht (Postbus 3051, 2130 KB Hoofddorp, www.reprorecht.nl). Voor het overnemen van gedeelte(n) uit deze uitgave in bloemlezingen, readers en andere compilatiewerken (artikel 16 Auteurswet) dient men zich te wenden tot de Stichting PRO (Stichting Publicatie- en Reproductierechten Organisatie, Postbus 3060, 2130 KB Hoofddorp, www.cedar.nl/pro). Voor het overnemen van een gedeelte van deze uitgave ten behoeve van commerciële doeleinden dient men zich te wenden tot de uitgever. Hoewel aan de totstandkoming van deze uitgave de uiterste zorg is besteed, kan voor de afwezigheid van eventuele (druk)fouten en onvolledigheden niet worden ingestaan en aanvaarden de auteur(s), redacteur(en) en uitgever deswege geen aansprakelijkheid voor de gevolgen van eventueel voorkomende fouten en onvolledigheden. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the publisher’s prior consent. While every effort has been made to ensure the reliability of the information presented in this publication, BIM Media B.V. neither guarantees the accuracy of the data contained herein nor accepts responsibility for errors or omissions or their consequences.
Voorwoord Voor u ligt de geheel herziene versie van het boek dat vroeger Leerboek Linux deel 1 heette. Er zijn nogal wat zaken anders in dit boek. Om te beginnen is het boek 100% conform de LPIC-1 objectives zoals die golden begin 2014. Dit betekent dat u op basis van dit boek alle kennis moet kunnen verwerven om de LPI-examens te kunnen halen. Een andere belangrijke wijziging is dat dit boek een on-line aanvulling heeft, die het gebruik als leerboek eenvoudiger moet maken. Voor docenten zijn er slides, er zijn aanwijzingen voor het opzetten van een lab-omgeving en er zijn kennisvragen beschikbaar. Daarnaast ben ik voornemens om elk verzoek van lezers tot aanvullende informatie serieus te overwegen. Stuur dus vooral uw feedback zodat ik aanvullend materiaal beschikbaar kan stellen via de hbo-portal van de uitgever, www.AcademicX.nl. De derde belangrijke wijziging is in de manier waarop het boek geschreven is. In het eerste hoofdstuk leert u hoe u een virtuele machine op basis van Ubuntu en een op basis van CentOS installeert. Op basis van deze eigen lab-omgeving die u in het eerste hoofdstuk opzet, kunt u als lezer vervolgens het hele boek doorwerken. Om u te helpen bij het verwerven van praktische vaardigheden, is in dit boek een fors aantal oefeningen opgenomen. Ik raad het u van harte aan alle oefeningen door te werken, het idee achter de oefeningen is dat u niet meer leest hoe een opdracht werkt in een bepaald scenario, maar dat u zelf het scenario uitvoert en zo zelf ontdekt hoe het allemaal werkt. Deze manier van werken maakt het voor u als lezer ook eenvoudiger om de praktische kennis te onderscheiden van de theoretische achtergronden. Een andere belangrijke wijziging zit in de grondigheid waarmee de inhoud technisch gescreend is. Hierbij heb ik het geluk gehad hulp te krijgen van Sandra Dekker, die alle hoofdstukken doorgelopen heeft en er heel veel onvolkomenheden uitgehaald heeft. Ik weet dat perfectie niet bestaat, maar ik hoop dat hierdoor het aantal onvolkomen heden dat er nog in zit aanzienlijk is afgenomen. Ik ben overigens voornemens een errata bij te houden en op de website van het boek te plaatsen. Ik wil u daarom als lezer om te beginnen aanraden te controleren of er errata beschikbaar zijn en indien dit het geval is, deze te downloaden en bij de studie te gebruiken. Mocht u nog technische fouten, of belangrijke taalkundige fouten tegenkomen, stuur ze dan vooral naar
[email protected], dan zorg ik dat de errata zo snel mogelijk bijgewerkt worden. Mijn speciale dank gaat uit naar Sandra Dekker voor het grondig doorlezen van het manuscript en het verwijderen van fouten, en naar Franck van Vugt voor het aan maken van de afbeeldingen in dit boek. Daarnaast wil ik Andries Annema, Anton Voogt, Ran Dakar en Martijn Marsman bedanken voor het proeflezen van de drukproef waardoor op het laatste moment het boek nog aanzienlijk beter is geworden.
v
Aan de slag met Linux voor LPIC-1
Ik hoop van harte dat deze nieuwe opzet goed bevalt, mocht u feedback hebben dan kunt u contact opnemen met mij via mailadres
[email protected]. Januari 2014 Sander van Vugt www.sandervanvugt.nl
[email protected]
vi
Inhoud
Voorwoord
v
1 Introductie 1.1 Aard en oorsprong van Linux 1.2 Toepassing van Linux 1.3 Over distributies 1.3.1 Red Hat, CentOS en Fedora 1.3.2 Ubuntu en Linux Mint 1.3.3 SUSE 1.3.4 Debian 1.4 Linux installatie 1.4.1 Installatie CentOS 1.4.2 Installatie Ubuntu Desktop 1.5 Praktische opdrachten
1 1 2 3 3 4 4 5 5 6 15 19
2
Werken op de shell 2.1 Inloggen in een shell-omgeving 2.1.1 Runlevels 2.1.2 Root of niet? 2.2 Werken op de command line 2.2.1 Uitvoeren als subshell of niet? 2.3 Nuttige shell-commando’s 2.3.1 Bash-history 2.4 Gebruikmaken van streams, pipes en redirects 2.4.1 Verder werken met output: tee en xargs 2.5 Hulp opvragen 2.5.1 man-secties 2.5.2 Hulp opvragen met info 2.5.3 De optie --help 2.6 Samenvatting 2.7 Opdrachten
21 21 23 23 25 26 27 27 29 30 31 33 36 38 38 38
3
Werken met tekstbestanden 3.1 Werken met vi 3.1.1 vi of vim? 3.1.2 Command mode versus insert mode 3.1.3 Cursorverplaatsingen in een tekstbestand 3.1.4 Knippen, kopiëren en plakken in vi 3.1.5 Geavanceerde vi-opties
39 39 39 40 40 42 43
vii
Aan de slag met Linux voor LPIC-1
viii
3.2
Werken met tekststreams 3.2.1 Tekst weergeven: cat head tail 3.2.2 Nummeren en tellen: nl wc 3.2.3 Filteren en sorteren: cut, sort 3.2.4 Verdelen en samenvoegen: split, join 3.3 Reguliere expressies 3.4 Werken met reguliere expressies: grep, sed en awk 3.4.1 Werken met grep 3.4.2 Geautomatiseerd bewerken: sed, awk 3.5 Opmaak aanpassen: expand, unexpand, fmt, od, paste, pr, tr, uniq 3.5.1 Werken met uniq 3.5.2 Omzetten van hoofdletters naar kleine letters en omgekeerd 3.6 Samenvatting 3.7 Opdrachten
44 45 46 46 47 48 50 50 50 54 54 55 56 56
4
Bestandsbeheertaken uitvoeren 4.1 Werken met bestanden 4.1.1 Weergeven van bestanden: ls 4.1.2 Directory’s: mkdir, rmdir 4.1.3 Kopiëren, verplaatsen en verwijderen: cp, rm, mv 4.1.4 File globbing 4.1.5 werken met blokken: dd 4.1.6 Handige hulpopdrachten: touch, file 4.1.7 Archiefbestanden en compressie: tar cpio, gzip, gunzip, bzip2 4.1.8 Compressie 4.2 Werken met links 4.2.1 Symbolic links 4.2.2 Hard links 4.3 De inrichting van een Linux-bestandssysteem 4.4 Werken met locate, whereis en gerelateerde utilities 4.5 Werken met find 4.6 Samenvatting 4.7 Opdrachten
59 59 59 60 61 61 62 64 65 67 67 67 68 69 70 72 73 74
5
Bestandssystemen inrichten 5.1 Inrichting van de harde schijf 5.1.1 Partities versus LVM, logische volumes 5.1.2 Architectuur van LVM 5.2 Inrichten van een harde schijf 5.3 Aanmaken van partities en bestandssystemen 5.3.1 Aanmaken van partities 5.3.2 Bestandssystemen aanmaken 5.3.3 Werken met swap 5.4 Onderhoud van bestandssystemen 5.4.1 Monitoren van beschikbare schijfruimte 5.4.2 Repareren van problemen op een bestandssysteem
75 75 76 76 77 79 81 85 86 87 88 91
Inhoud
5.5
Mounten en unmounten 5.5.1 Automatisch mounten vanuit /etc/fstab 5.6 Werken met quota 5.7 Samenvatting 5.8 Opdrachten 6
Gebruikers, groepen en permissies 6.1 Beheer van gebruikers en groepen 6.1.1 Soorten gebruikers 6.1.2 Eigenschappen van gebruikers 6.1.3 Standaardinstellingen voor gebruikers 6.1.4 Groepen beheren 6.2 Inrichten van de shell-omgeving voor gebruikers 6.2.1 Instellen van het environment 6.2.2 Gangbare shell-configuratiebestanden 6.3 Werken met permissies 6.3.1 Werken met basispermissies 6.3.2 Speciale permissies 6.3.3 Access control lists 6.3.4 Umask 6.3.5 Attributen 6.4 Samenvatting 6.5 Opdrachten
7 Softwarebeheer 7.1 Software packages en meta package handlers 7.2 Beheer van RPM-pakketten 7.2.1 Werken met RPM 7.2.2 Query’s uitvoeren op RPM-packages 7.2.3 RPM-packages uitpakken 7.2.4 Integriteit van packages controleren 7.3 Werken met yum 7.3.1 Repositories aanmaken met yum 7.3.2 Beheer van software met yum 7.4 Beheer van DEB-pakketten 7.4.1 Beheer van .deb-softwarerepositories 7.4.2 Ubuntu-pakketmanagementutilities 7.4.3 Overzichten van geïnstalleerde software genereren 7.4.4 Gebruik van aptitude 7.5 Werken met librarybestanden 7.6 Samenvatting 7.7 Opdrachten
92 93 95 97 97 99 99 99 100 102 102 103 103 105 106 106 108 109 111 111 112 113 115 115 116 116 117 119 119 120 120 122 124 124 126 126 128 131 132 132
ix
Aan de slag met Linux voor LPIC-1
8
Inrichten van het netwerk 8.1 Inleiding IP 8.1.1 IP-adressen 8.1.2 Speciale IP-adressen 8.1.3 Subnetten in detail 8.2 Beheer van de netwerkkaart 8.2.1 Bekabelde netwerken 8.2.2 Draadloze netwerken 8.3 Basisnetwerkconfiguratie 8.3.1 Handmatige netwerkconfiguratie 8.3.2 Permanente netwerkconfiguratie 8.4 Oplossen van netwerkproblemen 8.4.1 Controleren van IP-configuratie 8.4.2 Oplossen van problemen met routering 8.4.3 DNS-problemen oplossen 8.4.4 Problemen met services oplossen 8.5 Samenvatting 8.6 Opdrachten
133 133 133 135 136 143 144 144 148 148 150 153 154 154 155 156 157 158
9
Essentiële system services 9.1 Lokalisatie 9.2 Instellen van de systeemtijd 9.2.1 Beheer van hardwaretijd 9.2.2 Beheer van systeemtijd 9.2.3 Instellen van de tijdzone 9.2.4 Werken met NTP 9.3 Logging 9.3.1 Werking van syslog 9.3.2 Kernel logging 9.3.3 Configuratie van rsyslog 9.3.4 Logrotate 9.4 Beheer van printers 9.4.1 CUPS-drivers 9.4.2 Beheer van CUPS 9.4.3 Printerconfiguratie met CUPS 9.4.4 Printen over het netwerk 9.5 Mailserverbasics 9.5.1 Opzetten van een mailomgeving 9.5.2 Configuratie van de mailclient 9.6 Samenvatting 9.7 Opdrachten
159 159 160 161 161 162 162 164 164 166 167 168 169 170 170 172 175 175 175 176 176 176
10 Procesbeheer 10.1 Beheer van interactieve processen 10.1.1 Beheer van jobs 10.1.2 nohup 10.1.3 screen x
177 177 177 178 178
Inhoud
11
10.2 Monitoren en beheren van processen 10.2.1 Processen monitoren met ps 10.2.2 Processen monitoren met top 10.2.3 Processen beheren met kill 10.3 Aanpassen van prioriteit 10.4 Geheugengebruik 10.5 Taken plannen 10.5 1 Regelmatig terugkerende taken plannen met cron 10.5.2 Eenmalig taken uitvoeren met at 10.6 Samenvatting 10.7 Opdrachten
179 179 181 183 184 185 186 187 188 189 189
De opstartprocedure 11.1 Inleiding 11.2 Van aanzetten tot bootloader 11.2.1 BIOS 11.2.2 UEFI 11.2.3 De MS-DOS-partitietabel 11.2.4 Opbouw van de bootsector bij gebruik van een MS-DOScompatibele partitietabel 11.2.5 De GUID-partitietabel 11.3 De bootloader 11.3.1 Installatie van GRUB 11.3.2 GRUB 2 11.4 Starten van services 11.4.1 Opstarten met init 11.4.2 Opstarten met upstart 11.4.3 Runlevels: geautomatiseerd starten van services 11.4.4 Services opstarten met systemd 11.5 Opstarten vanaf een rescue-cd 11.5.1 Mounten 11.6 Samenvatting 11.7 Opgave
191 191 192 192 192 192
12 Databasebeheer 12.1 Configuratie 12.1.1 Aanmaken van de systeemdatabase 12.1.2 Een database aanmaken 12.2 Structuur van een database 12.3 Permissies instellen 12.4 Een database aanmaken 12.5 Opstarten en afsluiten van MySQL 12.6 Gegevens uit de database opvragen 12.7 Samenvatting 12.8 Opdrachten
193 196 198 198 202 206 206 209 210 211 215 215 218 218 219 219 219 220 221 223 224 227 227 228 229
xi
Aan de slag met Linux voor LPIC-1
13 Shell-scripting 13.1 Inleiding 13.2 Introductie: werken met variabelen en parameters 13.2.1 Variabelen definiëren 13.2.2 Variabelen definiëren met read 13.2.3 Aanroepen van een script 13.2.4 Parameters opgeven bij het aanroepen van een script 13.2.5 Over aanhalingstekens 13.2.6 Command substitution 13.2.7 Oefenopgaven 13.3 Omvormen van input 13.3.1 Controleren van variabelen: substitution operators 13.3.2 Pattern matching operators 13.3.3 Rekenen 13.3.4 Oefenopgaven 13.4 Werken met loopstructuren 13.4.1 test 13.4.2 if then fi 13.4.3 Werken met && en || 13.4.4 for 13.4.5 case 13.4.6 while en until 13.5 Samenvatting 13.6 Oefenopgaven
231 231 231 232 233 234 235 237 239 239 240 241 242 245 246 246 246 249 251 251 252 253 254 255
14
257 257 257 258 259 260 260 260 262 262 262 263 263 263
Beheer van hardware en X 14.1 Hardwarebeheer 14.1.1 Hardware-initialisatie door udev 14.1.2 Hardwaremonitoring met lsusb en lspci 14.1.3 Handmatig beheren van modules 14.1.4 Moduleopties 14.2 Installatie en configuratie van X 14.2.1 Aanpassen van instellingen met xrandr 14.2.2 X-clients en X-servers 14.2.3 Informatie opvragen over uw configuratie 14.3 Setup van de display manager 14.4 Toegankelijksheidsopties 14.5 Samenvatting 14.6 Opdrachten
15 Beveiliging 15.1 Analyseren van de beveiligingsstatus van een server 15.1.1 Zoeken naar SUID en SGID 15.1.2 Processen en poorten monitoren 15.1.3 Beschikbare resources beperken met ulimit 15.1.4 Werken met sudo
xii
265 265 265 266 266 267
Inhoud
15.2 Gebruikersgerelateerde beveiligingsinstellingen 15.3 Host security 15.3.1 inetd en xinetd 15.3.2 TCP wrappers 15.3.3 xinetd 15.4 GPG 15.4.1 Aanmaken van sleutels 15.4.2 Key-transfer 15.4.3 Beheer van sleutels 15.4.4 Definitie van trusts 15.4.5 Versleutelen van bestanden 15.4.6 Signing van gegevens 15.4.7 Integratie met mail 15.5 SSH 15.5.1 Remote connecties tot stand brengen met ssh 15.5.2 Bestanden kopiëren met scp 15.5.3 De SSH-service beveiligen 15.5.4 Authenticeren met keys 15.5.5 SSH-tunnels maken 15.6 Samenvatting 15.7 Opdrachten Index
268 269 269 270 271 272 272 273 275 276 276 277 278 278 278 280 280 281 282 283 283 285
xiii
Hoofdstuk 1
Introductie In dit hoofdstuk leert u wat Linux is, waar het vandaan komt en waarvoor het gebruikt wordt. Daarnaast maakt u kennis met het fenomeen distributie, en installeert u de twee distributies die in dit boek behandeld worden.
Benodigdheden Om de onderwerpen in dit hoofdstuk zelfstandig te kunnen bestuderen, hebt u de volgende zaken nodig: V Een computer met 4 GB werkgeheugen of meer en VMware Player, Virtual Box of een ander programma waarmee u desktopvirtualisatie kunt doen. V Minimaal 20 GB beschikbare ruimte op de harde schijf van uw computer. V Een werkende internetverbinding.
LPI Objectives Dit hoofdstuk is een inleiding en bevat geen onderwerpen die voor de LPIC-1 examens van belang zijn. Het bevat echter waardevolle informatie waarvan u als Linuxprofessional zeker kennis moet hebben!
1.1
Aard en oorsprong van Linux
Wat geleid heeft tot het huidige besturingssysteem Linux, is begonnen in de jaren 60 van de vorige eeuw onder de naam UNIX. UNIX was het besturingssysteem dat computers succesvol maakte. In de jaren 80 van de vorige eeuw hadden bijna alle grote bedrijven wel een variant van UNIX staan en werd dit besturingssysteem gebruikt om raketten de ruimte in te schieten, financiële transacties af te handelen, productiehallen aan te sturen en veel, veel meer. Helaas was UNIX wel een erg duur besturings systeem en daarom voor gewone mensen nauwelijks te betalen. Naast alle commerciële bedrijven die UNIX-versies verkochten, zoals HP, Sun Microsystems en Digital, was er ook een beweging die als doel had gratis UNIXsoftware beschikbaar te stellen. Deze beweging stond bekend als GNU, een afkorting die staat voor GNU, not UNIX, waarmee men maar aan wilde geven dat het hetzelfde was als UNIX, maar op basis van andere principes. GNU maakte heel veel varianten beschikbaar van programma’s die in UNIX alleen tegen betaling van licenties beschikbaar waren. Om ervoor te zorgen dat GNU-software altijd gratis zou blijven, werd een van de belangrijkste opensourcelicenties gedefinieerd. Deze licentie staat tegenwoordig bekend
1
Aan de slag met Linux voor LPIC-1
als de General Public License (GPL). Hierin wordt vastgelegd dat de GNU-software altijd inzichtelijk moet zijn en blijven voor iedereen en dat de broncode (source code) altijd meegeleverd moet worden. Daarnaast mag iedereen deze broncode aanpassen, maar moeten de aanpassingen ook als open source beschikbaar blijven. Met deze bepalingen legde GNU de wortel van de inmiddels zeer succesvolle opensourcebeweging.
De kernel is het hart van een besturingssysteem. Het is de laag die tussen de gebruikersinterface (de shell) en de hardware van een computer inzit. De drivers die ervoor zorgen dat computers met de hardware kunnen communiceren, maken deel uit van de kernel van elk besturingssysteem.
In 1991 was er nog maar één ding dat ontbrak in het inmiddels vrij brede aanbod van opensourcesoftware: een kernel. In dat jaar maakte de toenmalige Finse student Linus Torvalds bekend aan een klein project te beginnen dat als doel had een kernel te ontwikkelen die gebruikt zou kunnen worden binnen de toen al beschikbare GNUsoftware. Deze kernel noemde hij Linux, en dit was de oorsprong van wat we tegenwoordig als het besturingssysteem Linux kennen. Een van de belangrijkste beslissingen die Torvalds genomen heeft, is dat hij zijn project aankondigde op een toenmalig relatief nieuw fenomeen: het internet. Hierdoor groeide zijn eenmansinitiatief uit tot een wereldwijd project waar al snel heel veel mensen aan meewerkten, een kenmerk dat vaker voorkomt bij opensourcesoftwareprojecten.
1.2
Toepassing van Linux
Linux kan op verschillende manieren ingezet worden: V Als server: in het bedrijfsleven is Linux het meest gebruikte serverbesturings systeem. Klassiek is het succes van Linux als platform voor webservers, maar daarnaast worden ook grote bedrijfsdatabases aangeboden op Linux, vaak in combinatie met Oracle-databases. V Op mobiele apparatuur: grote kans dat u al Linux gebruikt. Android is het meest gebruikte besturingssysteem op mobiele telefoons, en het is gebaseerd op Linux. V Op de desktop: iets minder succesvol, maar zeker goed mogelijk is Linux op de desktop. Wilt u een gratis besturingssysteem waarop u alles kunt doen? Dan is Linux een uitstekende kandidaat. V Embedded: Linux wordt gebruikt voor de aansturing van heel veel apparatuur. U vindt het in dvd-spelers, mediaservers, navigatiesystemen, koffiezetapparaten, verkeerslichten en nog veel meer. De kennis die u in dit boek opdoet, is vooral eenvoudig toepasbaar op servers en desktops. Echter: embedded Linux werkt met precies dezelfde commando’s. Het enige probleem is dat een interface nodig is om contact te kunnen maken met de embedded Linux-distributie, bijvoorbeeld door middel van een seriële verbinding. 2
Hoofdstuk 1 – Introductie
1.3
Over distributies
Zoals eerder vermeld, Linux is eigenlijk alleen maar een kernel. Dat betekent dat u niet veel kunt als u alleen maar de kernel hebt die Linux Torvalds ooit gemaakt heeft. Om tot een werkend geheel te komen, moeten daar diverse andere zaken aan toegevoegd worden. Denk daarbij aan een shell, grafische utilities, command line utilities en meer. U zou dit in principe zelf kunnen doen (kijk eens op www.linuxfromscratch.org als u interesse hebt). Om het wat eenvoudiger te maken, zijn er verschillende Linuxdistributies die alle componenten al verzameld hebben zodat u ze eenvoudig kunt installeren. In principe kan iedereen zijn eigen distributie maken, met als gevolg dat er honderden distributies beschikbaar zijn. Er zijn er maar een paar die echt belangrijk zijn, hier onder een overzicht. 1.3.1
Red Hat, CentOS en Fedora
Red Hat (www.redhat.com) was de eerste distributie die commercieel succes kreeg. Dat deed Red Hat door bij Linux support mee te gaan leveren, waarvoor klanten graag wilden betalen. Het gevolg hiervan is dat naar schatting 70% van alle Linux-servers in het bedrijfsleven Red Hat Enterprise Linux (RHEL) gebruiken. Het succes van Red Hat is gevolgd door andere distributies. Zo biedt CentOS de Red Hat-software, maar zonder dat daarvoor betaald hoeft te worden, voor de rest is de distributie identiek en om die reden wordt in dit boek gebruikgemaakt van CentOS (www.centos.org). Fedora is het opensourceproject dat door Red Hat ondersteund wordt. Alle software die uiteindelijk in Red Hat terechtkomt, wordt eerst getest in Fedora – hetgeen overigens geenszins betekent dat de Fedora-software van ondermaatse kwaliteit is. Deze distributie is gratis beschikbaar op www.fedoraproject.org.
Geld vragen voor gratis software? Het lijkt misschien merkwaardig dat Red Hat (en anderen) geld vragen voor software die in principe gratis is. Toch is dit niet zo merkwaardig en de GPL laat hier ruimte voor. Volgens de bepalingen van de GPL moet Red Hat de broncode meeleveren. Dat doet men ook, en die broncode is vrij beschikbaar. Ook geeft Red Hat al haar bijdragen aan de ontwikkeling gratis terug aan de Linux-community. Voor Red Hat Enterprise Linux moet echter betaald worden, en u zult deze Linux-distributie dan ook niet overal zonder restricties kunnen downloaden. De juridische constructie om dit te verantwoorden, is dat in RHEL het Red Hat-logo zit, en dat is juridisch beschermd. Als u een commerciële Linux-distributie koopt, krijgt u daar ook wel degelijk zaken voor terug, met name dingen die voor bedrijven erg belangrijk zijn. We noemen de volgende: V gecontroleerde updates (nagenoeg geen kans op virussen en malware dus); V technische ondersteuning; 3
Aan de slag met Linux voor LPIC-1
V support op hardware, wat betekent dat specifieke hardwareleveranciers
garanderen dat de distributie op hun hardware werkt; V support op software van derden, wat betekent dat leveranciers van toepas-
singen garanderen dat hun toepassing het doet op de betreffende Linuxdistributie.
1.3.2
Ubuntu en Linux Mint
De Ubuntu Linux-distributie (www.ubuntu.com) werd in een klap beroemd toen de Zuid-Afrikaanse multimiljonair het Ubuntu-project stichtte en gratis installatieschijven ging versturen. Gebruikers hoefden zich maar te registreren om per post een disk te krijgen, iets wat zeker in gebieden met minder goede internetverbinding tot veel succes heeft geleid. Ubuntu is daardoor een heel populaire Linux-distributie geworden, en is nog steeds erg populair. Achter Ubuntu zit het bedrijf Canonical, dat probeert geld te verdienen met support op Ubuntu. Dat doen ze met name op de Ubuntu Long Term Support (LTS)-versies, gratis versies van Ubuntu Server- en Ubuntu Desktop-editie waarvoor gegarandeerd 7 jaar updates beschikbaar zullen zijn. De Ubuntu-desktop wordt veel gebruikt en kenmerkt zich door een hoge mate van innovatie. Dat betekent dat nieuwe features in een vroeg stadium beschikbaar zijn in Ubuntu. Omdat Ubuntu-desktop zo populair is, en daarnaast maatgevend voor wat veel andere distributies doen, is het een van de twee distributies die in dit boek gebruikt worden. Linux Mint is een afgeleide van Ubuntu. Dat betekent dat het zich op Ubuntu baseert, maar ook eigen dingen toevoegt. Omdat Linux Mint iets minder duidelijk probeert geld te verdienen met Linux, is dit een distributie die de afgelopen jaren erg populair geworden is. 1.3.3 SUSE SUSE (www.suse.com) volgt met haar SUSE Linux Enterprise Server (SLES) en SUSE Linux Enterprise Desktop (SLED) het voorbeeld van Red Hat en is de tweede commerciële Linux-distributie. Naar schatting gebruikt 20% van de servers wereldwijd deze van oorsprong Duitse Linux-distributie. De SUSE Linux Enterprise-producten zijn tegen betaling te gebruiken, daarnaast levert SUSE een opensourceoplossing met de naam OpenSUSE die gratis beschikbaar is op www.opensuse.org. OpenSUSE wordt gebruikt om nieuwe features te testen die later in SUSE Linux Enterprise beschikbaar gemaakt worden.
4
Hoofdstuk 1 – Introductie
1.3.4 Debian In vergelijking met de andere distributies die hiervoor besproken zijn, is Debian een soort buitenbeentje. Er zit namelijk geen bedrijf achter Debian, maar het is een pure opensourcedistributie. De medewerkers aan het Debian-project zijn er in geslaagd van Debian een heel stabiele distributie te maken, maar het is ook niet de meest vernieuwende distributie. Dat betekent dat het soms lang kan duren voordat nieuwe functionaliteit beschikbaar is. Vanwege de goede reputatie zijn er veel andere distributies die op Debian gebaseerd zijn, waaronder Ubuntu.
1.4
Linux installatie
Om de oefeningen in dit boek goed te kunnen volgen, hebt u een vrij specifieke setup nodig. U leest hier hoe u deze setup op uw eigen computer installeert. We gaan er daarbij van uit dat u een oplossing voor desktopvirtualisatie op uw computer geïnstalleerd hebt. Dit kan bijvoorbeeld VMware Player, VMware Workstation of Virtual Box zijn. In de online resources vindt u meer informatie over de configuratie hiervan. In deze setup wordt gebruikgemaakt van virtualisatie. Dat betekent dat u een desktopcomputer nodig hebt met Windows, Mac OS X of Linux. Daarop installeert u een desktopvirtualisatieoplossing (VMware Player, VMware Workstation of VirtualBox). Maak in uw virtualisatieprogramma twee virtuele machines aan met elk minimaal 1 GB beschikbaar werkgeheugen en 20 GB schijfruimte. Vervolgens kunt u de installaties starten zoals hierna beschreven is. Als u beschikking hebt over voldoende computers, is het ook mogelijk de Linux-machines elk op een aparte fysieke computer te installeren. Welke vorm van installatie u ook kiest, het is wel van belang dat de computers door middel van een netwerkverbinding met elkaar verbonden zijn.
Te gebruiken Linux-versies Voordat u begint met installatie, moet u er tevens voor zorgen dat installatiemedia van Ubuntu Desktop en CentOS beschikbaar zijn. In dit boek maken wij gebruik van Ubuntu Desktop 14.04 LTR en CentOS 6.5. U doet er goed aan te werken met een versie die hier niet te veel van afwijkt. Voorkom het gebruik van CentOS 7.0 of later, hierin zullen veel dingen gewijzigd zijn. Hoe recenter de Linux-versie die u gebruikt, hoe groter de kans op significante afwijkingen! Mocht het u niet lukken de genoemde versies te downloaden, dan kunt u gebruikmaken van de ISO-installatiebestanden die u kunt downloaden op http://www.sandervanvugt.nl/isos. Als u een recente computer hebt die 64-bits instructies aan kan, is het aan te raden de 64-bits versies te gebruiken. Is dit niet het geval, dan kunt u ook de 32-bits versies van de software inzetten. Om de oefeningen in dit boek te kunnen uitvoeren maakt dit eigenlijk niets uit.
5
Aan de slag met Linux voor LPIC-1
1.4.1 Installatie CentOS In deze paragraaf gaat u CentOS installeren. U doet dat aan de hand van oefening 1. Voer de stappen in deze oefening uit om de omgeving in te richten die u in de rest van dit boek nodig hebt.
Geen serverinstallatiehandleiding Het doel van de oefeningen waarin u CentOS en Ubuntu installeert is niet een volledige serverinstallatie. De oefeningen stellen u in staat een omgeving in te richten die u nodig hebt om de rest van de hoofdstukken in dit boek door te werken. Omdat u nog maar net met Linux begonnen bent, heeft het geen zin te vertellen over alle overwegingen die een rol spelen bij het inrichten van een Linux-server. U leert daar in volgende hoofdstukken meer over.
Oefening 1.1 CentOS installeren In deze oefening wordt gesproken over ‘uw computer’. Hiermee wordt de computer bedoeld waarop u CentOS installeert. In de meeste gevallen zal dat dus uw (virtuele) computer zijn! 1. Zorg ervoor dat uw computer opstart van de CentOS-installatie-dvd die u gedownload hebt. Het CentOS-opstartmenu wordt nu getoond. Kies hierin de optie Install or upgrade an existing system en druk op Enter. U moet vervolgens even wachten terwijl de Linux-kernel en het initramfs gestart worden. Het initramfs bevat een klein bestandssysteem van waaruit de verdere installatie uitgevoerd moet worden.
Figuur 1.1 Het opstartmenu van CentOS.
6
Hoofdstuk 1 – Introductie
2. Het eerste scherm van het installatieprogramma geeft de optie een mediatest uit te voeren. Hiermee kunt u de integriteit van de installatieschijf testen. Gebruik de Tabtoets om OK te selecteren als u dit wilt doen en druk op Enter. Wilt u geen integriteitstest uitvoeren, ga dan met de Tab-toets naar de knop Skip en druk op Enter om verder te gaan.
Figuur 1.2 Gebruik de Tab-toets om de gewenste optie te selecteren.
3. U ziet nu een CentOS-logo met daaronder een knop Next. Klik op de knop Next om verder te gaan. 4. In het volgende scherm geeft u aan welke taal u wilt gebruiken. Kies English (English) en klik op Next.
Figuur 1.3 KIes Engels als standaardtaal.
7
Aan de slag met Linux voor LPIC-1
Nederlands? We weten het, u bent in het Nederlandse taalgebied, dus waarom zou u geen Nederlandse installatie uitvoeren? Hiervoor zijn een paar goede redenen aan te voeren: V Als u Linux-beheerder wordt, zult u werken op servers die vrijwel allemaal in het Engels geïnstalleerd zijn. V De Linux-community is erg internationaal. Om op fora en in nieuwsgroepen te communiceren met andere Linux-gebruikers, is het handig als u verstaanbaar bent en Engels gebruikt.
4. Geef nu aan welk toetsenbord u wilt gebruiken. In Nederland gebruikt u waarschijnlijk een U.S. International-toetsenbord, als u op een systeem met een Belgisch toetsenbord installeert, kiest u Belgian (be-latin1).
Figuur 1.4 CentOS kan ook geïnstalleerd worden met een Belgisch toetsenbord.
5. Nu moet u aangeven wat voor type Storage Devices u gebruikt. De optie Specialized Storage Devices is toepasbaar in SAN-omgevingen. Dat is hier niet aan de orde. Kies daarom Basic Storage Devices en klik op Next.
8
Hoofdstuk 1 – Introductie
Figuur 1.5 Alleen in complexe datacentra kiest u voor de optie Specialized Storage Devices.
6. Als u in een virtuele machine installeert, krijgt u nu een melding dat de storage device misschien gegevens bevat. Deze melding is typisch voor een harde schijf waar nog helemaal niets op staat. U kunt hier zonder probleem de optie Yes, discard any data selecteren.
Figuur 1.6 Het klinkt niet goed, maar toch kiest u hier de optie Yes discard any data.
9
Aan de slag met Linux voor LPIC-1
7. In het volgende scherm geeft u een naam aan de computer. Kies hier de naam centos.example.com en klik dan op Next. U hoeft het netwerk niet te configureren, u leert later hoe u dit handmatig doet en voorlopig maakt u gewoon gebruik van DHCP zodat uw machine automatisch een IP-adres krijgt.
Figuur 1.7 Stel de hostnaam in op CentOS.example.com.
8. Geef nu aan in welke tijdzone uw machine zich bevindt door op de wereldkaart te klikken, of door een locatie uit de uitschuiflijst te kiezen. Daarnaast is er de optie System clock uses UTC. Zorg ervoor dat deze optie niet geselecteerd is. Alleen bij servers staat de systeemklok soms ingesteld op Universal Time Coordinated (UTC), een tijd die overal op de wereld hetzelfde is. Op een typisch desktopsysteem staat de hardwareklok ingesteld op lokale tijd.
10
Hoofdstuk 1 – Introductie
Figuur 1.8 Zorg dat de optie System clock uses UTC niet geselecteerd is.
9. In het volgende scherm voert u het wachtwoord in voor het beheerdersaccount, de gebruiker root. De gebruiker root is almachtig op een Linux-systeem en er zijn geen beperkingen voor deze gebruiker. Op een echt systeem kiest u daarom een complex wachtwoord. Wij raden u aan om voor het werken met dit boek een eenvoudig wachtwoord te kiezen dat u zonder al te veel problemen in kunt typen en gemakkelijk kunt onthouden.
Figuur 1.9 De gebruiker root is de beheerder van uw systeem en krijgt normaal een complex wachtwoord toegewezen.
11
Aan de slag met Linux voor LPIC-1
10. In het volgende scherm geeft u aan hoe u de harde schijf van uw machine wilt inrichten. We houden het voorlopig even eenvoudig en kiezen de optie Use All Space. De geavanceerde inrichting van de harde schijf komt in hoofdstuk 5 aan bod. Klik op Next om verder te gaan.
Figuur 1.10 In een later hoofdstuk leert u meer over geavanceerde mogelijkheden om de harde schijf in te richten.
11. Het installatieprogramma staat nu op het punt de nieuwe schijfindeling weg te schrijven naar disk. Dit is het laatste moment waarop u zich nog kunt bedenken! Is dat niet aan de orde en weet u zeker dat u de installatie wilt starten? Klik dan nu op Write changes to disk.
Figuur 1.11 Dit is het laatste moment waarop u nog terug kunt. Als u nu op Write changes to disk klikt, wordt de bestaande inhoud van uw vast schijf onherroepelijk overschreven!
12
Hoofdstuk 1 – Introductie
12. Nadat de hardeschijfindeling is weggeschreven, geeft u aan wat u wilt installeren. U moet hier de optie Desktop kiezen, deze zorgt ervoor dat een volledige grafische desktop geïnstalleerd wordt.
Figuur 1.12 Kies Desktop om een grafische desktop te installeren.
13. Nadat u in het voorgaande scherm op Next geklikt hebt, wordt de software naar uw systeem weggeschreven. Dit duurt minimaal een minuut of 10 en kan veel langer duren als u relatief langzame hardware hebt. Wacht totdat dit is afgerond. 14. Als alle software geïnstalleerd is, krijgt u daarvan een melding. Klik nu op Reboot om uw vers geïnstalleerde systeem te starten en de installatie af te ronden.
Figuur 1.13 Klik op Reboot om het geïnstalleerde systeem te starten.
13
Aan de slag met Linux voor LPIC-1
15. Nadat uw systeem voor de eerste keer gestart is, ziet u een welkomstscherm. Hierin voert u een aantal afrondende taken uit. Om de wizard te starten die u daarbij helpt, klikt u op Forward.
Figuur 1.14 Klik op Forward om uw systeem verder in te richten.
16. U ziet om te beginnen de licentiebepalingen. Deze zijn eenvoudig: CentOS is volledig open source en u krijgt geen garanties. Om hiermee akkoord te gaan klikt u op Forward. 17. Omdat het niet fraai is al uw werk als beheerder (root) te doen, maakt u in het volgende venster een gebruiker aan. De gebruiker heeft beperkte permissies en daarom is er minder risico dat u als deze gebruiker schade aanricht op het systeem. Voer nu de gebruikersnaam user in en geef de gebruiker het wachtwoord password. U zult hierover een waarschuwing krijgen dat het wachtwoord te eenvoudig is, deze waarschuwing kunt u gerust negeren.
Figuur 1.15 Aanmaken van een gebruikersaccount.
14
Hoofdstuk 1 – Introductie
18. U ziet nu wederom een scherm waarin u de datum en tijd in kunt voeren. Als het goed is had u dat al gedaan, dus nu mag u op Forward klikken om direct verder te gaan. 19. Het laatste venster geeft als het goed is een foutmelding dat er te weinig geheugen is om Kdump te configureren. Ook dit mag u negeren en u kunt gewoon verder gaan. Kdump is een methode om bij een systeemcrash een kernel te laden die het mogelijk maakt alle gegevens die op dat moment in het geheugen aanwezig zijn, weg te schrijven naar een core dump file. Omdat Linux sowieso niet echt vaak crasht, kunt u prima zonder deze functionaliteit. 20. Tot slot van de installatieprocedure wordt een CentOS-inlogscherm getoond. U kunt zich hier aanmelden met het gebruikersaccount dat u zojuist hebt aangemaakt door op de naam van de betreffende gebruiker te klikken. Wilt u zich als root aanmelden? Klik dan op Other en voer de gebruikersnaam en het wachtwoord van het rootaccount in. U bent nu klaar om het systeem te gaan gebruiken!
Figuur 1.16 Na afronden van de installatie kunt u aanmelden op het vers geïnstalleerde systeem.
1.4.2
Installatie Ubuntu Desktop
In deze paragraaf installeert u uw tweede virtuele machine met Ubuntu Desktop. Voer de stappen in de oefening uit om de omgeving in te richten die u in de rest van dit boek nodig hebt. 1. Zorg ervoor dat de installatiedisk beschikbaar is in het optische schijfstation van de machine die u met Ubuntu gaat inrichten en start deze. 2. Als het welkomstscherm geladen is, kiest u om te beginnen de te gebruiken taal. Ook hier raden we aan Engelstalig te installeren. Klik vervolgens op Install Ubuntu om de software weg te schrijven op de harde schijf van uw systeem.
15
Aan de slag met Linux voor LPIC-1
Figuur 1.17 Klik op Install Ubuntu om te beginnen met de installatie.
3. Voordat de daadwerkelijke installatie begint, ziet u een venster waarin aangegeven wordt of voldaan wordt aan alle voorwaarden om Ubuntu te installeren. Mogelijkerwijs hebt u geen actieve internetverbinding. Als dit zo is, kunt u toch met installatie beginnen; klik gewoon op Continue om te beginnen met wegschrijven van de packages.
Figuur 1.18 Voordat de installatie begint, wordt een test gedaan om te kijken of aan alle installatievoorwaarden voldaan wordt.
16
Hoofdstuk 1 – Introductie
4. In het venster Installation type geeft u aan op welke wijze geïnstalleerd moet worden. Kies hier de optie Use LVM with the new Ubuntu installation en klik op Install Now. U hebt normaal niet beslist LVM nodig, maar omdat dit onderwerp later in dit boek aan de orde komt, is het wel handig als u vast LVM-volumes aangemaakt hebt. Klik vervolgens op Install Now om de installatie te laten starten.
Figuur 1.19 Kies Use LVM with the new Ubuntu installation.
5. Klik nu op de wereldkaart om aan te geven waar u zich bevindt. Geen probleem als het installatieprogramma Madrid of Berlijn aangeeft, zolang u maar in de WestEuropese tijdzone zit. U kunt overigens ook in de tekstbalk onder de wereldkaart de tekst Amsterdam typen zodat de tijdzone goed gezet wordt.
Figuur 1.20 De tijdzone selecteren.
17
Aan de slag met Linux voor LPIC-1
6. Nadat u de tijdzone hebt aangegeven, kiest u in het volgende venster het toetsenbord. Omdat er nogal wat varianten van toetsenborden zijn, kunt u testen of u het juiste toetsenbord gekozen hebt. Handig als u een virtuele machine op bijvoorbeeld een Mac geïnstalleerd hebt.
Figuur 1.21 Selectie van het te gebruiken toetsenbord.
7. Nadat u het toetsenbord gekozen hebt, maakt u zichzelf bekend. De gegevens die u invoert worden gebruikt om u later aan te melden op uw Ubuntu-desktop. U maakt alleen een gebruiker aan en hoeft geen wachtwoord in te stellen voor de gebruiker root, de gebruiker die u nu aanmaakt wordt namelijk later ook gebruikt om beheertaken uit te voeren. Verzeker u ervan dat de optie Log in automatically niet geselecteerd is, en kies ook de optie Encrypt my home folder niet. Klik vervolgens op Continue.
18
Hoofdstuk 1 – Introductie
Figuur 1.22 De gebruiker die u nu aanmaakt zult u later ook gebruiken om beheertaken uit te voeren.
8. De daadwerkelijke installatie wordt nu gestart. Dit duurt meestal minstens 10 minuten, maar kan ook langer duren, afhankelijk van de hardware die u gebruikt. Tijdens de installatie wordt een diapresentatie weergegeven waarin u kennis kunt maken met de features van Ubuntu. Aan het eind hebt u een werkend systeem waarop u direct in kunt loggen.
1.5
Praktische opdrachten
Voer de installatie van Ubuntu Desktop Editie en CentOS uit zoals in paragraaf 1.4 beschreven is. Let op dat deze installatie nodig is voor alle oefeningen die verder in dit boek aan bod komen.
19
Index Symbolen ? 61 * 61 & 178 < 29 > 29 $PATH 26 2> 29 .bash_history 27 .bash_login 105 .bash_logout 105 .bash_profile 105 /dev/mapper 95 /etc/aliases 176 /etc/apt/sources.list 124 /etc/cron.allow 187 /etc/cron.deny 187 /etc/default/grub 202 /etc/default/useradd 102 /etc/fstab 94 /etc/group 100 /etc/hostname 152 /etc/hosts.allow 270 /etc/hosts.deny 270 /etc/inittab 206 /etc/ld.so.conf. 131 /etc/login.defs 268 /etc/logrotate.conf 168 /etc/modprobe.d 260 /etc/nologin 268 /etc/nsswitch.conf 153 /etc/passwd 100, 101 /etc/profile 105 /etc/resolv.conf 153 /etc/securetty 268, 269 /etc/services 142 /etc/shadow 100, 101 /etc/skel. 102 /etc/sudoers 267 /etc/systemd/system 212 /etc/yum.repos.d 120 --help 33
/lib/systemd/system 212 /proc/partitions 79 .profile 105 A aanhalingstekens 238 accolades 33 accounts 99 achtergrond 177 ACL 109 Active Directory 101 adres 140 adresklassen 138 alias 104 AllowUsers 280 anonymous memory 185 apropos 35 apt-add-repository 125 apt-cache 125 apt-cdrom 126 apt-config 126 apt-get 124, 126 aptitude 128 apt-key 126 argumenten 235 ASCII 160 at 187, 188 atd 188 attributen 111 authorized_keys 282 awk 52 B Backports 124 back-ups 65 Bash 231 bashrc 105 berekeningen 245 bestandssysteem 81 bg 177 binair 136 BIOS 192
bits 134 blkid 89 blokhaken 33 bootloader 191, 196 bootsector 195 broadcast 136 broncode 2 Btrfs 81 buffer cache 186 bzip2 66 C Canonical 4 case 252 cat 29, 45 CentOS 3 cgroup 213 cgroups 266 chage 102, 268 chattr 112 chgrp 107 child 177 chkconfig 211 chmod 107 chown 107 Cmd_Alias 267 command mode 40 Command substitution 239 compileren zie vertalen compressie 67 cp 61 cpio 65 createrepo 120 cron 187 crontab 187 Ctrl+C 178 Ctrl+R 27 Ctrl+Z 178 CUPS 169 cupsd 171 cupsdisable 174
285
Aan de slag met Linux voor LPIC-1
cupsenable 174 cut 46 cvt 261 D daemon 177 database 221 date 160 dd 62 Debian 5 deb-pakketten 125 debugfs 91 decimaal 137 default gateway 135 default router 135 dependency 115 Destinations 165 device mapper 95 devices 34, 62 df 88 dhclient 152 DHCP-server 136 diff 266 dig 155 DISPLAY 262 display manager 262 distributies 3 dmesg 166 DNS 135 Dovecot 175 dpkg 125 DPKG 116 dracut 201 drivers 2 du 88 dumpe2fs 90 E edquota 96 egrep 50 env 25, 104, 233 environment 25, 103 epoch 161 escapetekens 238 exec 27 Execute 106
286
exit 25 exit-status 247 expand 56 export 104, 232 Ext2 82 Ext3 82 Ext4 81 extended partitie 81, 83 F Facilities 165 false 101 fdisk 79 Fedora 3 fg 177 fgrep 50 FHS 69 field delimiter 46 file 64, 194 Filesystem Handling Standard 69 find 30, 72 fingerprint 275 fmt 56 for 251 free 86, 186 fsck 89, 91 fstab 94 functies 104 G gdisk 79, 197 gdm 23 GDM 262 gebruikers 99 GECOS 101 geheugen 185 General Public License 2 GhostScript 170 GID 101 globbing 61 GNOME 21 GNU 1 gparted 197 GPG 272 GPL 2
GPT 196 graphical.target 214 grep 29, 48, 50 groep 102 GRUB 191 GRUB 2 191, 202 grub-install 199 GSSAPIAuthentication 281 GUID 76, 196 gzip 66 H hard link 67 hashing 268 head 45 header zie kop header files 34 history 27 home directory 101 host key 278 hostnaam 152 hostname 153 Hulp opvragen 31 hwclock 160 I ICMP 143 id 103 Idle loop 182 if 249 ifconfig 149 ifdown 149 ifup 149 image bestand van 63 IMAP 175 inetd 269 info 36 init 23, 206 initramfs 191 initrd 191 inode 68, 95 insert modus 40 Installatie 6 interne commando’s 27 interrupts 182
Index
ip 148 IP-adres 133 IPP 169 ip route 154 IPv4 133 IPv6 133 ISO-8859 160 iwconfig 146 iwlist ath0 scanning 147 J jobs 177 join 47 journal 89 K KDE 21 KDM 262 kernel 2, 3, 257 kernelmodule 258 keyring 273 kill 183 killall 183 klogd 166 knippen 42 Knoppix 215 kopiëren 42, 61 Korn 234 kpartx 83 L Label 89 LANG 159 ldd 131 LD_LIBRARY_PATH 131 libraries 115, 131 library 34 lightdm 23 limits.conf 266 Linus Torvalds 2 Linux Mint 4 load average 182 locale 160 locate 71 logische partitie 81, 83 logische volume 77
logrotate 168 loopback 135 lost+found 93 lpadmin 171 lpc 173 lpd 169 lpoptions 171 lppasswd 172 lpq 173 lpr 173 lprm 173 lpstat 171 ls 59 lsattr 112 lsmod 145, 259 lsof 93 lspci 144, 258 lsusb 144, 258 LVM 76 M MAC-adres 143 Main 124 man 31 mandb 35 MariaDB 219 Master Boot Record 64 MBR 192, 194 MD5 268 MDA 175 meta package handler 115 metatekens 61 mime.types 169 mingetty 209 mkdir 60 mkfs 85 mkinitrd 201 mkswap 87 Modeline 261 modinfo 259 modprobe 259 mount 92 mounten 85 mountopties 90 MTA 175 mtu 149
MUA 175 multicast 135 multi-user.target 214 Multiverse 124 MySQL 219 mysqladmin 220 mysqld_safe 219 N nameserver 135 netcat 156 netstat 156, 266 netwerkproblemen 153 NetworkManager 150 newaliases 176 nice 182, 184 nl 46 nmap 156, 266 noatime 94 nohup 177, 178 nologin 269 ntfs 82 NTP 160, 162 ntpdate 163 ntpq 163 O od 56 opdrachten who 22 OpenLDAP 101 Open source 1 OpenSUSE 4 opties 235 ownership 106 P packages 115 page cache 185 pages 64 PAM 101 parent 177 parsing 51, 238 partitietabel 192, 193 partprobe 83, 87 passphrase 273, 281
287
Aan de slag met Linux voor LPIC-1
passwd 101 PasswordAuthentication 280 paste 56 pattern matching 240 pattern matching operator 240, 242 permissies 106, 223 PermitRootLogin 280 PGP 272 physical volume 77 PID 180 pinfo 37 ping 154 pipe 30 plakken 42 poortadres 142 POP3 175 positionele parameters 235 Postfix 175 PostScript 170 PPD 170 pr 56 primaire groep 101 primaire partities 81 prioriteit 184 Priorities 165 private group 102 privileged user 23, 99 proc 70 ps 179 PuTTY 278 pwd 27 Q query’s 117 quota 95 quotacheck 96 quotes 238 R rc 206 RDBMS 222 read 233 Read 106 Red Hat 3 Red Hat Enterprise Linux 3
288
redirect 29 reguliere expressies 48 Reiserfs 82 renice 184 repository 115 repquota 96 rescue-cd 215 rescue.target 214 Restricted 124 return value zie retourwaarde rm 60, 61 rmdir 60 root 24, 99 router 135 rpm 116 RPM 116 rpm2cpio 119 RSS 180 rsyslog 164 runlevel 23, 208, 210 S scp 280 screen 178 sectoren 80 secundaire groep 103 secure boot 192 sed 48, 51 SELinux 96 Sendmail 175 server 2 service 210, 211 service accounts 99 set 28, 104 setenforce 96 setfacl 109 setterm 105 SGID 108, 265 SHA512 268 shebang 233 shell 2, 25 SIGHUP 183 SIGKILL 183 signaal 183 signing 277
SIGTERM 183 slab 186 slabtop 186 sockets 212 sort 46 source 26 source code zie broncode sourcen 235 split 47 Spooling 171 SSH 278 ssh-add 282 ssh-agent 282 ssh_config 281 ssh-copy-id 282 sshd_config 280 ssh-keygen 281 SSH-tunnels 282 STDERR 29 STDIN 29 STDOUT 29 Sticky bit 108 stratum 162 su 24 subnetmasker 134, 136 subshell 26, 104 substitution operators 240 sudo 24, 267 SUID 108, 265 SUSE 4 swap 86, 185 swapon 87 symbolic link 67 sysfs 257 syslog 164 syslog-ng 164 systeembelasting 182 system-call 34 system-config-network 151 systemctl 213 systemd 211 Systemd 192 system space 182
Index
T taal 159 tabel 221 tail 45 tar 65 target 213 targets 214 TCP 142 tcpd 270 TCP wrappers 270 tee 30 tekststreams 44 terminalvenster 21 test 246 Texinfo 36 tijd 160 time stamps 64 tmpfs 94 toetsenbordinstelling 159 top 181 touch 24, 64 tr 55, 253 traceroute 154 transactielog 89 true 245 trusts 276 tty 22 tune2fs 89 type 71 tzselect 162 U Ubuntu 4 udev 70, 144, 257 udevadm monitor 257 UDP 143 UEFI 192 UID 100 ulimit 266
umask 111 umount 92 unalias 104 uname 27 unexpand 56 Unicode 160 uniq 54 Universe 124 UNIX 1 unmounten 92 unprivileged user 23 until 253 updatedb 71 update-grub 202 Upstart 192, 206, 209 uptime 182 useradd 101 userdel 102 usermod 102 user space 182 user_xattr 109 UTF-8 160 UUID 89 V variabelen 25, 103, 232 verborgen bestanden 60 verplaatsen 61 verwijderen 61 vfat 82, 83 vi 39 vigrp 103 vim 39 virtualisatie 5 virtuele console 22 visudo 267 volume 75 volume group 77 VSZ 180
W wachtwoord 100 wants 213 wc 46 wheel 268 whereis 71 which 71 while 245 While 253 who 24 who 22 window managers 21 wireless 146 Write 106 write cache 186 X xargs 30 X-client 262 XDM 262 xdpyinfo 262 XFS 82 xfs_admin 89 xhost 262 xinetd 269, 271 Xorg 260 xrandr 260 X-terminal 21 xwininfo 262 xxd 194 Y yum 119, 120 yumdownloader 123 Z zoeken en vervangen 43 zombie 182
289
Aan de slag met Linux voor LPIC-1
Bij het schrijven van dit boek is gekeken naar twee belangrijke Linux-distributies: CentOS (gelijk aan Red Hat en Fedora) en Ubuntu. Dit betekent dat u regelmatig verwijzingen naar deze distributies tegenkomt. Het boek is echter ook geschikt wanneer u een andere distributie gebruikt. Dit boek leidt op voor het de examens 101 en 102 van het Linux Professional Institute en vormt daarmee een uitstekende voorbereiding voor het LPIC-1 certificaat. Om deze examens te halen is echter niet alleen theoretische kennis nodig, maar ook veel ‘hands-on’ ervaring. Via de hbo-portal van de uitgever, www.AcademicX.nl, is een schat aan aanvullend materiaal beschikbaar, waaronder aanwijzingen voor het opzetten van een lab-omgeving en kennisvragen met directe feedback.
van Vugt
Aan de slag met Linux voor LPIC-1 is bedoeld voor iedereen die wil leren hoe je een Linux-systeem moet beheren. Voorkennis van Linux is niet nodig, enige algemene kennis van computersystemen wordt echter wel verondersteld. Alle facetten waarmee een beheerder van een Linux-systeem te maken krijgt, komen aan de orde. Denk daarbij aan het installeren van Linux, het werken met bestanden, het configureren van een gebruikersomgeving en het werken met de printomgeving. Dit boek is geschikt voor gebruik in een leeromgeving en voor zelfstudie, en bevat een groot aantal oefeningen en voorbeelden. Op basis van een eigen lab-omgeving (een virtuele machine) die u in het eerste hoofdstuk opzet, kunt u als lezer vervolgens het hele boek doorwerken. Door deze interactieve aanpak is het voor u ook eenvoudiger om de praktische kennis te onderscheiden van de theoretische achtergronden
Aan de slag met Linux voor LPIC-1 Sander van Vugt
Sander van Vugt is zelfstandig trainer, consultant en auteur, gespecialiseerd op het gebied van Linux. Meer informatie over de auteur vindt u op zijn website, www.sandervanvugt.nl. .
KIJK OP W W W. A C ADEMICX .NL VOOR AL LE E X T R A’ S
N N IS V R A G
978 90 395 2756 6 123 / 985
9 789039 527566
EN
+ O N L IN E AK EM AT E R I A A L +EXTR