Infra as Code 2023
Palvelinten Hallinta 2023 syksy

Control 10, 100, 1000 many computers.

Or control 2071 computers, like Jussi did on a earlier course. Or handle 7 different operating systems and OS versions with a single master, like Matias.

Best instance got 5.0 / 5 feedback - all respondents gave the best grade 5. Palvelinten hallinta ici001as3a-3006.

Course name and codePalvelinten hallinta ici001as3a-3006
Timing2023 period 2 late autumn, w43-w50
Credits5 cr
ClassesTue 14:00 - 16:45, online, mandatory participation
Max students30
LanguageFinnish (+reading material in English)
RemoteFully remote
Feedback5.0 / 5 * Excellent feedback Five star experience
ServicesMoodle: Palvelinten hallinta, Jitsi, Laksu
First class2023-10-24 w43 Tue 14:00, Jitsi link is in Moodle.

* Best instance got 5.0 / 5 feedback - all respondents gave the best grade 5. Other instances have varied from 4.3/5 good to 4.9/5 excellent.

My current research area is configuration management systems: I've given an invited speech in IEEE ICIM Chengdu and a plenary speech in IEEE ICIM Oxford; I’ve also been teaching these modern methods to companies. Previous feedback for this course has been from very good 4.3 to excellent 4.9 5.0 out of 5.

As the course is in Finnish, the rest of this page will be in Finnish.

Opintojakson suoritettuaan opiskelija

  • Osaa hallita palvelimia kuvailemalla tavoitetilan (idempotenssi)
  • Osaa tehdä asetukset pelkkänä tekstinä ja versioitavasti (infrastruktuuri koodina)
  • Pystyy tekemään tavalliset ylläpitotoimet valitulla työkalulla Saltilla (yksi totuus)

Esitiedot

Esitiedot, kertaa nämä.

Opettele komennot ja hakemistot ulkoa. Harjoittele niitä kokeilemalla moneen kertaan Linuxissa.

Alustava aikataulu

Kurssi kestää 8 viikkoa. Edellyttää aktiivista osallistumista etäopetukseen videokonfferensissa lukkariin merkittynä aikana.

Läksyt palautetaan 24 h ennen seuraavan oppitunnin alkua ja ristiinarvioidaan kahden luokkakaverin työt.

Tämä alustava aikataulu elää kurssin aikana.

Perusteet

    1. w43 Hello Salt! Master-slave, pull -arkkitehtuuri. Komentojen etäsuoritus (cmd.run, pkg.install). Tietojen kerääminen orjista (grains.items). Idempotentti konfiguraatio (foo.sls, top.sls). Esimerkkejä tiloista (file.managed).
    1. w44 Verkkon yli. Herra-orja -arkkitehtuuri verkon yli. Orjan tavoittaminen tuntemattomasta osoitteesta, NAT ja tulimuurin takaa. Harjoitusympäristöjen rakentaminen Vagrantilla. Vianselvitys verkkoyhteydessä.
    1. w45 Versionhallinta. Git: init, clone, add, commit, pull, push, log. GitHub ja muut avustavat palvelut.
    1. w46 Package-file-service Demonien hallinta. Käsin tehdyn konfiguraation automatisointi. Aikajanan käyttö muutosten tunnistamisessa.

Tekniikoita

    1. w47 Omat komennot. Aikajanan käyttö muutosten tunnistamisessa.
    1. w48 Salt Windowsilla

Soveltava vaihe

    1. w49 Omat modulit.
    1. w50 Omien modulien esittely.

Arviointi

Osien ohjeelliset painoarvot ovat: kotitehtävät 50% ja oma moduli 50%. Arvosana perustuu kokonaisarvioon suorituksista. Kaikki kotitehtävät pitää tehdä. Etäopetukseen pitää osallistua aktiivisesti.

Anna palautetta

Palaute on todella tärkeä tapa kehittää kurssia – kiitos kommenteista jo etukäteen. Palaute kahteen kanavaan

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

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? Käytit modernia hallintatyökalua (Salt tms), kirjoitit idempotentin tilan, kirjoitit infraa koodina...
  • Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim. tulevaisuudessa töissä tai kotona?
  • Mitä mieltä olit läksyistä? Luku/video/podcast -materiaalista? Hands-on tehtävistä?
  • Miten voisin parantaa kurssia?
  • Viihdyitkö kurssilla?
  • Suosittelisitko kurssia? Kenelle kurssi sopisi? Koulutoverille tai kollegalle?

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

