Linux Palvelimet 2023 alkusyksy
Kurssi ICI003AS2A-3006

Tux the Linux penguin

Learn to manage your own Linux server – in 8 weeks.

100% remote. Weekly video conference + a lot of individual work. Beginners welcome. Excellent feedback 4.8 out of 5. In Finnish.

Course name and code:Linux palvelimet ICI003AS2A-3006
Timing2023 early autumn, period 1, weeks w34-w41
Credits5 cr
ClassesTue 14-16:45 online, mandatory participation
Max students30
LanguageFinnish (+reading material in English)
RemoteYes, fully remote
Feedback4.8 / 5 Excellent feedback Five star experience
ServicesMoodle, Jitsi, Laksu
First class2023-08-22 w34 Tue 14:00, Tero emails video conference link

The course is in Finnish (and requires full fluency in Finnish), so the rest of this page is in Finnish.

Tavoite

Opiskele 8 viikkoa ja hallitset omaa Linux-palvelinta.

Opintojakson suoritettuaan opiskelija:

  • Osaa hallita Linuxia palvelimena
  • Osaa tehdä tärkeimmät asetukset tärkeimmille palvelimille (Apache, OpenSSH)
  • Osaa asentaa www-ohjelmointiin sopivan alustan
  • Osaa tehdä itselleen uusia asetuksia palvelinohjelmistoihin ohjeiden avulla
  • Tietää esimerkkejä palvelintilan tarjoajista ja hinnoista sekä fyysisten palvelinten vastaavista ominaisuuksista

Anna palautetta

Palaute on minulle todella tärkeää, kiitos jo nyt. Hyödynnän palautetta heti seuraavilla kursseillamme "Palvelinten hallinta" ja "Tunkeutumistestaus".

1) Vapaamuotoinen palaute kommenttina tämän kurssisivun perään.

Vapaamuotoiseen palautteeseen saa kirjoittaa mitä vain, eikä kysymyksiä tarvitse toistaa. Mutta tässä vinkiksi:

  • Opitko jotakin – eli osaatko nyt sellaista, mitä et osannut ennen kurssia?
  • Teitkö jotain ensimmäistä kertaa? Vuokrasit koneen julkiseen Internetiin, asensit Linuxin, löysit tunkeutumisyrityksen...
  • Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim. tulevaisuudessa töissä tai kotona?
  • Viihdyitkö kurssilla?
  • Mitä pidit läksyistä?
  • Mitä pidit arvioitavasta labrasta?
  • Miten voisin parantaa kurssia?
  • Suosittelisitko kurssia tai oletko jo suositellut? Kenelle kurssi sopisi? Koulutoverille tai kollegalle?

2) Numeerinen palaute Haaga-Helian palautejärjestelmään MyNetissa.

Numeerisen palautteen avulla mm. verrataan Haaga-Helian kursseja toisiinsa.

Numeeriset: Asteikko 1-välttävä (huonoin) ... 5-kiitettävä (paras)

  • Oma aktiivisuutesi opiskelussa 1-5
  • Osaamistavoitteiden saavuttaminen 1-5
  • Työskentelytavat tukivat oppimista 1-5
  • Opiskeluympäristö tuki oppimista 1-5
  • Hyödyllisyys työelämään 1-5

Avoimet kysymykset (näihin voi myös kopioida samat vastaukset jotka kirjoitit aiemmin)

  • Mitkä asiat edistivät oppimistasi?
  • Miten kehittäisit toteutusta / toteutuskokonaisuutta, jotta osaamistavoitteet saavutettaisiin paremmin?

Kokonaisarviosi toteutuksesta / toteutuskokonaisuudesta 1-5

Suosittelisitko 1 - 10 (1 en varmasti, 10 aion varmasti suositella tai olen jo suositellut)

Kiitos palautteesta ja jännittävästä kurssista!

