Serveren data2500 blir først klar til bruk i begynnelsen av januar.
Etter noen inneledende digitalteknikk-oppgaver, skal dere i disse oppgavene logge dere inn på serveren data2500. Av sikkerhetshensyn kan OsloMet-servere som data2500 bare nås om man setter opp en VPN tilkobling til OsloMet, hvis man ikke er på Oslomet når man logger seg inn. Info om hvordan man som student setter opp VPN finnes her: https://student.oslomet.no/vpn-koble-filserver
Hvis man har Mac, kan man gjøre de fleste av oppgavene i et Mac terminalvindu. Inntil videre kan man på egen Windows-laptop installere Windows Subsystem for Linux (WSL), se for eksempel her: https://docs.microsoft.com/en-us/windows/wsl/install. Da får man et ekte Linux-shell og kan gjøre disse lab-oppgavene. Dette kan også være nyttig senere i kurset og gjøre det enklere å gå inn og ut av andre Linux-servere enn om man bruker putty eller andre løsninger.
Alle oppgaver som er merket med (Oblig) i rødt, skal inngå i rapporten dere skal levere som en del av den første obligatoriske innleveringen. Rapporten kan gjerne være kortfattet og kan være et vanlig ASCII tekst-dokument eller PDF, doc, odt, etc. Merk hver oppgave med ukenummer og oppgavenummer av typen 4.3 som betyr tredje oppgave i uke 4.
Hvis du har litt erfaring med å bruke Linux fra kommandolinjen, kan du etter å ha gjort de tre første OS-oppgavene, gjerne hoppe rett til første obligatoriske Linux-oppgave denne uken, oppgave nummer 13 for uke 3, oppgave 3.13. Hvis du har litt eller ingen erfaring, anbefales det sterkt å lese igjennom teksten i innledningen til disse oppgavene og gjøre alle de innledende oppgavene. Helt mot slutten er det noen oppgaver som er ment som en utfordring for dem som har litt mer erfaring.
I den praktiske delen av dette kurset skal du bli kjent med hvordan man kommuniserer med operativsystemer fra kommandolinjen. I den første delen skal du lære deg å skrive programmer, også kalt script,som kommuniserer med det underliggende operativsystemet Linux. Det kan være programmer som gjør endringer på filer, laster ned og trekker ut informasjon av web-sider, starter andre programmer, etc. For å klare dette, må du først lære deg Linux sitt kommandospråk som vi senere skal bruke direkte i programmer. Du er sikkert vant til å utføre det meste på en PC ved å klikke på knapper og linker, men hvis du ønsker å få et program til å f. eks. gjenta en lang sekvens av klikkinger 35 ganger på 10 forskjellige PC'er, er ikke det så lett å få til. Men i Linux er det relativt enkelt. En kommandobasert dialog med operativssystemet Linux (istedet for pek og klikk) er lettere å programmere og mer effektivt. Derfor må du først lære de grunnleggende kommandoene man kan gi til Linux-operativsystemet gjennom et såkalt shell i et terminalvindu. Det kan i starten virke litt tungvint og være vanskelig å huske kommandoene, men med litt øvelse kan man fort bli ganske effektiv.De første oppgavene gir deg praktisk trening i å Linux, som er det operativsystemet som data2500 og etterhvert din Linux-VM kjører. Linux-VM får du tildelt senere, til å begynne med skal du gjøre oppgavene ved å logge inn på data2500. Det kan gjøres med putty fra en vanlig Windows-PC. Last ned putty fra nettet og start den hvis den ikke allerede finnes på din PC. På en Windows lab-PC på OsloMet må du installere putty fra "Installer Software" ikonet på Desktop'en (se eventuelt forelesningsvideo om dette). Fra et Linux eller Mac OS X terminal-vindu kan du logge inn med ssh data2500.cs.oslomet.no. Den beste måten å lære å kjenne kommandolinjen på er å prøve og feile; det er ikke farlig å feile! Lek gjerne med systemet. På data2500 vil du uansett ikke få lov å slette filer som ikke er dine! Og filene der er ikke de samme som de du har på Windows-PC'ene. På en Linux-VM har du rettigheter nok til å slette hele systemet, men det kan bygges opp fra scratch på noen minutter, så det er heller ikke så farlig.
Hvis du ikke har noen erfaring fra Linux-shell tidligere, kan dette oppgavesettet nok være litt vanskelig på et så tidlig tidspunkt. Men fortvil ikke; se igjennom de digitale forelesningene omigjen og prøv etterpå på nytt på de oppgavene du ikke fikk til.
Det kan generelt være nyttig å både bruke og diskutere oppgavene i dette kurset med ChatGPT, men husk at til eksamen så vil ikke dette hjelpemiddelet være tilgjengelig. Og husk også at denne og andre KI-hjelpemidler ikke er feilfrie. På samme måte som når man søker på Google, må man være kritisk til resultatet, for det er ikke nødvendigvis riktig. For oppgaver hvor det ikke eksplisitt står at du skal bruke ChatGPT, er det beste å prøve å forstå og gjøre oppgaven selv. Hvis du står fast og likevel bruker ChatGPT, skriv i rapporten du leverer for hver oppgave det gjelder, at du har brukt dette eller andre KI-verktøy for å komme frem til løsningen. Men løs ikke oppgaver ved å blindt copy-paste til og fra ChatGPT, da vil læringsutbytte være minimalt om noe i det hele tatt. Dere har som studenter ved OsloMet gratis tilgang (koster ellers 25$ pr måned) til Sikt KI-chat https://ki-chat.sikt.no/nb som i bunnen bruker GPT-4. De viktigste forskjellene er at opplysningene ikke blir brukt til å trene opp KI-modellen videre og avsender er randomisert slik at personsikkerhet blir ivaretatt i tråd med norsk lov og GDPR.
Forklar utifra sannhetsverditabellene til AND og OR-portene hvorfor resultatet i den nederste kretsen blir 0, når øverste input er 1(rødt) og nederste input er 0(hvitt).
Sett opp sannhetsverditabellen for den nederste kretsen, både utifra teoretiske beregninger med utgangspunkt i virkemåten til AND og OR og ved å teste ut alle muligheter når du kjører den nederste kretsen and.dwm i simulatoren Digital.exe.
Hvis du bruker Mac eller Linux, kan du bruke VirtualBox til å kjøre en Windows-VM slik at du kan bruke simuleringsprogrammet Digital Works som kun kjører på Windows. Alle skal senere bruke VirtualBox til å kjøre Windows slik at man har Aminsistrator-rettigheter (og eventuelt for ikke ødelegge sin egen laptop-Windows...). Start med å laste ned Windows-image'et
https://os.cs.oslomet.no/win.ova
til din laptop. Dette inneholder hele disken for en ferdig Windows-VM som kan startes opp i VirtualBox. Start så opp VirtualBox og velg "File -> Import Appliance" og velg filen win.ova som du lastet ned. Deretter kan du starte opp Windows i et eget vindu og du kan der laste ned
https://os.cs.oslomet.no/os/digital/Digital.exe
og kjøre simuleringer. Brukernavn og passord til denne Windows VMen finner du i filen pw.txt under files i Canvas. Det kan være en god ide å først installere Chrome for Windows.
Hvis du ikke klarer å starte den virtuelle maskinen fra VirtualBox, les feilmeldingen nøye. Den vanligste feilen er at man må disable USB fra VirtualBox settings, prøv det først. En annen vanlig feil er at virtualisering ikke er enablet i BIOS. Reboot maskinen, gå inn i BIOS og let etter dette valget. Avhengig av typen laptop er det en tast, typisk F2 eller F12, ESC eller lignende, som man må taste når maskinen booter for å komme inn i BIOS. Vær oppmerksom på at dette imaget etter en stund, typisk 30-40 minutter, vil måtte startes på nytt (pga lisens-problemer), så planlegg korte sesjoner og lagre det du lager av script og lignende fortløpende.
linux1del3.mp4 (04:55) Demo: Installere putty og logge inn til studssh fra Windows linux1del4.mp4 (02:10) Demo: Logge inn til studssh fra Mac og Linux-terminalfør du begynner eller om du står fast underveis. NB! I videoene brukes studssh, bruk nå data2500. Hvis du bruker Mac, se også Bash fra Mac OS X under Linux hjelp i menyen på kurssiden.
Logg deg på data2500.cs.oslomet.no med putty fra en Windows-PC, eller fra en Mac eller Linux terminal, bruk samme brukernavn (s123456 eller tilsvarende) og passord som på Canvas. NB! IKKE BRUK s123456@oslomet.no som brukernavn, da vil du ikke kunne lage filer! Bruk kun studententnummeret, s123456. Om du legger til @oslomet.no vil du for eksempel få en feilmelding om du prøver å lage en ny mappe.
For å utføre en kommando, skriver du den inn ved promptet og trykker RETURN. Når du logger inn på denne måten, vil du alltid komme til din hjemmekatalog/mappe. Det er bare her du har lov til å lage nye filer og mapper(også kalt kataloger eller på engelsk directories). Skriv inn kommandoen$ pwdog trykk RETURN (du skriver bare inn pwd, dollar-tegnet står der fra før). Når du gjør dette, spør du operativsystemet Linux om i hvilken mappe du befinner deg (pwd = Print Working Directory). Slik snakker du altså med operativsystemet og kan både hente ut informasjon og be om å få utført ting du vil ha gjort. Språket Linux forstår, består av litt kryptiske forkortelser, men du trenger ikke å kunne så veldig mange før du snakker flytende Linux og klarer det meste.
Gir du kommandoen pwd rett etter du har klikket på terminalikonet, finner du ut hva hjemmekatalogen din heter og hvor i filsystemet den befinner seg. Prøv på samme måte kommandoene
$ whoamisom gir deg brukernavnet ditt
$ hostnamesom gir deg navnet på maskinen du er logget inn på
$ mkdir nymappesom lager en ny mappe og
$ ls -lsom viser alle filer og mapper i mappen du nå står i. -l er en såkalt opsjon som endrer måten kommandoen virker på. I dette tilfellet gir det mer detaljert informasjon en bare ls ville gitt. Prøv!
$ jed info.shog skriv inn
#! /bin/bash whoami hostname uname -aog lagre filen. Dette er et lite shellscript med navn info.sh som utfører de tre kommandoene når du kjører det. For at det skal bli kjørbart, må du sette kjørerettigheter på scriptet med
$ chmod 700 info.shog du skal kunne kjøre det ved å taste inn kommandoen
$ info.shHvis det ikke går, prøv
$ ./info.shHva er forskjellen på de to måtene å kjøre scriptet på?
#! /bin/bash lsGjør scriptet ls kjørbart ved hjelp av kommandoen chmod 755 ls. Gi kommandoen ls. Er det "din" eller systemets ls som blir utført ? Legg inn linjen
echo Dette er mitt ls script.før ls-kommandoen i ditt ls-script og prøv å få systemet til å liste filene med ditt script.
linux1del9.mp4 (03:47) Demo: Hvordan dokumenter oppgaver og hint til top og psuser-oppgavenetop er en kjent og kjær kommando for å få et inntrykk av hva som skjer på systemet. Den gir en mengde informasjon til brukeren om systemets tilstand og de kjørende prosessene. Start top i kommandolinjen og forklar hva du ser. Beskriv hvordan top er delt opp i to visuelle deler. Beskriv hva de to forskjellige delene viser og nevn de to datafeltene du mener er mest interessant i den øverste delen. For en forklaring av alle feltene, se "man top". Prøv å taste "1" i top. Hva skjer og hvilken ekstra info får du nå? (tast "1" på nytt for å gå tilbake til slik det var)
I de neste oppgavene skal du lage ditt eget alternativ til hva du fikk til i forrige oppgave. Du skal lage et shell-script som lister opp alle prosessene til en bruker.
Prøv kommandoen "ps aux". Forklar kort utskriften til den kommandoen.ps aux | grep tekstPrøv ut den kommandoen selv og bytt ut "tekst" med noe mer fornuftig, f.eks et brukernavn. Forklar utskriften du får nå. Lag et shellscript som heter "psuser" som utfører denne kommandoen.