Numeerinen palaute Haaga-Helian palautejärjestelmään MyNetissa

Numeerisen palautteen avulla mm. verrataan Haaga-Helian kursseja toisiinsa. On tärkeää saada jokaiselta palaute, jotta tulos on tilastollisesti merkitsevä.

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! Seuraavilla kursseilla nähdään.

Läksyt

Palautus 24 h ennen seuraavaa lukujärjestykseen merkittyä aikaa. Weppisivulle (HTML), ja palauta linkki Laksuun. Halutessasi voit laittaa linkin myös kommentiksi tämän sivun perään, niin sivusi saa lisää kävijöitä ja nousee PageRankissa.

Nämä läksyt ovat alustavia. Läksyt ovat virallisia vasta, kun ne on annettu tunnilla. Tämä on edistynyt kurssi, joten pystymme tekemään muutoksia kurssin kuluessa ja sovittamaan läksyt aiheen mukaan. Jos et uskalla tai muuten halua julkaista, voit laittaa weppisivun salasanan taakse (sama salasana koko kurssille ja jokaiselle tehtävälle, ei kirjautumista eri tunnuksilla eri henkilöille) ja jakaa salasanan kurssilaisten kanssa - mutta suosittelen julkaisua. Kotisivutilaa saa esim wordpress.com, github.com, gitlab.com ja monista muista paikoista.

Suosittu ja helppo tapa on laittaa raportit Githubiin.

Kaikki käytetyt lähteet tulee merkitä raporttiin: kurssin tehtäväsivu, kurssikavereiden raportit, man-sivut, kirjat. Mikäli tekoälyltä kysyy neuvoa, se on merkittävä lähteeksi. Tekoälyt hallusinoivat, tiedot on suositeltavaa tarkistaa. Tiivistelmiä tai esseitä ei saa generoida tekoälyllä eikä muilla vastaavilla tekniikoilla, vaan ne on kirjoitettava itse.

h0 Hello

Tuntitehtävä.

a) Tee GitHubilla esimerkkisivu. Ristiinarvioi kaksi.

Vinkit

  • Karvinen 2023: Create a Web Page Using Github
  • Kirjoita sivu MarkDownilla ja katso, että otsikot ja kappaleet näkyvät oikein
  • Palauta linkki suoraan h0 tehtävävastaukseesi (ei esimerkiksi koko varaston etusivuun)

h1 Viisikko

  • x) Lue ja tiivistä. (Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen tai kuunteleminen ja tiivistelmä riittää. Tiivistämiseen riittää muutama ranskalainen viiva.)
  • a) Asenna Salt (salt-minion) koneellesi.
  • b) Viisi tärkeintä. Näytä esimerkit viidestä tärkeimmästä Saltin tilafunktiosta: pkg, file, service, user, cmd. Analysoi ja selitä tulokset.
  • c) Idempotentti. Anna esimerkki idempotenssista. Aja 'salt-call --local' komentoja, analysoi tulokset, selitä miten idempotenssi ilmenee.
  • d) Tietoa koneesta. Kerää tietoja koneesta Saltin grains.items -tekniikalla. Poimi kolme kiinnostavaa kohtaa, näytä tulokset ('grains.item osfinger virtual') ja analysoi ne.

Vinkit

  • Tehtävät kannattaa suorittaa Linux-virtuaalikoneessa. Voit käyttää joko Debian 11 tai Debian 12.
  • Asenna Linux virtuaalikoneeseen. Karvinen 2023: Install Debian on Virtualbox - Updated 2023. Linuxin asennusta ei tässä tarvitse raportoida.
  • Tehtävissä tulee tehdä testit tietokoneella ja raportoida tulokset. Pelkkä kuvittelu ei siis riitä. (Ainoat poikkeukset ovat tässä tuo x-tiivistä ja virtuaalikoneen asennus, joissa on tästä maininta erikseen).
  • Tarkista, että olet viitannut kaikkiin lähteisiin. Viitteet tulee löytyä jokaisesta raportista. Jokaiseen lähteeseen tulee viitata, esimerkiksi tehtäväsivuun, ohjeisiin, toisten raportteihin, man-sivuihin... Eli jokaiseen käytettyyn lähteeseen.
  • Tietoja koneesta: 'sudo salt-call --local grains.items', 'sudo salt-call --local grains.item osfinger virtual'
  • Kirjoita rinnakkaisarvioinnissa palautetta, vinkkejä ja kommentteja

Saltin asennus Debian 12. Tässä siis kukin rivi alkaa promptin merkillä "$" ja rullautuu tässä sivulla.

