Möte 7: Introduktionsförläsning till del II av kursen: Installation och underhåll av operativsystem, programmoduler samt lite TCP/IP



Relevanta dokument
Installation och underhåll av operativsystem, inlämningsuppgiften samt lite TCP/IP

Övning Installation av Gentoo och/eller Arch Linux

Övningar för del I av kursen

LABORATION 1 Pingpong och Installation av Server 2008 R2

Introduktion till programmering, hösten 2011

Startanvisning för Bornets Internet

Linuxadministration I 1DV417 - Laboration 4 Nätverk, DHCP, säkerhetskopiering, processhantering, Samba och NFS

Linuxadministration I 1DV417 - Laboration 1 Installation. Marcus Wilhelmsson 15 januari 2013

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Linuxadministration I 1DV417 - Laboration 3 Installation av ny hårddisk, RAID och logisk volymhantering

LABBINTRODUKTION. Laboranter: Kurs: - Sonny Johansson, Sigurd Israelsson. Utskriftsdatum:

LABORATIONSRAPPORT Operativsystem 1 Laboration 1, Ghost, pingpong och Windows 2003 installation

Systemkrav och tekniska förutsättningar

Marcus Wilhelmsson 12 april 2013

Kort-kort om utdelade användarkonton och datormiljön på NADA

DGC IT Manual Citrix Desktop - Fjärrskrivbord

Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Installationsanvisningar fiberstream (LAN) Version 1.0

Användarmanual Elevdator

Instruktioner för Internetanslutning

Manual - Phonera Online Backup

Konfigurera Xenta från Babs

Linuxadministration I 1DV417 - Laboration 5 Brandvägg och DNS. Marcus Wilhelmsson marcus.wilhelmsson@lnu.se 19 februari 2013

Allmänt om programvaror och filer i Windows.

Linuxadministration I 1DV417 - Laboration 1 Installation, användare och allmänt Linuxhandhavande

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

VÄLKOMMEN TILL OWNIT!

Stiftelsen MHS-Bostäder Instruktioner och felsökningsguide för Internetanslutning

Tips: Titta på relevanta genomgångar på webbplatsen

Quick Start CABAS. Generella systemkrav CABAS / CAB Plan. Kommunikation. Säkerhet

Installation och aktivering av Windows 7

Övningar - Datorkommunikation

LABORATIONSRAPPORT Operativsystem 1 Linux

Laboration 2 Datorverktyg vid LiU

Installationsanvisning - Kopplingen mellan GK96 och golf.se -

Installationshjälp CentOS 5 ENTerprise

Prestige 660M. Snabbinstallation. Version 1.0

Setup Internet Acess CSE-H55N

Handbok för installation av programvara

Instruktion: Trådlöst utbildningsnät orebro-utbildning

Tips och tricks. Några bra tips. Lägg till sökvägar

Installationsanvisning för LUQSUS version 2.0

Unix-miljöer i större sammanhang

Installationsanvisning för LUQSUS-K version 3.0b

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

HI1025 Operativsystem, KTH Haninge, VT2012. Tillf. 11 (F): Systemadministration samt något om kompilering och interpretering

Kurs: Windowsadministration II, 1DV424 Datum: Förberedelseuppgift

Installation av WinPig Slakt

En felsökningsguide för rcloud Office tjänsterna och lite manualer.

Linuxadministration I 1DV417 - Laboration 7 SSH-magi och systemtrolleri. Marcus Wilhelmsson 6 mars 2013

ÅTVID.NET Startinstruktioner

BIPAC-711C2 / 710C2. ADSL Modem / Router. Snabbstart Guide

Instruktion: Trådlöst nätverk för privata enheter

Handbok för installation av programvara

Installera SoS2000. Kapitel 2 Installation Innehåll

snabbmanual för installation av trådlöst bredband och telefoni

snabbmanual för installation av bredband och telefoni

IDE USB kabel Windows XP, Vista 7 löäzxcvbnmqwertyuiopåasdfghjklöäz [Version 1.4, ]

Användarmanual Elevdator

Passersystem VAKA 10

Installationsanvisningar

Installation av WinPig

Installationsguide / Användarmanual

SMC Barricade Routers

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

1. Inkoppling till bredbandsnätet

Installationsguide för FAR Komplett Offline 2.1.2

Läs detta innan du sätter igång!

Ashampoo Rescue Disc

Installationsanvisningar

GIVETVIS. SKA DU HA INTERNET I DIN LÄGENHET! En guide till hur du installerar internet i ditt nya hem.

Systemkrav WinServ II Edition Release 2 (R2)

via webbgränssnittet. Du har även tystnadsplikt gällande dina identifikationsuppgifter.

bredband Bredbandsbolaget Kundservice:

Kapitel 1 Ansluta Router till Internet

Instruktion för användande av Citrix MetaFrame

Linuxadministration 2 1DV421 - Laborationer Webbservern Apache, Mailtjänster, Klustring, Katalogtjänster

Installationsanvisning. ADSLmodem: SpeedTouch 780WL. Bredband ADSL

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

Vid problem med programmet kontakta alltid C/W Cadware AB på telefon

Uppdatering till Windows 8.1 steg för steg-guide

Stödet för Windows XP upphörde

Dovado Tiny - installationsguide

Din manual SHARP MX-M260

Konfigurering av eduroam

INSTALLATION AV VITEC MÄKLARSYSTEM