Missä nähdään?

  • Palvelinten hallinta ICI001AS3A-3004 (sopii kaikille tämän kurssin läpäisseille)
  • Tunkeutumistestaus ICI005AS3A-3001 (sopii haasteita etsiville)
  • Teron uutiskirje (Voit poimia rusinat pullasta, mm. kutsuja vierailuluennoille. Viestejä harvoin, joka viestissä unsubscribe-nappi.)

Osallistumiseen tarvitaan

  • Jitsi-videokonfferenssiin: tietokone, kuulokemikrofoni, kamera, internet-yhteys.
  • Linux-käyttöön: tietokone, jolla voit ohjeiden mukaan asentaa virtuaalikoneen ja Linuxin (edistyneemmät voivat toki asentaa Linuxin ihan oikean, erillisen koneen raudalle).
  • Aikaa: 8 iltapäivää oppitunteihin + joka viikko runsaasti aikaa läksyihin (oppitunneille pitää osallistua aktiivisesti ja kaikki läksyt palauttaa)

Linuxia ei tarvitse osata yhtään. Omalle tietokoneelle pitäisi osata asentaa ohjelmia, esimerkiksi virtuaalikone. Ja tietysti ratkoa tavallisia tietokoneongelmia kokeilemalla ja wepistä tietoa hakemalla.

Aikataulu

Kurssin kahdeksan kertaa jakautuvat neljään osaan: peruskäyttö, demonit, automatisointi ja loppuhuipennus.

Oppitunnit ovat tiistaisin 14:00 - 16:45 videokonfferenssina. Oppitunnit edellyttävät aktiivista osallistumista oppitunteihin lukkariin merkittynä aikana.

ViikkoAihe
w341. Asennus, lisenssit.
w352. Komentokehote. Ylläpito, paketinhallinta.
w363. Apache-weppipalvelin.
w374. Julkisen palvelimen vuorkaaminen.
w385. Nimen vuokraaminen.
w396. Ohjelmat weppipalvelimella, hei Python Django.
w407. Ohjelmointi.
w418. Kertaus. Arvioitava lopputehtävä.

Oppituntien aiheisiin voi tulla muutoksia kurssin aikana.

Peruskäyttö

1. Asennus, työpöytä ja lisenssit FSF Free Software Definition, Rise of Open Source: Chapter 5. Raportin kirjoittaminen.

2. Komentokehote, ylläpito ja paketinhallinta w04 Command Line Basics, Commands for Admin.

Demonit

3. Apache-weppipalvelin Install Apache Web Server on Ubuntu Instant Firewall – sudo ufw enable.