$ sudo mkdir /etc/apt/keyrings # ei haittaa vaikka sanoisi etta hakemisto on jo
$ sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg https://repo.saltproject.io/salt/py3/debian/11/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg
$ echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/11/amd64/latest bullseye main" | sudo tee /etc/apt/sources.list.d/salt.list
$ sudo apt-get update
$ sudo apt-get install salt-minion

Asennusohje on sovellettu Salt project 2023: Salt install guide: Manual install directions by operating system: Install Salt on Debian 11 (Bullseye) amd64. Asennus Debian 12-Bookwormille on tätä kirjoittaessa minusta hankala, mutta tilanne on paranemassa. En suosittele asentamaan Salttia tuotantokoneille tällä ohjeella ilman lisäharkintaa.

Saltin asennus Debian 11 muistaakseni: 'sudo apt-get update; sudo apt-get install salt-minion'

h2 Karjaa

Cattle, not pets.

  • x) Lue ja tiivistä. (Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen tai kuunteleminen ja tiivistelmä riittää. Tiivistämiseen riittää muutama ranskalainen viiva.)
  • a) Asenna Vagrant. (Toiminee parhaiten isäntäkäyttöjärjestelmässä, siis siinä, joka pyörii raudalla)
  • b) Yksi maankiertäjä. Asenna yksi kone Vagrantilla, ota siihen SSH-yhteys, osoita että netti toimii.
  • c) Oma orjansa. Asenna Salt herra ja orja samalle koneelle.
  • d) Asenna Saltin herra-orja arkkitehtuuri toimimaan verkon yli. (Verkko voi olla virtuaalinen verkko paikallisten virtuaalikoneiden välillä, kuten muissakin alakohdissa)
  • e) Aja useita idempotentteja (state.single) komentoja verkon yli.
  • f) Kerää teknistä tietoa orjista verkon yli (grains.item)
  • g) Aja shell-komento orjalla verkon yli.
  • h) Hello, IaC. Tee infraa koodina kirjoittamalla /srv/salt/hello/init.sls. Aja tila jollekin orjalle. Tila voi esimerkiksi tehdä esimerkkitiedoston johonkin hakemistoon. Testaa toisella komennolla, että pyytämäsi muutos on todella tehty.

Vinkit

  • Kaikki läksyt voi tehdä omalla, paikallisella koneella. Virtuaalikoneet voi tehdä Vagrantilla, verkkona voi käyttää näiden paikallisten virtuaalikoneiden välistä verkkoa.
  • Vagrantin asennuspaketit HashiCorp 2023: Install Vagrant
  • Vagrant ohjaa VirtualBoxia. Se kannattaa asentaa isäntäjärjestelmään, koska virtualisointi toimii heikosti sisäkkäin. Jos et ole vielä täysin Linux-käyttäjä, niin Vagrantin saa myös Windowsille.
    • Lähes kaikki koneet ovat amd64-arkkitehtuurilla. Koskee lähes kaikkia Windows- ja Linux-koneita sekä osaa Maciesta.
    • Harvoja poikkeuksia: Apple Mac M1 ja M2 sekä Raspberry Pi ovat muistaakseni arm64.
  • Vanhoja raportteja Vagrantin ja VirtualBoxin käytöstä löytää Googlella ja Duckilla, esim Salminen 2020.
  • Vinkkejä myös Vagrantin virallisista asennusohjeista
  • Jos asennat Salt herran pilveen tai muuhun oikeaan paikkaan, muista tulimuuri.
    • Orjat voivat olla tulimuurin ja NATin takana, osoite voi vaihtua
    • Herran pitää olla tunnetussa osoitteessa ja Saltin avointen porttien (4505/tcp ja 4506/tcp) pitää näkyä orjille.
  • Raportin kirjoittamisesta, samoja vinkkejä mitä tunneilla on käyty läpi: Karvinen 2006: Raportin kirjoittaminen
  • Eikö toimi?
    • Tee tarkemmat muistiinpanot, kun kohtaat ongelmia
    • Katso masterin osoite ('hostname -I')
    • Onko orjilla sama osoite /etc/salt/minion, "master: 10.0.0.42"
    • Muistitko käynnistää demonit asetusten muutkosen jälkeen 'sudo systemctl restart salt-minion'
    • Pystytkö testeillä eristämään ongelman?
    • Kehittämään lisää lähestymistapoja?
    • Saatko virheilmoituksia, joilla tehdä hakuja?
    • Voitko ratkaista vastaavan, mutta helpomman ongelman?