Vad är molnet? Vad är NAV i molnet? Vem passar NAV i molnet för? Fördelar med NAV i molnet Kom igång snabbt...

Inlämningsuppgift 12b Router med WiFi. Här ska du: Installera och konfigurera en trådlös router i nätverket.

snabbmanual för installation av trådlöst bredband och telefoni

Skapa din egen MediaWiki

Instruktioner för att kunna programmera på skolans datorer

Bruksanvisning Handbok för uppdatering av firmware

SkeKraft Bredband Installationsguide

Kort om World Wide Web (webben)

Kompletterande instruktioner för installation och konfiguration av HMS-server för koppling mot KONTAKT

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Elements, säkerhetskopiering och dina bilder

Installationsbeskrivning för CAB Service Platform med CABInstall

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Transkript:

Möte 7: Introduktionsförläsning till del II av kursen: Installation och underhåll av operativsystem, programmoduler samt lite TCP/IP Vi kommer nu in i andra delen av kursen och detta är den andra rena föreläsningen. Man kan givetvis förbereda sig inför denna föreläsning också genom att läsa igenom materialet innan, men vi kommer att vänta med Peer Instruction till alla har hunnit arbeta med materialet närmare. Installation av operativsystem Ett OS måste givetvis installeras innan man kan köra det. Själva installationsprocessen är mycket lärorik, det bästa är om ni kan installera Gentoo Linux. Tyvärr har Gentoo Linux upplevts som för svårt så vi låter er göra ett val här: installera Gentoo Linux eller Arch Linux. Min rekommendation är dock att alla gör ett bra försök att installera Gentoo Linux eftersom det är så lärorikt. En bra arbetsgång kan vara att börja med en Arch Linux-installation, göra de andra sakerna i laboration 2 och sedan försöka göra en Gentoo Linux-installation, om det lyckas är det utmärkt, om det inte lyckas har ni redan gjort klart laboration 2 eftersom Arch Linux var installerad tidigare. Ni kan också välja att försöka installera Gentoo Linux direkt. Vi ska hela tiden arbeta virtuellt så ni får skapa ytterligare en virtuell maskin (förutom NewTinyDebian) som ni arbetar med. Ni kanske även vill skapa flera virtuella maskiner om ni väljer att installera både Arch Linux och Gentoo Linux. Vi ska även använda NewTinyDebian och göra en omorganisation av filsystemen för att träna på förståelsen av en oerhört central del av ett operativsystem: hur man hanterar de sekundära lagringmedierna alltså oftast helt enkelt hårddiskarna. Primärminnet är ju datorns minne som kör när datorn är på och som töms vid avstängning. Både installation av Gentoo Linux och Arch Linux finns beskriven på respektive webbsida, www.gentoo.org respektive www.archlinux.org. Hela installationsprocessen av Gentoo Linux sker vid kommandoprompten och det brukar vara rekommenderat att arbeta med hjälp av SystemRescueCD. Faktiskt behöver alla, även de som vill installera Arch Linux, arbeta med SystemRescueCD i andra delen av laboration 2 (omorganisation av NewTinyDebian) behöver vi nämligen arbeta med SystemRescueCD så det är bra om alla börjar med SystemRescueCD från början. Vi ska skapa det så kallade partitionsschemat med hjälp av SystemRescueCD. Det är intressant att illustrera att detta steg kan vara oberoende av vilket linuxvariant vi installerar. Innan man påbörjar själva installationen behöver man starta VB och skapa en 64-bitarsmaskin med en processor (det räcker) med 12GB hårddisk. Det räcker med 512MB internminne och 64MB grafikminne. Eftersom vi arbetar virtuellt så behöver vi plugga in SystemRescueCD i VirtualBox. Man tar då en iso-avbildning (iso-image) av SystemRescueCD och monterar på den virtuella datorns virtuella CD-läsare. En installation av ett operativsystem har normalt två skeden. I det första skedet sker grundläggande aktiviteter som behövs för att överhuvudtaget kunna köra systemet på datorn. I det andra skedet körs systemet igång på datorn men systemet är inte ännu helt körbart, vissa kompletterande och avslutande installationer och konfigurationer måste utföras först. Vi kan skissera det så här: Skede 1. Grundläggande installation. Systemet kör inte än, men datorn måste ju köra för att överhuvudtaget kunna göra någonting, då kör datorn på en installations-cd eller liknande. Vi kommer här att använda SystemRescueCD att köra från. Partitionering och formatering: Detta betyder ofta att man bestämmer hur en hårddisk ska vara organiserad som ska innehålla systemet. (Vi använder här SystemRescueCD till detta oberoende av om vi installerar Gentoo Linux eller Arch Linux.) Kopiering/hämtning: Man laddar ner från nätet eller kopierar från CD eller DVD det man behöver för att systemet ska kunna köra igång. I detta steg skiljer sig arbetsgången åt, om johnnyp@kth.se 1(11)