4. Julkisen palvelimen ja nimen vuokraaminen Apachen oletussivu, Monta nimeä samaan IP-osoitteeseen. Virtuaalipalvelimia vuokrataan: Linode (associate link), Digitalocean, Amazon (monet Amazonin palvelut skaalautuvat automaattisesti, maksimihinnan rajoittaminen voi olla tarpeen). Julkisia nimiä vuokrataan: NameCheap, (I don't recommend Gandi anymore). Harjoittelua varten voit kokeilla myös http://www.dot.tk/ (ei tärkeille nimille). First Steps on a New Virtual Private Server – an Example.

Automatisointi

5. Ohjelmat weppipalvelimella. Palvelinpään ohjelmointi, Python Flask framework. Flask-asennus.

6. Shell scriptit, bash-skriptaus. Shell Scripting, aboutusers.sh, Over the Wire: bandit

Loppuhuipennus

7. Kertaus

8. Arvosteltava lopputehtävä

Suhde muihin kursseihin

Tälle kurssille ei vaadita mitään kursseja esitietoina. Linuxia ei tarvitse osata yhtään. Omalle tietokoneelle pitäisi osata asentaa ohjelmia, esimerkiksi virtuaalikone. Ja tietysti ratkoa tavallisia tietokoneongelmia kokeilemalla ja wepistä tietoa hakemalla.

Tämä kurssi (Linux palvelimet ict4tn021) on esitietona monille kursseille, esimerkiksi

Ja pilvessähän palvelimet ovat pääosin Linuxeja, joten noilla kursseilla tästä lienee hyötyä.

Vanhoja kurssitoteutuksia

Vanhoilta kurssitoteutuksilta löytyy runsaasti opiskelijoiden palautteita ja linkkejä kotitehtävien esimerkkiratkaisuihin. Opiskelijoiden palaute kurssista on sivun lopussa kommenteissa.

Vanhoja arvioitavia laboratorioharjoituksia:

Suoritukset

  • Läksyt
  • Aktiivinen etäosallistuminen opetukseen
  • Lopputehtävä (ilmoitetaan myöhemmin)

Arvosana perustuu kokonaisarvioon kurssisuorituksista.

Läksyt

Kotitehtäväraporttien linkit palautetaan 24 h ennen lähiopetuskerran alkua Laksuun. Oman tehtävän palautuksen jälkeen riistiinarvioidaan kahden kurssikaverin tehtävät.

Läksyt tehdään ja raportoidaan kunkin tunnin jälkeen. Tehtävät saa julkaista missä haluaa ja palauttaa linkin Laksuun. Kotitehtäväraportin tulee olla suoraan selaimella katseltavassa muodossa, tavallisena HTML-weppisivuna. Ei odt, ei odp, ei ppt, ei docx, ei doc, ei pdf. Kotitehtäviä ei voi palauttaa sähköpostitse. Linkit palautetaan Moodleen, mutta itse raportteja ei voi palauttaa Moodleen. Maksutonta kotisivutilaa saa esimerkiksi WordPress.com, GitHub.com ja Gitlab.com.

Läksyt käydään läpi seuraavalla tapaamiskerralla, ratkotaan yhdessä ongelmia ja annetaan suullista palautetta. Arvosana kotitehtäväpaketista tulee vasta kurssin lopuksi, mutta tehtävät tulee silti palauttaa aina vuorokautta ennen seuraavia tunteja. Kurssilta poistetaan ne, jotka eivät ala suorittaa kurssia palauttamalla tehtäviä. Julkaiseminen on vapaaehtoista, mutta erittäin suositeltavaa. Jos et jostain syystä uskalla tai muuten halua julkaista, voit laittaa työn weppisivulle salasanan taakse (kaikille kotitehtäville sama salasana) ja jakaa tämän salasanan kurssilaisten kanssa. Jos tuntien yhteydessä järjestetään testejä läksyjen aiheista, niiden pisteet sisältyvät arvostelun kohtaan läksyt.

Läksyt pitää tehdä tietokoneella kokeilemalla ja raportoida tapahtumien kulku, ellei kyseisessä alakohdassa erikseen muuta lue. Raporteista tulee ilmetä tiedot, josta voi todeta että harjoitukset on tehty eikä sepitetty.

h1 Oma Linux

  • x) Lue ja tiivistä (Muutama ranskalainen viiva kustakin artikkelista riittää. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
  • a) Asenna Linux virtuaalikoneeseen. (Tee raporttia varten uusi virtuaalikone, vaikka olisit asentanut sen aiemmin
  • k) Vapaaehtoinen bonus: suosikkiohjelmani Linuxilla. Tee ja raportoi jokin yksinkertainen toimenpide haluamallasi Linux-ohjelmalla.

