Topic outline

  • Linuxin perusteet

    Harjoitukset ovat ilta-aikaan maanantaisin ja keskiviikkoisin klo 16-19. Ensimmäinen harjoitus on maanantaina 30.10.2023, klo 16:15-19:00 salissa T2. 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: 30.10.2023, klo 16:15-19:00 T2. Asennetaan ohjatusti Linux omalle koneelle
    • Harjoitus 2: 1.11.2023, klo 16:00-19:00 T2. 
    • Harjoitus 3: 6.11.2023, klo 16:15-19:00 T2.
    • Harjoitus 4: 8.11.2023, klo 16:15-19:00 T2.
    • Harjoitus 5: 13.11.2023, klo 16:15-19:00 T2.
    • Harjoitus 6: 15.11.2023, klo 16:15-19:00 T2.
    • Tentti: 22.11.2023, 16:30 - 19:30 T2
    Kurssin ensimmäisessä harjoituksessa omalle koneelle asennetaan (jollei ole jo aiemmin asennettuna) Linux toimimaan virtuaalikoneena. Kurssin suorittamiseen tarvitaan kannettava tietokone.

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

    Jos käytät Windows 10 tai 11 käyttöjärjestelmää Windows Services for Linux 2 (WSL2) kanssa, voit joutua kytkemään sen pois päältä voidaksesi käyttää Virtualboxia. Sekä Virtualbox että WSL2 käyttävät samaa virtualisointirautaa ja eri ohjelmistot eivät osaa jakaa sen käyttöä.

    Oraclen (Virtualboxin omistaja) lisenssiongelmisto johtuen yliopiston verkosta ei voi ladata tiedostoja download.virtualbox.org sivustolta. Käytämme tällä kurssilla Virtualboxia pelkästään koulutustarkoituksiin ja emme suosittele asentamaan "laajennuksia" ("extensions") Oraclen sivuilta, koska niissä on rajoitetumpi lisenssi.  (Salainen latauslinkki: https://users.aalto.fi/~rjarvine/install/)

    Kurssimateriaali:

    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.