man installerar Gentoo Linux använder vi SystemRescueCD hela tiden, om vi installerar Arch Linux har vi här gått över till att använda Arch Linux' installations-cd. Installation/kompilering: Man installerar det som behövs för att systemet ska kunna köra igång på egen hand, inte bara köras från ett installationsmedium. (Installationsmediet ska ju bara köras vid installation och möjligtvis reparation också, det är därför den kallas SystemRescueCD, en live-cd full med saker som kan reparera (rescue) ett system som har problem.) Återigen skiljer sig scenariot om vi arbetar med Gentoo Linux eller Arch Linux här. Konfigurering: De sista inställningarna görs för att få systemet att kunna köra på datorn. Skede 2. Första start. Systemet kör nu, men behöver vissa kompletterande och avslutande installationer och inställningar. I detta skede kommer vi att koppla bort installationsmediet (SystemRescueCD eller Arch Linux' installations-cd) och systemet kör nu själv och man kan med hjälp av systemet själv fullborda installationen och den kommande administrationen. Skede 3. Drift. Då systemet är installerat återstår nu den dagliga driften av systemet. Vi kommer inte att beskriva alla dessa delsteg i detalj, de finns att läsa om i Gentoo Handbook respektive motsvarande dokumentation för Arch Linux och det är mycket viktig läsning. Ni måste läsa dessa instruktioner i detalj och följa dessa instruktioner nästan precis som de är givna, men ni måste också förstå vad de innebär eftersom ni ska anpassa installationsprocessen efter våra behov. Eftersom vi kör virtuellt kan ni frysa installationsprocessen i något delsteg och fortsätta vid en senare tidpunkt, man kan också ta så kallade "Snapshots" som innebär att man slipper göra om vissa saker om vissa installationsmanövrar leder till ett fel. Då kan man backa till en tidigare snapshot. Använd gärna denna funktionalitet. I det här läget är det alltså dags att ta fram VirtualBox, den dokumentation och de programvaror som behövs och sätta igång med installationen av det system du valt. Det kommer att involvera många många nya begrepp och det är rekommenderat att använda Google och Wikipedia under installationsproceduren för att förstå i detalj vad det är för manövrar som ni utför. Det kommer troligen att ta lång tid men vara mycket lärorikt. I övning 7 finns vissa också specialiserade instruktioner för de som arbetar med Gentoo Linux och, för allihop finns en beskrivning av nästa delsteg av laboration 2: omorganisation av filsystemen i NewTinyDebian. Vi ska nu ge en övergripande beskrivning av hur det första punkten ovan "Partitionering och formatering". Den är gemensam för de båda systemen. De andra punkterna får ni läsa om i dokumentationen för respektive system. SystemRescueCD innehåller gparted som gör det möjligt för oss att skapa partitioner och formatera som vi önskar. De partitioner och filsystem som vi ska ha för vår virtuella maskin som ska innehålla vårt system ska se ut så här: johnnyp@kth.se 2(11)

Observera att jag här har en screenshot från det färdiga systemet. Vi ser här till exempel /dev/sda9, som är den största partitionen (som monteras på /usr/) och vi ser att endast 465MB är lediga. När ni börjar och skapa denna uppsättning partitioner kommer givetvis mycket mer utrymme vara ledigt från början. Ni får gärna göra partionerna större om ni vill, detta representerar ett slags minimum, men då kanske ni kommer över gränsen 30GB som är det minsta som ni behöver använda av ert eget diskutrymme för att klara kursens laborationer. (Ni kanske till exempel vill att /usr/ och/eller /home/ ska vara större. Valet är ert.) Ni kommer att behöva använda kommandot mount samt swapon i installationsproceduren för att åstadkomma detta. I Gentoo Handbook beskrivs ett annat partitionsschema med bara två partitioner. Använd inte det, använd det här nedan istället. Så här ska vi montera: /dev/sda1 på /boot/ /dev/sda5 på / /dev/sda6 på /tmp/ /dev/sda7 på /var/ /dev/sda8 används som swap /dev/sda9 på /usr/ /dev/sda10 på /home/ (egentligen inte en montering, men vi anger den här ändå.) Lägg märke till att vi ska ha olika filsystem på de olika partitionerna. Härifrån kan ni forstätta med installationsanvisningarna i Gentoo Handbook respektive motsvarande för Arch Linux. Ni kommer in i steg 4.d (Gentoo) efter ni har ovanstående ordnat, ni som installerar Arch Linux får söka er fram till steget med partitionering, då behöver ni utnyttja det som redan gjorts ovan. Vi kommer även använda SystemRescueCD då vi omorganiserar innehållet i NewTinyDebian, men detta specificeras i övningen. IP Internet Protocol Internetprotokollet Vi ska ge en kort introduktion till IP, alltså det som Internet bygger på. Det kommer att hjälpa oss att klara operativsystemskursen. Protokoll i allmänhet Inom datortekniken betyder ordet "protokoll" ett förbestämt sätt att bete sig på. För att två olika johnnyp@kth.se 3(11)