Vinkkejä

  • Tee täsmällinen ja toistettava raportti. Kuvaile myös ympäristö (host OS, rauta...). Sellainen, millä voi aiheuttaa samat virheet joita löysit, ja korjata ne samalla tavalla.
  • Install Debian on Virtualbox - Updated 2023
  • Viimeisin Debian Live -levykuva tavalliselle PC:lle debian-live-12.1.0-amd64-xfce.iso
  • Kirjoita raporttia samalla kun työskentelet
  • Jos jäät jumiin, tee vielä tarkempi raportti hankalasta kohdasta. Ota kaikki virheilmoitukset talteen. Luettele eri valitsemasi lähestymistavat. Ja katsotaan tunnilla yhdessä lisää.
  • Arvioi kaksi tehtäväpalautusta, kun olet palauttanut omasi. (kuten aina)
  • Weppisivun tekeminen Githubiin https://terokarvinen.com/2023/create-a-web-page-using-github/
  • Ota ruutukaappauksia. Kuvia on helppo lisätä Markdowniin.
  • Palautus aina 24 h ennen seuraavaa tapaamiskertaa.
  • Kohta sinulla on oma Linux-harjoitusympäristö, kokonaan omassa hallussa. Perjantaina nähdään!

h2 Komentaja Pingviini

  • x) Lue ja tiivistä (Muutama ranskalainen viiva riittää. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
  • a) Micro. Asenna micro-editori
  • b) Rauta. Listaa testaamasi koneen rauta (‘sudo lshw -short -sanitize’). Asenna lshw tarvittaessa. Selitä ja analysoi listaus.
  • c) Apt. Asenna kolme itsellesi uutta komentoriviohjelmaa. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa. Ota ruutukaappaus. Kaikki terminaaliohjelmat kelpaavat, TUI (text user interface) ja CLI (command line interface). Osaatko tehdä apt-get komennon, joka asentaa nämä kolme ohjelmaa kerralla?
  • d) FHS. Esittele kansiot, jotka on listattu "Command Line Basics Revisited" kappaleessa "Important directories". Näytä kuvaava esimerkki kunkin tärkeän kansion sisältämästä tiedostosta tai kansiosta. Jos kyseessä on tiedosto, näytä siitä kuvaava esimerkkirivi. Työskentele komentokehotteessa ja näytä komennot, joilla etsit esimerkit.
  • e) The Friendly M. Näytä 2-3 kuvaavaa esimerkkiä grep-komennon käytöstä. Ohjeita löytyy 'man grep' ja tietysti verkosta.
  • f) Pipe. Näytä esimerkki putkista (pipes, "|").
  • g) Tukki. Aiheuta lokiin kaksi eri tapahtumaa: yksi esimerkki onnistuneesta ja yksi esimerkki epäonnistuneesta tai kielletystä toimenpiteestä. Analysoi rivit yksityiskohtaisesti.

Vinkkejä:

  • Ohjelmien asennus
    • sudo apt-get update
    • apt-cache search version control
    • apt-cache show git
    • sudo apt-get -y install git
  • Loki
    • journalctl -f
    • sudo journalctl
  • Selitä ja analysoi - rautatehtävässä tärkeää on siis oma analyysi ja selitys, ei pelkkä listaus

h3 Hello Web Server

  • x) Lue ja tiivistä (Muutama ranskalainen viiva kustakin artikkelista riittää. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
  • a) Asenna Apache-weppipalvelin (ja tietysti testaa, että se vastaa)
  • b) Etsi lokista rivit, jotka syntyvät, kun lataat omalta palvelimeltasi yhden sivun. Analysoi rivit.
  • c) Vaihda Apachen esimerkkisivu johonkin lyheen sivuun niin, että vanha esimerkkisivu ei näy.
  • d) Laita käyttäjien kotisivut (http://example.com/~tero) toimimaan. Testaa esimerkkikotisivulla. Katso, että voit muokata weppisivua normaalina käyttäjänä (ilman sudoa).
  • e) Tee validi HTML5 sivu.
  • f) Anna esimerkit 'curl -I' ja 'curl' -komennoista. Analysoi 'curl -I' tuloste.
  • m) Vapaaehtoinen, suosittelen tekemään: Hanki GitHub Education -paketti.
  • n) Vapaaehtoinen, vaikea: Tee Apachelle nimipohjainen virtuaalipalvelu (name based virtual host). Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla.
  • o) Vapaaehtoinen, vaikea: Laita sama tietokone vastaamaan kahdellla eri sivulla kahdesta eri nimestä. Eli kaksi weppisiteä samalla koneelle, esim. foo.example.com ja bar.example.com.

