Linux og open source - undervisningsmoduler

Ingen læring uden motivation er grundprincippet. For mange ikke Linux-kyndige er Linux det samme som en sort skærm  med hvid tekst og kommandoer, der minder om volapyk.Mange Unix- og Linux-bøger går slavisk frem med at forklare disse kommandoer i detaljer. Og motivationen kan være svær at finde.

ZealSofts grundprincip forbindelse med læring er, at kurset skal tage udgangspunkt i en opgave, eller et problem kursisten kan forholde sig til. Først introduceres kursisten til opgaven eller problemet. Derefter er der fokus på de værktøjer, der skal bruges til at løse problemet. Således opnår kursisten allerede på andendagen at kunne sætte en Squid transparent Proxy op, tilpasse konfigurationen og fejlsøge i logfiler. I løbet af en uge, kan kursisten håndtere volume management med LVM, arbejde intenst med kommandolinjen, opsætte en chroot og i det hele taget udføre en række opgaver på et Linux-system.

 

Introduktion til Linux: historien og kommandolinjen

For alle, der ikke har arbejdet med Linux og/eller Unix før, vil dette modul være en obligatorisk introduktion. Med udgangspunkt i tilblivelsen af Unix i 60'erne og 70'erne, får kursisten et indblik i fødslen af det modulære og porterbare styresystem.  Baggrunden for open source-bevægelsen i 80'erne og Linux' fødsel  i 90'erne er også et tema i dette modul. Og ikke mindst gives der en introduktion til kommandolinjen og basal administration af et Linux system. Blandt emnerne i dette modul findes også:

  • Kommandolinjens opbygning, historik, parametetre, wild cards, soft- og hard links, nagiering i filsystemet.
  • Virtual consoles og den grafiske brugerflade, X.
  • Everything as a file-filosifien: Konfigurationsfiler i /etc, devices i /dev, processer i /proc m.
  • No news is good news-filosofien: Interaktive vs. non-interaktive kommandoer.
  • Rettighedsstyring, brugere og grupper og file access control
  • Netværksopsætning via Network-manager og konfigurationsfiler

 

Transparent Proxy med Squid

At sætte en transparent proxy op er en rigtig god øvelse. Gennem dette modul får kursisten en generel forståelse af hvad en Unix daemon er, hvordan den administreres og konfigureres og hvordan man fejlsøger vha. bl.a. logfiler. Kursisten introduceres til iptables og får en ide til forholdet mellem userspace og kernelspace. Det at sætte en Squid proxy op giver i det hele taget en rigtig god forståelse af, hvad det vil sige at være systemadministrator på et Linux-system. Og resultatet af en veludført opgave er synlig: Kursisten får et visuelt indtryk af trafikken, der strømmer gennem proxyen vha. logfiler og eventuelle analyseværktøjer. Gennem dettte modul dækkes følgende emner:

  • Administration og konfiguration af daemons
  • Tilpasning af konfigurationsfiler med inline dokumentation.
  • Introduktion til iptables.
  • Fejlsøgning vha. logfiler
  • Kernelspace versus userspace.

 

Filsystemer og volume management med LVM

For mange er den største omvæltning ved at arbejde med et Linux eller Unix-system, det at skulle forholde sig til filsystemets opbygning og filernes placering. Dette modul går i dybden med det hierarkiske filsystem, mount points og forskellige filsystemer i LInux. Samtidig introduceres kursisten til volume management med LVM og opnår at kunne administrere dynamiske volumes. Kursisten kommer til at arbejde følgende emner:

  • Filsystemer og mount points.
  • Oprettelse og håndtering af dynaiske volumes.
  • Ændringer af dynamiske volumes: Grow and shrink

 

Opsætning af et jail-environment

Med udgangspunkt i at skulle opsætte en ssh jumpstation, indføres kursisten i Linux' chroot funktion. At sætte et jail environment op giver kursisten en forståelse af hvilke grundelementer et Linuxsystem består af: Executables, libraries, virtual file systems, executables. Alle elementer, som er nødvendige for at bygge et lukket jail / chroot-environment. En god forståelse for jail environments er nødvendig for at forstå de Linux-teknologier, der er på hasitg fremmarch, især Docker.