enheter ska kunna kommunicera måste de följa samma protokoll. På sätt och vis kan man säga att ett mänskligt språk är ett exempel på ett protokoll, jag (en enhet) talar nu svenska och då kan ni (de andra enheterna) förstå vad jag säger eftersom ni förstår svenska. Men vi kan också byta språk, byta protokoll, till engelska, om jag talar engelska så förstår ni också vad jag menar. You understand what I mean even if we shift language. IP De flesta datorer idag har någon form av nätverksanslutning och de kan kommuicera med varandra med hjälp av denna anslutning. IP är en förkortning för Internet Protocol och beskriver det protkoll som enheter på Internet använder för kommunikation. I korthet fungerar det så här: Varje enhet på nätet (en dator, skrivare eller router etc.) har en så kallad IP-adress. Klassiskt sett består en IPadress av fyra bytes, alltså tal mellan 0 och 255, noterade med hjälp av punkter. Ett exempel är 130.236.45.81. DeBlanche skriver i 26.1 att "varje dator har en unik adress", men det är inte datorn i sig som har en IP-adress, det är varje nätverkskort som kan ha en (eller flera) adresser. Eftersom det ofta är så att varje dator har precis ett nätverkskort så stämmer det ofta att man kan ordna en IP-adress till varje dator, men den precisa formuleringen är att ett nätverkskort har en adress. Ett nätverkskort kan även ha fler adresser, men det blir en specialiserad situation. (Sker vid virtualisering.) Värt att notera är också att det finns två sorters adresser, en hårdvarumässig adress som (i princip) aldrig ändras, och en mjukvarumässig som kan ändras mellan varje gång man startar nätverkskortet. Ett nätverkskort är anslutet till ett nätverk via en kabel eller så sker kommunikationen trådlöst. Den grundläggande funktionen är dock att nätverkskortet hela tiden lyssnar efter trafik med sin egen adress i, om det hör att en försändelse finns på nätet med sin adress på så tar det upp den informationen och skickar in till operativsystemet för vidare behandling. Det är detta som hela tiden sker när vi till exempel kör en webbläsare. (Alltså surfar på nätet.) IP-protokollet bygger alltså på de så kallade IP-adresserna. För att kunna kommunicera över nätet måste alltså en dator (eller mer precist: ett nätverkskort) få en IP-adress. Man kan sätta en dators (ett nätverkskorts!) IP-adress manuellt men det är mycket mer vanligt att man låter datorn vid uppstart lyssna på nätet efter en så kallad DHCP-server, en DHCP-server kommunicerar också över IP men med hjälp av hårdvaruadresser (som finns i varje nätverkskort). På så sätt kan man vid en förhandling låta en server bestämma vilken IP-adress man ska ha. Det här är egentligen allt vi behöver veta just nu. Det är rekommenderat att läsa på Wikipedia om DHCP, där står: "Dynamic Host Configuration Protocol automates network-parameter assignment to network devices from one or more DHCP servers. " Texten "network-parameter assignment" syftar då bl.a. på IP-adress som tilldelas (assign=tilldela) klienten, alltså den som frågar efter IP-adress. Men mer än bara IP-adress tilldelas, det finns flera parametrar som Nätmask, Broadcast, Gateway osv. Men dessa saker täcks i en kurs i datorkommunikation. Vi lämnar detta ämne här genom att förenklat konstatera att "En DHCP-server ger oss en IP-adress med mera." Olika applikationer som använder IP När man har en dator (nätverkskort) ansluten till ett nätverk där andra också är anslutna och när man har fått en IP-adress kan man börja köra applikationer (alltså användarprogram) som kommunicerar över nätet. Den mest populära är förstås webbläsaren, men det finns ett par andra som är viktiga att känna till: johnnyp@kth.se 4(11)

ping är ett kommando som testar om en viss adress är tillgänglig. Man kan skriva ping www.google.com för att se om man har kontakt med Google. Det brukar vara ett bra sätt att pröva om man har kontakt med Internet. Har man inte kontakt med Google så är man troligtvis inte på nätet, något fel har då uppstått vid tilldelning av IP-adress eller liknande. ssh är ytterligare ett kommando och det står för "Secure Shell". Med hjälp av detta kan man göra en inloggning och starta ett kommandoskal på en dator över nätet. Vi kommer troligen inte att göra det så mycket, det är inte så mycket att säga om det, det kan vara mycket användbart om man behöver styra en dator från en annan plats än datorn står på. Typisk kan man vilja anluta sig via ssh till en dator som kör en webbserver eller dylikt. Intressant att nämna här är att laboration 1 faktiskt är ett slags shell, vi ska, som ett delsteg i laboration 2, utvidga laboration 1 så att den kan köra över IP mellan två virtuella maskiner. telnet är en tidigare version av ett fjärrinloggningsprogram (som ssh) men det har ingen säkerhet, Telnet krypterar inte lösenord så när man loggar in med Telnet syns ens lösenord över nätet om någon lyssnar då. Det finns fler säkerhetsproblem med Telnet som SSH försöker lösa. Läs gärna Wikipedias artiklar om Telnet och SSH. Det finns en uppsjö av applikationer som använder sig av IP, det här var bara några stycken. Vi lämnar dock listan på exempel över IP-applikationer nu. IP-aspekter av installationsproceduren När ni använder SystemRescueCD för installera Gentoo Linux men förstås också då ni installerar Arch linux kommer ni att använda många IP-applikationer. Ni märker när dessa inte fungerar genom att kommandot inte går att köra. Om någon av dessa applikationer inte fungerar med hänvisning till att ingen kontakt med nätet finns så behöver ni åtgärda att nätet inte finns längre. Det kan vara många fel, så enkla som att inte kabeln sitter i eller liknande. Ni får träna på detta efterhand. Vidare är det viktigt att ni väljer att installera en DHCP-klient i slutet av installationsproceduren. Det står "optional" (valfritt) i handboken, men det är inte valfritt för oss, vi måste ha en DHCPklient installerad. VirtualBox själv kommer att fungera som DHCP-server och kommer att dela ut IP-adresser till de virtuella datorer (nätverkskort) som vi skapar. Vi återvänder till en diskussion av installation av operativsystem. Det finns olika typer av installationssammanhang: 1. "Omblåsning" installation av operativsystem genom avbildningskopiering inte övervakad I en stor organisation där många ska använda datorer av samma slag, som till exempel här på skolan, kan man inte sitta vid varje dator och göra enskilda installationer. Det man gör då är en installationsmall på en dator, sedan använder man verktyg för att kopiera den installationen till alla andra maskiner i alla salar. Systemgruppen gör detta och vi kan ibland se att salarna ominstalleras, då kör alla datorer i hela salen ett diskkopieringsprogram som helt enkelt bara skriver över innehållet på hela hårddisken. Populärt kallas det att man "blåser om" salen. Det finns verktyg för detta vi kommer att se ett sådant verktyg, men det finns inget planerat moment att använda det verktyget. Ni kan dock använda det om ni vill, det heter PartImage och finns på SystemRescueCD. 2. Övergripande abstrakt beskrivning av installationsproceduren då man övervakar den "Omblåsning" innebär att man inte övervakar proceduren installationen sker från en redan gjord mall, en avbild, så jobbet är gjort på någon annan dator. Nu ska vi se hur man skapar den här mallen som givetvis också kan användas i dagligt arbete. johnnyp@kth.se 5(11)

