Topic outline

  • Harjoitukset ovat ilta-aikaan maanantaisin ja keskiviikkoisin klo 16-19. Ensimmäinen harjoitus on maanantaina 31.10.2022, klo 16:15-19:00 salissa T1. Tervetuloa kurssille!

    HUOM! Tietotekniikan ja data science pääaineen kandiopiskelijat ja DI-opiskelijat seuraavista pääaineista CS, Game, HCI, Macadamia, Security ja SSE eivät voi suorittaa tätä kurssia tutkintoonsa.

    Kurssin opettaja: Risto Järvinen (risto.jarvinen@aalto.fi) ja mukana kurssilla myös Mika Nupponen (mika.nupponen@aalto.fi).

    Kurssin aikataulu päivitetään tähän:

    • Harjoitus 1: 31.10.2022, klo 16:15-19:00 T1. Asennetaan ohjatusti Linux omalle koneelle
    • Harjoitus 2: 2.11.2022, klo 16:00-19:00 T2. 
    • Harjoitus 3: 7.11.2022, klo 16:15-19:00 TU7.
    • Harjoitus 4: 9.11.2022, klo 16:15-19:00 T2.
    • Harjoitus 5: 14.11.2022, klo 16:15-19:00 TU7.
    • Harjoitus 6: 16.11.2022, klo 16:15-19:00 T2.
    • Tentti: 23.11.22, 16:30 - 19:30 T1
    Kurssin ensimmäisessä harjoituksessa omalle koneelle asennetaan (jollei ole jo aiemmin asennettuna) Linux toimimaan virtuaalikoneena.

    Mikäli sinulla ei vielä ole Linux asennettuna niin voit ladata asennuksessa tarvittavat tiedostot jo etukäteen :

    Linuxin perusteet kurssin näyttökoevaatimukset

    Osattava:

    • Kurssilla jaettavasta Linux-komentoavusteesta löytyvien komentojen ja parametrien käyttö. Komentoavuste sekä man-sivut ovat käytettävissä näyttökokeen aikana
    • Tekstieditorin käyttö (esim. Nano, Vim)
    • Linuxin hakemistorakenteen tunteminen (käsitys rakenteesta, sekä mitä löytyy mistäkin) ja hakemistoissa liikkuminen (proc, etc, home)
    • Tietoten hakeminen ja muokkaus ja katsominen komentorivillä (grep, awk, sort and less).
    • Ohjelmien asennus ja poistaminen paketinhallinnan (Debian apt) avulla, riippuvuuksien selvittäminen
    • Palveluiden käynnistäminen ja sammuttaminen
    • Järjestelmälogit: Mitä logeja on olemassa, mistä ne löytyvät ja miten niitä käytetään järjestelmän toiminnan tarkastamiseen ja vianhakuun
    • Verkkoasetusten säätäminen sekä perusverkkodiagnostiikoiden käyttö (ping, traceroute, liikenteenkaappaus)
    • SSH: etäyhteydet, tiedostojen siirto, tunnelointi, julkisen avaimen autentikointi
    • Screen -ohjelman peruskäyttö
    • Ohjelmointityökalujen käyttö, git (Ohjelman asentaminen lähdekoodista, riippuvuudet, koodinmuokkaus jos kerrotaan mitä pitää muokata, ohjelmakoodin kääntäminen ja käännöksen testaaminen. Koodin tallennus paikalliseen paikalliseen repositoryyn.
    • Shell ympäristömuuttujat: listaus ja editointi ( $PATH )
    • Osata tehdä scriptitiedostoja, joissa käytetään if/then/else rakenteita ja silmukoita.