Kursen vlinux (v1)

By . Latest revision .

Kursen uppdateras inför HT23. Är “gula rutan” borta under kursmomentet är det fritt fram att börja.

Kursen Operativsystemet Linux och virtualiseringstekniker, a.k.a. vlinux, och syftet med kursen är att studenten ska lära sig operativsystemet Linux och dess beståndsdelar såsom processer, filsystemet och terminalen. Kursens fokusområden ligger även i operativsystemets uppbyggnad, programhantering och serverhantering samt att programmera i språket Bash. Studenten ska även lära sig hantera virtualiseringstekniken Docker.

Kursen har tre fokus. Det ena är att lära ut grunder och beståndsdelar i operativsystemet Linux. Det andra är att lära ut programmeringsspråket Bash och dess funktionalitet. Det tredje är att introducera virtualiseringsmiljöer och visa på hur man kan använda dem. Kursen är för de som skall jobba med webbprogrammering.

Kursen börjar med att du installerar virtualiseringsmiljön Docker och varianter på operativsystemet Linux. Därefter lär du dig de grundläggande koncepten i Linux såsom terminalen, filsystemet, process-begreppet och att installera tjänster och programvaror och servrar. Senare i kursen får du lära dig hur du flera Docker-containrar som kommunicerar med varandra.

Samtidigt skriver du skript-program i programspråket Bash.

I slutet av kursen får du visa dina färdigheter i ett praktiskt programmeringsprojekt.

#Krav på labbmiljö

I kursen installerar du virtualiseringssystemet Docker. Du bör ha en dator med minst 8GB internminne för att det skall fungera bra. Med mindre internminne tar det längre tid att genomföra övningarna och det kan kännas trögt.

Kort och gott, du skall installera Docker och du behöver ha en tillräckligt bra miljö för att det skall fungera utan bekymmer.

#Förkunskaper

Det formella förkunskapskravet är:

För tillträde till kursen krävs avklarade kurser eller moment från kurser i programmering och webbteknologier omfattande totalt 22,5 hp.

#Innehåll

Kursen omfattar följande områden:

  • Installation av Linux och Linux som server. Paket och pakethantering.
  • Installation av webbservern Apache.
  • Linux med terminal (Bash), ssh, nano, och systemkommandon.
  • Operativsystemets olika delar såsom filsystemet, processer och processhantering.
  • Skriptprogrammering i Bash.
  • Virtualiseringmiljön Docker.

#Mål

#Kunskap och förståelse

Efter genomförd kurs skall studenten:

  • visa grundläggande förståelse för operativsystemet Linux genom att skriftligen beskriva och sammanfatta erfarenheter och observationer från övningar och projekt.
  • visa goda kunskaper i att använda och kontrollera en webbserver i Linuxmiljö genom att tillämpa tekniker i praktiska övningar och projekt.
  • visa goda kunskaper i att använda och kontrollera virtualiseringsmiljer genom att tillämpa teknikerna i praktiska övningar och projekt.

#Färdighet och förmåga

Efter genomförd kurs skall studenten:

  • kunna självständigt utveckla, dokumentera och presentera ett projekt baserat på programmering med Bash och Docker i en Linux-miljö.
  • ha god praktisk förmåga att hantera de verktyg och miljöer som används vid utveckling och felsökning för Bash-script och webbservrar i en Linux-miljö.

#Värderingsförmåga och förhållnigssätt

Efter genomförd kurs ska studenten:

  • via redovisningstexter kunna visa god förmåga att reflektera över kodstruktur i språket Bash och hanteringen av en webbserver.
  • via redovisningstexter kunna visa god förmåga att reflektera över användandet av en virtualiseringsmiljö.
  • via redovisningar och utförda övningar påvisa god kunskap om serverhantering, terminalhantering, språket Bash, webbserver och en virtualiseringsmiljö.

#Kursmoment

Kursen är uppdelad i kursmoment där varje kursmoment uppskattas till 20h studerande i form av programmering, undersökning, läsande, övningar, uppgifter, redovisning och eftertanke. Alla kursmoment skall redovisas och du samlar alla redovisningar i din me-sida.

#Kmom01: Docker och en linuxmiljö

Det första kursmomentet går ut på att installera Docker och bekanta sig med miljön. Vi ska titta på hur det ser ut i terminalen och träna på några vanliga kommandon som hjälper oss på olika sätt.

Instruktion till kursmoment 01.

#Kmom02: Dockerfile och Bash

Instruktion till kursmoment 02.

#Kmom03: Virtual Hosts

Instruktion till kursmoment 03.

#Kmom04: En webbserver i Docker

Vi går vidare med Docker och lär oss hur vi får igång en webbserver som körs inuti containern. Vi tittar även på volymer och hur vi kan anropa servern utifrån. Till detta skapar vi också ett Bashscript som kan testa en egen router.

Instruktion till kursmoment 04.

#Kmom05: Ett nätverk i Docker