3. Installationsmedium HI1025 Operativsystem 7.0 hp, KTH Haninge, VT2014 För att kunna installera ett operativsystem måste man ha något slags installationsmedium. Flera saker behöver tillgängliggöras/möjliggöras genom detta medium: 3.1. Miljö som är körbar Då ett OS installeras på en dator så måste datorn köra, det är ett självklart krav. För att tillgodose det kravet innebär det att själva installationsmediet måste innehålla ett mindre operativsystem för att datorn ska kunna köra. Installationsmediet är ofta en CD-skiva som man kan starta på, en så kallad boot-bar CD, och denna CD innehåller då ett mindre system som kör igång datorn. Detta system är då ofta mindre och även om det faktiskt ofta är en mindre variant av det system man installerar så innehåller det inte alla möjligheter som det fullständiga systemet innehåller. Detta mindre system är anpassat till installations- och serviceuppgifter. Exempel på sådana installationsmedier är SystemRescueCD, men också förstås en liknande CD för Arch Linux. Värt att notera här är att alla börjar med SystemRescueCD men sedan går de som vill installera Arch Linux över till det installationsmediet. 3.2. Tillgång till installationsfiler Installation av ett operativsystem innebär i princip väldigt mycket kopiering av filer in på rätt plats. Installationsmediet måste ge den körbara miljön tillgång till de filer som ska kopieras in på rätta ställen. Installationsfilerna kan ligga på mediet men det är också mycket vanligt (och bra!) om mediet tillhandahåller kontakt med en server från vilket man kan ladda ner de senaste versionerna av installationsfilerna. När vi installerar ett operativsystem kommer vi att arbeta tätt tillsammans med flera servrar som kan tillhandahålla de senaste versionerna av installationsfilerna. 3.3. Konfigurationsmiljö Den körbara miljön behöver utföra inställningar av systemet för att anpassa mjukvaran mot den specifika dator man kör på. Det betyder varierande krav på användaren, i Windows XP behöver man i princip bara svara "Ja, Ja, Jadå, OK" hela tiden och det är inte svårt alls, allt är automatiserat. I Arch Linux blir det lite mer avancerat och i Gentoo är installationsproceduren en riktig prövning, vi kommer till och med att kompilera operativsystemets kärna, det anses svårt, men eftersom vi kommer att arbeta virtuellt så kommer det att gå bra, Arch Linux är något slags mellanting inte så lätt som Windows eller Ubuntu, men inte så svårt som Gentoo Linux men detta är bara åsikter, jag tror att alla skulle klara av Gentoo Linux. Miljön man arbetar i för installation av ett OS ska alltså innehålla konfigurationsmöjligheter och det tillhandahålls i UNIX/GNU-Linux-världen genom att det installationsmediet helt enkelt är ett minisystem där man kan utföra konfigurationerna antingen grafiskt och/eller vid kommandoprompten. I Windows-världen kan man ofta inte göra annat än att sitta och titta på när de fördefinierade installationsprocedurerna genomförs. (Det är då man säger "Ja, Ja, Jadå, OK".) Det enda man egentligen måste vara noggrann med är att välja rätt tangentbord. Allt annat kan ordnas när systemet är installerat om man råkat göra något fel. Välj dock DHCPkonfiguration då ni installerar nätet. 4. Varför ska vi arbeta virtuellt? Det finns väldigt många väldigt starka skäl att arbeta virtuellt: 4.1. Säkerhet Att installera ett operativsystem är en riskfylld procedur, om man gör fel så kan man förstöra viktig data. Om vi skulle installera operativsystem direkt på era bärbara datorer så skulle vi riskera de data som ni redan har där. Vi ska installera operativsystem som en träningsprocedur i en utbildning, vi vill inte påverka de verktyg ni har för att genomföra hela utbildningen, enkelt uttryckt, datorn ni har johnnyp@kth.se 6(11)