Ensi kerralla vuokrataan kone pilvestä. Kannattaa ottaa luottokortti mukaan. Myös debit-luottokortti käy. Vaikka käyttäisit ilmaisia Github Education -krediittejä, nekin tarvitsevat yleensä luottokortin. Suosittelen kokeilemaan oikeiden, tuotantoon kelpaavien palveluiden vuokraamista, mutta voin keksiä jonkin vaihtoehtotehtävän jos et halua.

Vinkit

  • Esimerkkisivun poistaminen lienee lienee ainoa kohta, jossa ikinä muokkaat weppisivua pääkäyttäjän oikeuksin. 'echo hello|sudo tee /var/www/html/index.html'
  • 'sudo tail /var/log/apache2/access.log', 'sudo tail /var/log/apache2/error.log',
  • 'tail -f /var/log/apache2/access.log', ctrl-C
  • Kotisivu kielletty (403 Forbidden)? 'chmod ugo+x $HOME $HOME/public_html/', 'ls -ld $HOME $HOME/public_html/'
  • Karvinen 2012: Short HTML5 page
  • Onko weppisivu validi https://validator.w3.org
  • Nykyisin weppipalvelimen käynnistys on 'sudo systemctl start apache2', 'sudo systemctl restart apache2'. Monissa ohjeissa on vielä vanha komento, tai odotetaan demonin käynnistyvän itsestään pakettia asentaessa.
  • Github Education
    • Aloita rekisteröimällä @haaga-helia.fi tunnus Githubiin.
    • Jos sinulla on jo Github-tunnus, Haaga-Helian sähköpostiosoitteen voi liittää vanhaan tunnukseen.
    • Muista klikata vahvistussähköposti.
    • GitHub Education.

h4 Maailma kuulee

  • x) Lue ja tiivistä. Tiivistelmäksi riittää muutama ranskalainen viiva per artikkeli. (Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
  • a) Vuokraa oma virtuaalipalvelin haluamaltasi palveluntarjoajalta. (Vaihtoehtona voit käyttää ilmaista kokeilujaksoa, GitHub Education krediittejä; tai jos mikään muu ei onnistu, voit kokeilla ilmaiseksi vagrant:ia paikallisesti. Suosittelen kuitenkin harjoittelemaan oikeilla, tuotantoon kelpaavilla julkisilla palveluilla).
  • b) Tee alkutoimet omalla virtuaalipalvelimellasi: tulimuuri päälle, root-tunnus kiinni, ohjelmien päivitys.
  • c) Asenna weppipalvelin omalle virtuaalipalvelimellesi. Korvaa testisivu. Kokeile, että se näkyy julkisesti. Kokeile myös eri koneelta, esim kännykältä.
  • d) Etsi merkkejä murtautumisyrityksistä.

Vinkit:

  • Aina hyvät salasanat. Salasana on todella tärkeä kohta tietoturvassa.
  • Muista tehdä reikä tulimuuriin. sudo ufw allow 22/tcp; sudo ufw enable; sudo ufw allow 80/tcp
  • Käyttäjälle saa sudo-oikeudet lisäämällä ryhmään "sudo". Muita artikkelissa mainittuja ryhmiä "adm", "admin"... ei välttämättä ole koneellasi.
  • sudo apt-get update; sudo apt-get dist-upgrade; sudo systemctl reboot
  • Wannabe-murtautujia voit löytää lokeista
    • journalctl -n 2000; journalctl --since today
    • /var/log/auth.log
    • journalctl SYSLOG_FACILITY=10 # auth events
    • journalctl --grep pam_ --priority err
    • /var/log/apache2/access.log
  • Nykyisin demonin uudelleenkäynnistys 'sudo systemctl restart apache2' (ei enää service)
  • (Linuxia / Unixia pidempään käyttäneille): Perinteisesti lokit ovat olleet tekstitiedostoissa /var/log/ alla. Nyt ne ovat siirtymässä journalctl:n. Archwiki: systemd/Journal.