Vianselvitystä (ulkomuistista)

$ nc -vz master.example.com 4505 # onko portti ylipäänsä auki
$ nc -vz master.example.com 4506
$ hostname -I

Tulimuuri herralle. Ulkomuistista. Tarvitaan, jos laitat sen jonnekin muualle kuin lyhytaikaisesti paikalliselle virtuaalikoneelle NATattuun verkkoon. Jotkut ehtivät jo suunnitella tätäkin vapaaehtoista lisähupia.

$ sudo ufw allow 22/tcp # ssh, niin perinteinen hallinta ei katkea
$ sudo ufw allow 4505/tcp # salt
$ sudo ufw allow 4506/tcp # salt
$ sudo ufw enable # estä muu sisääntuleva liikenne

h3 Versio

a) Online. Tee uusi varasto GitHubiin (tai Gitlabiin tai mihin vain vastaavaan palveluun). Varaston nimessä ja lyhyessä kuvauksessa tulee olla sana "winter". Aiemmin tehty varasto ei kelpaa. (Muista tehdä varastoon tiedostoja luomisvaiheessa, esim README.md ja GNU General Public License 3)

b) Dolly. Kloonaa edellisessä kohdassa tehty uusi varasto itsellesi, tee muutoksia, puske ne palvelimelle, ja näytä, että ne ilmestyvät weppiliittymään.

c) Doh! Tee tyhmä muutos gittiin, älä tee commit:tia. Tuhoa huonot muutokset ‘git reset --hard’. Huomaa, että tässä toiminnossa ei ole peruutusnappia.

d) Tukki. Tarkastele ja selitä varastosi lokia. Tarkista, että nimesi ja sähköpostiosoitteesi näkyy haluamallasi tavalla ja korjaa tarvittaessa.

e) Vapaaehtoinen: yhteistyötä: anna kaverillesi (tai alter egollesi) oikeus kirjoittaa varastoosi (commit access). Tehkää molemmat muutoksia varastoon gitillä.

f) Vapaaehtoinen: Suolattu rakki. Tee uusi moduli. Kloonaa varastosi toiselle koneelle (tai poista srv/salt ja palauta se kloonaamalla) ja jatka sillä. (Salt tiedostot mistä vain hakemistosta, huomaa suhteellinen polku: 'sudo salt-call --local --file-root srv/salt/ state.apply')

g) Vapaaehtoinen: Se toinen järjestelmä: kokeile Gittiä eri käyttöjärjestelmällä kuin sillä, millä teit muut harjoitukset. Selitä niin, että kyseistä järjestelmää osaamatonkin onnistuu. Mahdollisuuksia on runsaasti: Debian, Fedora, Windows, OSX...

Vinkkejä

  • Kannattaa käyttää SSH-osoitetta varastoa kloonatessa, kirjautuminen julkisella ssh-avaimella
  • ssh-keygen (enter, enter), cat $HOME/.ssh/id_rsa.pub, Github: Settings: SSH keys...
  • Github-varaston sivulta Code: SSH. git clone https://github.com/hattupuu/earplotter.git ; cd earplotter
  • git pull
  • git add . && git commit; git pull && git push
  • git log --patch
  • git config --global user.email "tonystudent@example.com"
  • git config --global user.name "Tony Student"
  • Commit message: yksi englanninkielinen virke määräysmuodossa ja nykyajassa: "Add reverse thurst estimation to main view"
  • GitHub-varastoon kannattaa tehdä tiedostoja luomisvaiheessa, suosittelen tekemään README.md ja vapaista lisensseistä itse tykkään GPLv3 eli GNU General Public License, version 3. Oman työsi lisenssin saat itse valita.
  • Karvinen 2021: Install Debian on VirtualBox
  • Microsoft 2023: Get a Windows 11 development environment: Download a virtual machine: VirtualBox
  • Olli Uronen: Git Windows-vinkit kommenteissa
  • Jos menet olemassaolevaan projektiin (työpaikalla, open source)... opiskele projektin käytännöt ja käytä niitä