Vi lär oss skapa fler containrar och kommunicera mellan dem med hjälp av ett privat nätverk. Flera services ska kommunicera med varandra i Docker.

Vi traskar även vidare med vår programmering i Bash och diverse verktyg.

Instruktion till kursmoment 05.

#Kmom06: Docker Compose

Vi bygger vidare på föregående kursmoment och använder docker-compose för att hantera våra services i det privata nätverket. Vi jobbar även vidare med Bash-script.

Instruktion till kursmoment 06.

#Kmom07/10: Projekt och examination

Avslutningsvis gör du ett projekt enligt en specifikation. Projektet är det sista som du gör och tillsammans med alla redovisningar som finns på din me-sida så används detta som underlag för att examinera dig från kursen.

Instruktion till kursmoment 10.

#Kurslitteratur

Måste jag skaffa kurslitteraturen?

#Kurslitteratur

Som kurslitteratur har jag valt följande bok, tillsammans med ett antal artiklar som finns tillgängliga på nätet.

  • The Linux Command Line – William Shotts En lättläst och trevlig bok med öppen licens som gör att boken finns tillgänglig fritt på bokens webbplats. Boken ger en bra introduktion till nybörjaren i Linux, systemkommandon och terminalen.

#Referenslitteratur

Följande böcker har jag valt som referenslitteratur. De kan vara bra att ha tillhands och ger lite extra läsmöjligheter. De behövs inte för att klara kursen men vill du bemästra kursens område så är dessa böcker bra startpunkter.

#Övrig litteratur

Det finns närliggande litteratur som är intressant för den som vill fördjupa sig i ämnet eller den som vill skaffa sig förkunskaper innan kursen.

#Läsanvisningar

TBD

#Lektionsplan och rekommenderad studieplan

Läser du kursen inom ramen för programmet Webbprogrammering (campus/distans) så finns det en rekommenderad studieplan inom programmet samt en lektionsplan.

Läser du kursen som en del i ett kurspaket så finns det en studieplan som är kopplad till kurspaketet.

Vissa av kurstillfällena kan ha en lektionsplan som du får i samband med kursstart. Lektionsplanen visar de tillfällena som är schemalagda träffar.

Finns det en lektionsplan så finns ofta bokningar av salar gjorda i bokningsschemat.

Studieplan, eventuell lektionsplan och eventuellt schema finns tillgängligt via kurstillfället på ITs.

Läs mer om den rekommenderade studieplanen och lektionsplanen.

#Lärarstöd och handledning

Schemalagda labbtillfällen, hangouts samt forum och chatt de viktigaste källorna för handledning. Läs om handledning och hjälp-till-självhjälp.

#Ladok

Enligt kursplanen finns ett antal ladokmoment och de är kopplade till kursens kursmoment enligt följande.

Kursens moment Ladok moment enligt kursplan Betyg
Kmom01 + kmom02 Uppgift 1 á 2.5hp G-U
Kmom03 + kmom04 Uppgift 2 á 2.5hp G-U
Kmom05 - kmom10 Projekt á 2.5hp A-F

Den sista inlämningen bestämmer kursens slutbetyg vilket utfärdas när samtliga moment godkänts.

Läs mer om rapportering av resultat.

#Betygsättning

Det finns ett särskilt dokument som beskriver hur bedömning och betygsättning sker.

#Kursutvärdering och kursutveckling

Det finns ett särskilt dokument som beskriver hur arbetet med kursutvärderingar och kursutveckling sker. Det är oerhört viktigt för mig att du säger till vad du tycker om kurs och kursmaterial, du kan alltid hojta till i både forum, chatt eller mail.

Läs om hur vi jobbar med kursutvärdering och kursutveckling.

#Kursplan

Kursplanen är kursens formella dokument som fastställts av högskolan. När kursen utvärderas görs det mot kursplanen. I kursplanen kan du läsa om kursens klassificering, syfte, innehåll, mål, generella förmågor, lärande och undervisning, bedömning och examination, litteratur, mm.

Från och med hösten 2019 heter kursen “Operativsystemet Linux och virtualiseringstekniker”. Du hittar kursplanen genom att söka på kurskoden DV1611 via BTH’s hemsida.

Fram till och med våren 2019 gick kursen under namnet “Programmera webbtjänster i Linux”. Du hittar kursplanen genom att söka på kurskoden DV1547 via BTH’s hemsida.

Under våren 2019 fanns en kurskod DV1609 med justerade förkunskapskrav jämfört med DV1547. Men den kursen har inget kurstillfälle.

#Tidigare utgåvor

Kursen linux (v3) bygger på kurskoden DV1611.

Kurserna linux (v2) och linux (v1) bygger på kurskoden DV1547.

#Revision history

  • 2023-08-25: (D, lew) Uppdaterad inför HT23
  • 2022-04-20: (C, lew) Uppdaterad inför HT22
  • 2018-12-21: (B, lew)

Document source.