h5 Nimittäin

Opit vuokraamaan julkisen domain-nimen ja harjoittelet palvelinten asetusten tekoa ohjeita soveltaen.

Vinkit

  • Nykyisin demonin uudelleenkäynnistys on 'sudo systemctl restart apache2', ei enää 'service' eikä 'init.d'.
  • Julkisia nimiä vuokraa mm NameCheap
  • * Jos et jostain syystä halua vuokrata oikeaa nimeä, voit vaihtoehtotehtävänä kokeilla nimipalvelua tai sen simulointia hosts-tiedoston avulla. Tällöin voit tehdä nimipalvelutietojen analysoinnin mistä vain julkisessa käytössä olevasta nimestä.
  • Suosittelen kuitenkin oikean nimen vuokraamista ja asettamista. Github Education -paketin mukana saattaa tulla ilmaisia nimiä. Ilmaiset tai halvat nimet ovat usein edullisia vain ensimmäisen vuoden.
  • Tuotantoon yleensä .com nimi on sopivin.
  • Vinkkejä löytyy myös vanhoista raporteista, muista viitata. Duck: "terokarvinen.com" virtuaalipalvelin, Google: "terokarvinen.com" name based virtual host

h6 DJ Ango

  • x) Lue ja tiivistä. Tiivistelmäksi riittää muutama ranskalainen viiva per artikkeli. (Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
  • a) Asenna Django-kehitysympäristö niin, että näet './manage.py runserver' esimerkkisivun.
  • b) Tee yksinkertainen esimerkkitietokanta django-kehitysympäristöön ja muokkaa tietoja admin-liittymällä. (Voit käyttää sellaisenaan CRM-artikkelin koodia.)
  • c) Tee Djangon tuotantotyyppinen asennus omalle, paikalliselle virtuaalikoneellesi. Siis sellainen, joka pyörii Apachella. Tämä tehtävä on hieman haastavampi.
  • d) Vapaaehtoinen: Tee hieman erilainen tietokanta Djangoon.
  • e) Vapaaehtoinen, vaikea: Laita Django käyttämään PostgreSQL-tietokantaa.

Vinkit

  • Kannattaa ensin kokeilla matkimalla CRM-esimerkkiä sellaisenaan. Kun se toimii, sitten kokeilla hieman muokata ja tehdä omia säätöjä.
  • Tuotantotyyppinen asennus on selvästi haastavampi.
    • Siinä on useita komponenetteja, joiden kaikkien pitää toimia yhteen.
    • Virheet eivät voi lukea julkisella weppisivulla, joten ne tulevat lokiin.
  • Jos jäät jumiin
    • Tee vielä tarkempi raportti hankalasta kohdasta.
    • Mikä voisi olla pielessä? Kirjaa hypoteeseja (arvauksia) siitä, mikä voisi olla väärin.
    • Mikä toimii? Millä testeillä voit varmistaa sen?
    • Mitä lähestymistapoja? Kirjaa ne, sitten on helpompi lähteä käymään vaihtoehtoja läpi.
    • Onko virheilmoituksia tms, joita voisit hakea hakukoneista.
    • Ota kaikki virheilmoitukset talteen.
    • Palauta ajoissa raportti siitä, mihin asti pääsit.
    • Ja katsotaan tunnilla yhdessä lisää.
  • Haluatko oppia ohjelmoimaan Djangolla?
    • Kesäkurssini alkaa heti viimeisen periodin jälkeen
    • 2024-05-20 w21 maanantaina kello 09:00 fyysisesti Pasilassa, läppäri mukana
    • Kestää kahdeksan päivää
    • Edellisen toteutuksen palaute 5.00. Jokainen osallistuja antoi palautteen, jokainen palaute oli 5 / 5.
    • ICT8TN034-3004 Python weppipalvelu - ideasta tuotantoon
    • Ilmoittaudu Pepissä / MyNetissa.
    • Ilmoittautuminen alkaa 2023-11-27 w48 maanantana kello 08:00