h4 Demonit

  • x) Lue ja tiivistä. (Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen tai kuunteleminen ja tiivistelmä riittää. Tiivistämiseen riittää muutama ranskalainen viiva.)
    • Karvinen 2023: Salt Vagrant - automatically provision one master and two slaves, vain kohdat
      • Infra as Code - Your wishes as a text file
      • top.sls - What Slave Runs What States
    • Salt contributors: Salt overview, kohdat
      • Rules of YAML
      • YAML simple structure
      • Lists and dictionaries - YAML block structures
    • Salt contributors: Salt states, kohdat
      • State modules
      • The state SLS data structure
      • Organizing states
      • The top.sls file
      • Create the SSH state, Create the Apache state
        • Katso näitä alakohtia kriittisin silmin. Teron huomioita ja suosituksia:
          • Namevar: itse asia tilan id:ksi, name arvoksi tulee automaattisesti sama
          • Puuttuko esimerkeistä service-watch? Jos asetustiedosto päivittyy herralla, tuleeko se koskaan käyttöön orjilla?
    • Karvinen 2018: Pkg-File-Service – Control Daemons with Salt – Change SSH Server Port
      • Käytä omaa sshd_config:ia pohjana. Tässä on jonkun toisen Linux-version tiedosto.
  • a) Hello SLS! Tee Hei maailma -tila kirjoittamalla se tekstitiedostoon, esim /srv/salt/hello/init.sls.
  • b) Top. Tee top.sls niin, että tilat ajetaan automaattisesti, esim komennolla "sudo salt '*' state.apply".
  • c) Apache. Asenna Apache, korvaa sen testisivu ja varmista, että demoni käynnistyy.
    • Ensin käsin, vasta sitten automaattisesti.
    • Kirjoita tila sls-tiedostoon.
    • pkg-file-service
    • Tässä ei tarvita service:ssä watch, koska index.html ei ole asetustiedosto
  • d) SSHouto. Lisää uusi portti, jossa SSHd kuuntelee.
    • Tämä tehtävä on helpointa tehdä tavallisella virtuaalikoneella, jota Vagrant ei ohjaa.
    • Löydät oikean asetuksen katsomalla SSH:n asetustiedostoa
    • Nyt tarvitaan service-watch, jotta demoni käynnistetään uudelleen, jos asetustiedosto muuttuu masterilla

Vinkit

  • Ensin käsin, sitten automaattisesti
  • Testaa
    • Alkutilanne (taikurin hihat tyhjät)
    • Käsin tehty ja toimii
    • Poistettu käsin tehty ennen automaatiota
    • Yksi tilafunktio (esim. file) sls-tiedostossa
    • Lopputilanne, osat
    • Lopputesti - mitä käyttäjä tekisi
  • /etc/ssh/sshd_config
  • Port: 1234
  • nc -vz localhost 1234
  • ssh -p 1234 foo@localhost
  • echo "Hei"|sudo tee /var/www/html/index.html # ainoa tilanne sudotella html-sivua
  • Omat asetustiedostot
    • Kun teet käsin, saat siitä mallin asetustiedostolle (masterin /srv/salt/foo/bar.cfg)
    • Esimerkkidokumenteissa olevat demonien asetustiedostot tuskin toimivat juuri omassa järjestelmässä

h5 CSI Kerava

Ensin käsin, sitten automaattisesti. Kokonaisten tiedostojen pudottaminen orjille on varmaa ja itsestään idempotenttia. Aikaja auttaa löytämään komentojen tekemät muutokset, niin hoituu sekin file-resurssilla.

Tässä harjoituksessa kokeillaan myös oikeiden parametrien etsimistä dokumentaatiosta. Tätä taitoa tarvitaan, jos aiot käyttää näitä työkaluja töissä. Man-sivut ja sys.state_doc ovat apuna.

Nyt edetään kohti soveltavaa vaihetta.

  • x) Lue ja tiivistä. (Tässä x-alakohdassa ei tarvitse tehdä testejä tietokoneella, vain lukeminen tai kuunteleminen ja tiivistelmä riittää. Tiivistämiseen riittää muutama ranskalainen viiva.)
  • a) CSI Kerava. Näytä 'find' avulla viimeisimmäksi muokatut tiedostot /etc/-hakemistosta ja kotihakemistostasi. Selitä kaikki käyttämäsi parametrit ja format string 'man find' avulla.
  • b) Gui2fs. Muokkaa asetuksia jostain graafisen käyttöliittymän (GUI) ohjelmasta käyttäen ohjelman valikoita ja dialogeja. Etsi tämä asetus tiedostojärjestelmästä.
  • c) Komennus. Tee Salt-tila, joka asentaa järjestelmään uuden komennon.
  • d) Apassi. Tee Salt-tila, joka asentaa Apachen näyttämään kotihakemistoja.
  • e) Ämpärillinen. Tee Salt-tila, joka asentaa järjestelmään kansiollisen komentoja.
  • f) Vapaaehtoinen: Toinen demoni. Konfiguroi joikin toinen demoni Saltilla.
  • g) Vapaaehtoinen: Toinen asetus. Tee Apacheen tai OpenSSHdhen jokin asetus, jota ei ole vielä ollut kotitehtävissä.