behöver ni för parallellkursen också och ni har väl troligen privata filer på era datorer också. Datorerna är ju era egna. Då OS-installation går fel (och det kommer det att göra, speciellt med Gentoo) så blir följderna ofta allvarliga; att man inte kan starta datorn, att hela innehåller på hårddisken raderas exemepelvis.) Med virtualisering så simuleras allt det här och en krasch blir då alltså inte så allvarlig. 4.2. Man kan pausa VirtualBox som är den plattform som vi rekommenderar, har möjligheten att frysa ett system i ett läge som man sedan kan gå tillbaka till om man skulle göra ett fel längre fram, man kan ta en "snapshot" som det heter. Det innebär att man kan genomföra installationen i delsteg, ta ett snapshot och fortsätta efteråt. Det här kommer att bli mest användbart då ni installerar Gentoo och de tidpunkter då det är lämpligt att ta ett snapshot är a) efter allt är partitionera och monterat b) efter tarballarna är nedladdade och uppackade c) efter en så kallad chroot är genomförd d) Efter kärnan är kompilerad e) straxt innan Grub är installerad. Eftersom Arch Linux anses lättare är det inte lika angeläget att ta snapshots vid installation av Arch Linux. Det här är bara ett förslag, ni kan förstås ta tätare snapshots om ni vill, allt eftersom ni själva behöver. Se manualen för VirtualBox om hur man tar en snapshot. Man kan också bara frysa maskinen i ett läge och spara läget utan att ta ett snapshot nästa gång man startar fortsätter installationen från den punkten, det kan vara lämpligt om man bara vill pausa installationsproceduren. 4.3. Inga (eller mindre) drivrutinsproblem Normalt då man installerar ett OS behöver man lägga mycket omsorg kring vilka drivrutiner som ska installeras. Eftersom vi arbetar virtuellt kommer vi att att få samma drivrutiner att hålla reda på, de som finns i VirtualBox. Det är en sanning med modifikation dock, närverksdrivrutinen kan komma att vålla en del bekymmer, men vi får krångla oss förbi det. 4.4. Modern teknik Virtualisering är en av de viktigaste trenderna och arbetssätten inom modern datorteknik. Istället för att ha 10 datorer som kör olika serverprocesser väljer man gärna idag att ha en dator som kör 10 virtuella datorer som kör dessa serverprocesser. Lägg märke till att jag refererar inte till server som om det vore en dator, en server är en process, inte en dator. Men serverprocessen måste ju köras på en dator så då brukar man förenkla det hela genom att säga "servern" och då mena en dator som är dedikerad till att köra en viss serverprocess, till exempel en webbserver eller en databasserver. Man brukar då tala om servervirtualisering. Ni kommer att få arbeta med virtuella servrar i nästa kurs, datortekniskt projekt. Hela virtualiseringsbegreppet ligger förstås också till grund för "Molnbegreppet" där de virtuella resurserna även flyttar ut på nätet, så att man alltså via nätet har tillgång till dokument, nätverk och datorer som då finns i något slags virtuell miljö som man interagerar med via nätet som sagt. Det dröjer väl ett tag tills molnet - "Cloud computing" - blir fullt utbyggt, men det kommer troligen mer och mer. Vi är ju många vana vid att ha mejl över webben. 5. Varför Gentoo Linux och Arch Linux? Gentoo är svårt sägs det... ska vi verkligen våga oss på det? Ja, det som ofta upplevs som svårt i Gentoo är den allmänna UNIX-skärpan och den måste ni konfrontera i vilket fall som helst i en kurs i operativsystem så det är inte Gentoo i sig som är svårt. Att installera Gentoo sker helt från kommandoprompten. När ni då alltså själva går igenom det, steg för steg, kommer ni att utveckla en god förståelse för man installerar ett OS men även också hur ett OS kör. Handboken på nätet är bra och på dagens övning finns förtydliganden och kommentarer om den processen. Att vi också kör virtuellt kommer även att förenkla väsentligt. Installationsproceduren är detaljerad och man är benägen att ofta göra fel, men då man en gång genomfört den så har man lärt sig mycket. Flera års johnnyp@kth.se 7(11)