Kirjallisuutta Djangosta ohjelmoijille vapaaehtoiseksi lisälukemistoksi. Eivät ole osa tämän kurssin materiaalia eikä vaatimuksia.

h7 Hello world

  • x) Kaikki läksyt tähän. Palauta tähän linkki kuhunkin läksyraporttisi.
  • y) Lue ja tiivistä. Tiivistelmäksi riittää muutama ranskalainen viiva per artikkeli. (Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
  • a) Käännä "Hei maailma" Pythonilla, Javalla ja C-kielellä. (Kirjoita lähdekoodi erilliseen tiedostoon, vaikka Pythonissa onkin interaktiivinen tulkki [REPL]).
  • b) Käännä "Hei maailma" jollain muulla kielellä (kuin Python, Java, C).
  • c) Esittele Pythonin käyttöä interaktiivisena taskulaskimena. Voit käyttää myös Jupyteria, eli ipython3-liittymää.
  • d) Tee shell script.
  • e) Tee uusi komento Linuxiin. Osoita, että se toimii kaikilla käyttäjillä ja ilman, että tarvitsee kirjoittaa polkua tuohon komentoon. (Voit käyttää esimerkkiohjelmana äsken tekemääsi shell scriptiä)
  • f) Intelligent intelligence. Ratkaise vanha arvioitava laboratorioharjoitus tältä kurssilta. Saa soveltaaa. Jos harjoituksessa on kohtia, jotka ovat liian vaikeita tai kovin erilaisia kuin tällä toteutuksella opetetut, voit vaihtaa ne sopivampaan tai jopa hypätä niiden yli.
  • g) Asenna arvioitavaa laboratorioharjoitusta varten itsellesi uusi tyhjä virtuaalikone. Suosittelen Debian 12-Bookworm, amd64. Koneella saa halutessasi olla paketit päivitettynä ja palomuuri asennettuna. Koneella ei saa olla näiden lisäksi muita asetuksia ja ohjelmia kuin ne, jotka tulivat tavalliesn asennuksen yhteydessä. Katso, että koneella on toimiva nettiyhteys, riittävästi kovalevytilaa ja RAM-muistia. Virtuaalikoneella ei saa olla luottamuksellisia tietoja.
  • h) Vapaaehtoinen: Tee Linxuiin uusi komento Pythonilla.
  • i) Vapaaehtoinen: Tee Linxuiin uusi komento Javalla. Voit käyttää shell scriptiä käynnistämään java-ohjelmasi, 'cd /opt/iloveobjects/; java ILoveObjects'.
  • j) Vapaaehtoinen: Tee Linuxiin uusi komento jollain muulla kielellä kuin Javalla tai Pythonilla.

Vinkit

  • Vanhoja arvioitavia labroja löytyy hakemalla terokarvinen.com:sta, Googlesta ja DuckDuckGo:sta
  • sudo apt-get install openjdk-17-jdk ipython3
  • sudo adduser tero; # aina hyvät salasanat
  • chmod ugo+rx tero.sh; sudo cp tero.sh /usr/local/bin/; # ja ekalle riville oikea tulkki "#!/usr/bin/bash"
  • Cooper 2014: Advanced Bash-Scripting Guide. Ei ole turhan "advanced", mutta minusta paras kirja Bashista. (Tämä kirja on oheislukemistoa, ei ole osa kurssin vaatimuksia).

Adminstrivia

This has been updated after publishing, and will be updated as needed.

Tux logo by Larry Ewing.