Vinkit

  • find -printf '%T+ %p\n'
  • cd; sudo salt-call --local sys.state_doc > statedoc; less statedoc
  • sudo salt-call --local sys.state_doc file.managed
  • Omat komennot kaikille käyttäjille /usr/local/bin/
  • Nykyisin siirrytään /usr/bin/ -hakemistoon, ja /bin/ jää pois. Tämä vaikuttaa jollain aikavälillä mm. shebangiin, eli shell scriptin ensimmäiseen riviin "#!/usr/bin/bash". Siirtymän nimi on /usr/-merge, ja siinä ovat mukana isot levityspaketit, myös Debian ja Fedora (josta Red Hat tehdään). Eli suosittelen "#!/usr/bin/bash", "#!/usr/bin/python3". Jos pitää tukea hyvin vanhoja järjestelmiä, niin sitten pitänee soveltaa. 1 2 3
  • Komennot ovat näissä vinkeissä ulkomuistista. Oikean kirjoitusasun voi tarvittaessa korjata man-sivujen ja virheilmoitusten perusteella, vaikka en tosin tee usein kirjoitustusvirheitä.
  • Maanantaina 08:00 voi ilmoittautua weppikurssille Pepissä. Edellinen toteutus sai 5.0 palautteen: jokainen osallistuja antoi palautetta, jokainen palaute oli 5/5. "Python weppipalvelu - ideasta tuotantoon" ICT8TN034-3004, w21 ma - w22 ke koko päivän.

h6 Windows

  • x) Lue ja tiivistä.
    • Vapaavalintainen aiemman vuoden kotitehtäväraportti Saltin käytöstä Windowsilla. Löydät raportteja esimerkiksi Google-haulla: salt windows karvinen.
    • Halonen, Rajala ja Ollikainen 2023: Installing Windows 10 on a virtual machine
      • Vain tämä Windowsin asennusohje. Samassa varastossa on hyökkäysohjelmia, joiden käsittely edellyttää, että osaa tehdä sen turvallisesti ja laillisesti, mm. eristää harjoituskoneita Internetistä. Nämä taidot oppii esim. kurssillani Tunkeutumistestaus. Tällä kurssilla ei käytetä hyökkäystyökaluja. Mutta tämä Windowsin asennus virtuaalikoneeseen on yksinkertaista ja turvallista.
    • LSB Workgroup, The Linux Foundation 2015: Filesystem Hierarchy Standard
      • Lue otsikot, katso sisältöä jos asia ei ilmene otsikosta
      • Poimi tiivistelmääsi sellaisten kansioiden määritelmät, joiden kanssa olet itse tekemisissä.
  • a) Asenna Windows virtuaalikoneeseen.
  • b) Asenna Salt Windowsille. Osoita 'salt-call --local' komentoa ajamalla, että asennus on onnistunut.
  • c) Kerää Windows-koneesta tietoa grains.items -toiminnolla. Poimi 'grains.item' perään muutamia keskeisiä tietoja ja analysoi ne, eli selitä perusteellisesti mitä ne ovat. Kuvaile ja vertaile numeroita.
  • d) Kokeile Saltin file -toimintoa Windowsilla.
  • e) Kokeile jotain itsellesi uutta toimintoa Saltista Windowsilla. (Voit käyttää apuna edellisten vuosien kotitehtäväraporttia tai Karvinen 2018: Control Windows with Salt. Huomaa, että noissa muistiinpanoissani voi jo hieman ikä painaa, ja niissä on myös epärelevantteja kokeiluja.)
  • f) Vapaaehtoinen: asenna Saltilla ohjelma Windowsille. Package-funktio toimii, mutta vaatii alkuasetuksia.
  • g) Vapaaehtoinen: käytä Saltin service-funktiota Windowsilla.
  • h) Vapaaehtoinen: käytä Saltin user-funktiota Windowsilla.
  • i) Vapaaehtoinen: käytä Saltin cmd.run -funktiota Windowsilla.
  • j) Vapaaehtoinen: Aseta Windows-kone Saltilla orjaksi, niin että voit hallita sitä verkon yli. Paikallinen virtuaaliverkko kelpaa.

Vinkit

h7