erfarenhet är att kursdeltagarna mycket med denna uppgift och att många upplevt att de lärt sig väldigt mycket. Det är verkligen värt all möda! Någon på ett Gentoo-forum uttryckte att "that must be a real learning experience" när jag berättade om att studenterna gjorde detta som del av en laboration. Arch Linux är också mycket lärorikt men har ett annat stöd under installationsprocessen som kanske gör att det går lättare men det blir inte riktigt lika lärorikt. 7. Varför inte Windows? Windows-familjen av system är världens mest använda system på personadatorer. Microsofts programvaror och standarder är också mycket utbredda i näringliv och samhälle i stort. Hur många kör Windows här som primärt system på er maskin? Vi kommer inte att studera så mycket Windows i denna kurs, även om Windows är ett viktigt operativsystem. Anledningen är att saker förändras så snabbt i Windows-världen så det som är nytt idag är gammalt när ni tar examen om några år. Jag har inget emot Windows i sig (jo det har jag visst) men jag vill inte att det ni lär er i denna kurs ska vara omodernt när ni kommer ut som ingenjörer. Jag vet att årskurs 3 innehåller mer om Microsofts produkter. 8. Varför inte Mac OS X? OS X är redan ett UNIX-system! Eller, ja, det är baserat på en BSD-kärna så genom att arbeta med Gentoo Linux och Arch Linux lär vi oss saker som gäller för Mac OS X. Dessutom så innehåller Mac OS X också det avancerade kopieringsskyddet (DRM) som vi gärna undviker. 9. Allmänt arbetssätt, att använda hjälpforum och nätet, manualsidor, att låta installationsprocessen bli lärorik. Kommentarer om detaljsupport. Vårt mål med kursen är att ni ska inhämta maximalt med egen kompetens/förmåga. Vi har ett par riktlinjer för att nå detta 9.1 Arbeta med egen drivkraft med frågeställningar Det finns ett dokument som är bra att läsa för att beskriva attityden till hjälp och stöd, det heter "How To Ask Questions The Smart Way", googla på det så hittar ni det. Det finns en speciell passage där som låter så här: "you will learn more if you seek out the information than if you have it spoonfed to you." Det vill säga, om ni finner den information ni behöver av egen självständig kraft så kommer ni att lära er mer än om någon bara matar er (med sked) med informationen. Av den anledningen består laborationerna på installationssidan väldigt mycket av uppgiften att själv söka den information man behöver. Dokumentet "How To Ask Questions The Smart Way" beskriver också hur man kan använda hjälpforum på nätet, ni kan använda hjälpforum på nätet för att lösa installationsproblem, men det är väldigt viktigt att ni samtidigt läser manualsidor och experimenterar med egen drivkraft ni ska ju ha en självständig kompetens. Läs mycket gärna "How To Ask Questions The Smart Way". Det händer ibland också att om man ställer en fråga på ett hjälpforum utan att följa riktlinjerna i "How To Ask Questions The Smart Way" så kan man få bryska svar som RTFM vilket är ett argt sätt att säga "Read The Manual". Eller STFW vilket är ett argt sätt att säga "Search The Web". Båda dessa responser innebär att svaret man söker finns i en manualsida eller på webben. 9.2 Detaljsupport på olika värddatorer Jag kan tyvärr inte ge detaljsupport på enskilda plattformar, med det menar jag att ni själva ska ta ansvar för att lära känna er dator som ni kör, ert operativsystem och se till att er virtualiseringsprogramvara fungerar. Det kan innebära att ni behöver ominstallera VirtualBox (eller vad ni nu använder) tills det fungear. Jag lägger inte upp någon plattformsberoende virtualiseringsprogramvara på kurswebben utan jag antar att ni väljer en och installerar den på er dator. johnnyp@kth.se 8(11)

Om ni inte vet hur man startar en VirtualBox på er dator, gå tillbaka och repetera introduktionskursen i Linux från InfoMet. Jag antar att ni har den klar när ni går denna kurs. 9.3 Hur arbetar man med frågeställningar då? Ovanstående betyder absolut inte att ni inte får fråga om saker, det bästa som finns är frågor, så ställ alla frågor ni kan, men var också medvetna om att det bästa sättet att arbeta med en frågeställning är att ha en eget förankrat arbetande med frågeställningen. Det innebär att ni mycket gärna kan ställa en fråga, men de svar ni får kommer ibland att låta så här: "Vad säger manualsidan? (RTM) Vad säger Google? (STW) Vad säger handboken?" Det är alltså viktigt att ni konsulterar dessa kunskapskällor och att er fråga uttrycker att ni redan konsulterat dessa forum. Vi tar ett exempel. När ni ska installera Gentoo Linux så ska man först partitionera och formatera hårddisken. Det rekommenderade verktyget här är SystemRescueCD och ett bekymmer som kan uppstår när man monterar är att man inte gör det i rätt ordning. I Gentoo Handbook antas att ni använder tre partitioner, en för /, en för /home och en för swap. När man monterar ihop en sådan struktur kan man basera sig på tre stycken primära partitioner, som kanske kommer att benämnas /dev/sda1, /dev/sda2 och /dev/sda3. Stegen för att montera dessa partitioner under installationsproceduren kan då se ut så här: mount /dev/sda1 /mnt/gentoo mkdir /mnt/gentoo/home mount /dev/sda2 /mnt/gentoo/home swapon /dev/sda3 (för att montera /dev/sda1 på /mnt/gentoo som är roten till systemet som ska byggas upp) (skapa hemkatalogen home i roten till systemet som ska byggas upp) (montera partitionen som ska innehålla hemkatalogen på sin plats, den nyligen skapade hemkatalogen) (starta swapspace) Det här är hur man gör enligt handboken, vi ska dock använda ett mer avancerat partitionsschema så vi kommer att behöva arbeta med utvidgade och logiska partitioner. Vi ska ha följande partitioner i vår installation: /dev/sda1, 512MB, filsystem ext2, som monteras på /boot, /dev/sda5, 2GB, filsystem ext4, som monteras på /, /dev/sda6, 2GB, filsystem reiserfs, som monteras på /tmp, /dev/sda7, 2GB, filsystem reiserfs, som monteras på /var, /dev/sda8, 1GB, filsystem linux-swap, som då fungerar som swap, /dev/sda9, 4GB, filsystem ext4, som monteras på /usr och /dev/sda10, 512MB, filsystem ext4, som monteras på /home. För att skapa denna struktur och montera ihop den på ett korrekt sätt kommer det att behövas många fler mount och mkdir än ovan. Dessutom måste /tmp-katalogens rättigheter sättas till rwxrwxrwt, observera t:et på slutet. (man chmod.) En fråga som då inte är så engagerad är: "Vad betyder att montera?" eller "Hur sätter man rättigheter?" Frågor av den här typen är bättre: "När jag har gjort alla monteringar av partitionerna så fungerar inte kommandot clear längre! (clear rensar skärmen) vad kan det bero på?" eller "Jag har läst på webben om chmod och jag har förstått att t:et indikerar den så kallade sticky-biten, johnnyp@kth.se 9(11)

men manualsidan (man chmod) förklarar inte så bra hur man sätter denna, hur sätter man stickybiten med chmod? Svaren på dessa frågor är lite artificiella, men de lyder som följer: Varför clear slutade fungera: Partitionsschemat ovan (/dev/sda1 på /boot, /dev/sda5 på / etc) är ett schema över det system man bygger upp under installationsprocesduren. Vi ska alltså montera dessa kataloger i en hierarki under /mnt/gentoo/, med /dev/sda5 på /mnt/gentoo osv. Att kommandot clear slutar fungera då monteringen var på grund av att /dev/sda9 monterades på /usr och då togs installationsmediets /usr bort och byttes mot systemets /usr som är tom. Lösning: Montera partitionerna under /mnt/gentoo istället där de ska vara. (Inte under /.) Hur man anropar chmod med numeric mode: chmod 1777 /mnt/gentoo/tmp/ Att alltså ställa frågor utifrån ett experimenterande och eget aktivt sökande efter lösningar innebär att ni lär er flera saker på en och samma gång, ni får kunskap om många parallella saker och det är så ni behöver arbeta. (Jag tror att det första exemplet med mount var bättre än det andra med chmod.) Besläktade mycket intressanta frågor är, "hur upptäcker man att man har monterat fel?", "hur kan jag se om ett kommando fungerar eller ej?" Två olika svar på det kan vara "kolla med kommandot mount då och då (läs manualsidan för att veta exakt hur det går till)." "om ett kommando slutar fungerar, ta dig tillbaka till en punkt då du vet att kommandot fungerade och skriv which clear (eller inte clear om det är något annat kommando som slutat fungera, kanske which ls om det är ls som slutar fungera), då får vi en upplysning om var kommandot ligger och kan gå vidare därifrån. I vårt fall gav kommandot which clear en upplysning om att clear ligger i /usr/bin/clear och hela /usr blev ju utkastad när monteringen mount /dev/sda9 /usr skedde. Det här ger oss också en upplysning om att mount tydligen kan skriva över tidigare monteringar." Jag säger absolut inte att det finns dåliga frågor, nej. Men jag vill få er att tillägna er en viss attityd då ni arbetar med det här. Jag vill peka på var svårigheten med kursen ligger och hur ni knäcker det, svårigheten är alltså att bedriva eget experimenterande och informationssökande och acceptera att det tar tid. Det kommer att ta tid, men just den tiden är väl investerad. Det är värdelöst att bara få instruktioner om hur man gör och utföra dem utan förstå innehållet, vad som händer. Det är också inte värt speciellt mycket att bara sitta och stirra på en automatisk installation som för Windows eller UBUNTU och bara säga "Ja, Ja, Ja, OK, Jadå" hela tiden. Det är däremot värdefullt att utföra instruktioner utifrån en förståelse av vad som verkligen händer, det ger verklig teknisk kompetens och det är dit vi ska. Inget ont om vare sig UBUNTU eller Windows, men de systemen lämpar sig inte så väl för det syfte som vi vill uppnår med den här kursen: gedigen förståelse och förmåga. 9.4 Att meka Om något inte fungerar måste man meka tills det fungerar. Men det är viktigt att mekandet inte bara blir ett blint testande, ni måste meka genom att göra val som ni tror kan åtgärda problemet. Om något inte fungerar så ges ofta ett felmeddelande, det gäller att ni utvecklar en förmåga att ta till er felmeddelanden, tolka dessa, konsultera manualsidor, handböcker, webben och vänner och vidtar väl valda åtgärder för att komman tillrätta med felen. Till exempel, om ni installerar några av partitionerna som resiserfs och inte installerar resiserfsprogs eller progsreiserfs så kan inte systemet verifiera filsystemens integritet mellan varje omstart. Vi får då till exempel meddelandet "fsck: cannot check /dev/sda6: fsck.reiserfs not found" vid johnnyp@kth.se 10(11)

varje omstart vilket är irriterande och på sikt potentiellt skadligt, ett UNIX-system (Ja, jag vet Linux är inte UNIX, men här kan vi skriva så) behöver kolla sina filsystem vid varje omstart. Avhjälp problemet genom att tänka efter vad som behövs och agera. I det här fallet löser vi problemet genom att installera resiserfsprogs och/eller progsreiserfs. (Här utvecklar ni också förmågan att administrera ett system så att det fungerar bra.) 10. Kommentar om filsystemet ReiserFS Vissa folk avråder från att använda filsystemet ReiserFS för att det anses instabilt det finns erfarenheter att det förstör filer. Jag vill att vi faktiskt använder det eftersom det är intressant att använda flera olika filsystem. Dessutom ska vi använda ReiserFS endast på två partitioner, /tmp/ (som raderas vid varje omstart), respektive /var/. Det kan alltså vara bra att ta säkerhetskopior av /var/ ibland med hjälp av partimage som är SystemRescueCD:s verktyg för partitionskopiering. Vad vi också kan rekommendera är att ni inte använder ReiserFS efter denna kurs om inte dess stabilitet blir bättre framöver vill säga. Nästa gång blir det ett PI-möte, vi kommer då att ställa frågor på innehållet från denna föreläsning men dessa frågor kommer också att baseras på att ni arbetat med installation av operativsystem, så även om ni inte fullbordat tidigare laborationer, börja med installationsarbetet av Arch Linux respektive Gentoo Linux. johnnyp@kth.se 11(11)