Tämä sivu on vanhentunut ja säilössä vain historiallisista syistä.
This page is obsolete.
Etsitkö nykyistä sivua työasemat ja tietoverkot?
Työasemat ja tietoverkot ict1ta002-10
Koe - työasemat ja tietoverkot 10
Keväällä 2010 on useita toteutuksia työasemat ja tietoverkoista. Tero opettaa toteutusten 5 ja 10 Linux-osuuksia. Teron osuus toteutuksesta 5 on päättynyt. Tämä sivu käsittelee toteutusta 10.
Aikataulu, toteutus 10
Perjantaisin 8:00-11:45, koko toisen periodin ajan.
1. Asennus (w11)
(ei opetusta pitkäperjantaina w13)
2. Työpöytä ja lisenssit (w14)
3. Komentokehote (w15)
4. Ylläpito (w16)
5. Apache-weppipalvelin (w17)
6. OpenSSH-etähallinta (w18)
7. IpTables-tulimuuri (w19)
8. Koe (w20)
Läksyt
Läksyt voi julkaista missä haluaa, ja linkit palautetaan kurssin Moodle-sivulle. Moodlen käyttö vaatii Haaga-Helian opiskelijanumeron ja salasanan. Jos et uskalla tai muuten halua julkaista raporttiasi, voit kirjoittaa sen suoraan Moodleen - mutta julkaisu on toki paras vaihtoehto.
Kaikki kotitehtävät ovat pakollisia. Voit katsoa läksyjä ennakkoon alta, mutta läksyt vahvistetaan vasta tunnilla.
Raportin kirjoittaminen: Toistettava, täsmällinen, helppolukuinen. Viittaa lähteisiin, myös kurssiin. Älä plagioi, älä sepitä. Käytä GPL-lisenssiä, jos haluat.
Tehtävät on palautettava kokonaista vuorokautta ennen tunteja, eli keskiviikkona. Aikaraja on voimassa, vaikka sitä ei olisi erikseen kirjoitettu Moodleen. Pakolliset tehtävät pitää palauttaa määräajassa, jos haluaa jatkaa kurssilla. Merkittävä myöhästyminen tehtävien palautuksesta ilman etukäteistä sopimista johtaa Linux-osuuden hylkäämiseen.
1. Asennus
1a) Polta itsellesi Ubuntu-romppu ja kokeile sitä jonkin muun mallisessa tietokoneessa kuin tunnilla. Muista kuvailla raportissasi, missä ympäristössä ja millä raudalla teit testin. Jos väität jonkin osan toimivan, muista kertoa, millä testillä totesit sen toimivaksi.
1b*) Kerää teknistä tietoa tietokoneesta liverompun avulla. Voit esimerkiksi käyttää “sudo lshw > lshw.txt” tai machinotero. (Tähti ‘*’ tarkoittaa vapaaehtoista tehtävää)
1c) Lue: The Rise of Open Source Licensing (paikallinen kopio): luku 5.1 :”Bargaining in the Shadow of Intellectual Property Law”, sivut 113-123. (tästä c-kohdasta ei tarvitse palauttaa mitään, kysellään tunneilla)
Palauta linkki Moodleen: Tehtävän 1. "asennus" palautuslomake Moodlessa
2. Työpöytä ja lisenssit
2a) Vapaat yrityksissä. Anna kolme esimerkkiä vapaiden ohjelmistojen hyödyntämisestä yrityksissä. Ole täsmällinen: mikä yritys, mikä ohjelma, mikä lisenssi, mitä hyötyä. (Essee)
2b) Vanhalle vastine. Listaa ohjelmat, joita käytät nykyisessä/toisessa/edellisessä käyttöjärjestelmässäsi (esim Windowsissa, Macissa tai BSD:ssä). Listaa kunkin ohjelman käyttötarkoitus. Etsi vapaa, Linuxissa toimiva vastine kuhunkin tarpeeseen. Esim. Sovellus: MS Windows Vistassa MS Word; tarkoitus :tekstinkäsittelyohjelma; vapaa vastine: OpenOffice.org Writer. Listaa myös ohjelmat, joille et löytänyt vastinetta. Asenna vapaat ohjelmat ja anna esimerkki niiden peruskäytöstä.
2c) Opettele vapaan ohjelman määritelmä, GPL:n käyttö ja GPL:n tärkeimmät oikeusvaikutukset. Ei tarvitse palauttaa mitään tästä 2c-kohdasta.
2d) Inkscape. Asenna Inkscape ja piirrä sillä. Pelkkä sotku ei kelpaa; esim yksinkertainen ihminen, auto tai tietokone kelpaa.
2e) GIMP. Muokkaa valokuvaasi GIMPillä. Rajaa (crop) kuva (shift-C). Korjaa kuvan valotusta joko värikäyrällä (Colors: Curves tai Colors: Levels: Auto). Tallenna kuva JPG-muodossa ja liitä raporttiisi.
2f) OpenOffice. Tee OpenOfficessa rakenteellinen dokumentti (h1, h2... text body) ja liitä siihen kuva. Käytä kuvan kanssa automaattista asettelua (right click: align: right). Tallenna dokumentti tavallisimmissa muodoissa ODT (OASIS, avoin toimisto), DOC (suljettu toimisto), HTML (uuteen kansioon, web), PDF (painoon, Export...).
2g) Tulosta. Asenna tulostin ja tulosta OpenOfficesta.
2h) Decommodization of Protocols. Tutustu “Halloween memos” dokumentteihin (etsi tarvittavat lähteet itse). Mitä tarkoittaa dokumentteissa esiintyvä ajatus “decommoditization of protocols”? Osaatko mainita esimerkin tästä strategiasta? Voiko yksittäinen yritys suojautua tätä strategiaa vastaan? Miten? Essee.
2i*) Compiz. (Tähti “*” tehtävän numerossa tarkoittaa vapaaehtoista lisätehtävää) Kokeile Compiz efektejä. Asenna Advanced Compiz Manager ja kokeile esimerkiksi Grid-pluginia.
3. Komentokehote
3a) Opettele ulkoa jokainen komento artikkelista Command line. Tästä 3a-kohdasta ei tarvitse palauttaa mitään, mutta komennot tietysti kuulustellaan jossain vaiheessa.
3b) Kokeile kolmea itsellesi uutta komentoa tai lippua (esim -f tai --foobar. man ja man -k auttavat).
3c*) Päiväni komentokehotteessa. Kirjoita kuvitteellinen tarina (käyttötapaus), jossa käytetään opittuja ja löytämiäsi komentoja.
3d*) Keksi kolme esimerkkiä putkien käytöstä.
(Tähti ‘*’ tarkoittaa vapaaehtoista tehtävää)
Komentoja kannattaa harjoitella automaatiotasolle ihan tietokoneen ääressä. En kuitenkaan viitsinyt vaatia raportoimaan kahta sataa tehtävää tyyliin “tee kansio, vaihda sen nimi, poista se” - voitte keksiä sormiharjoituksia itse.
4. Ylläpito
4a) Opettele ulkoa komennot artikkelista Commands for Admin.
4b) Asenna kolme uutta ohjelmaa paketinhallintaohjelmalla. Käytä komentokehotetta. Valitse ohjelmia, joita et tunne ennestään, niin saat myös etsiä niitä. Jos kolme uutta ohjelmaa liittyvät samaan aiheeseen, aina parempi.
4c) Päivitä kaikki asennetut ohjelmat. Asenna kaikki tietoturvapäivitykset ohjelmiin ja käyttöjärjestelmään. Asenna uusin käyttöjärjestelmän ydin. (vinkki: ‘sudo apt-get upgrade’)
4d*) Asenna jokin Firefoxin plugin paketinhallintaohjelmalla (ei siis “Recommended plugins” tai satunnaiselta weppisivulta). Esimerkiksi Adblock plus, web developer, noscript.
4e) Analysoi valitsemaasi lokia. Ota siis muutama (alle viisi) samaan aiheeseen liittyvää riviä. Kerro kaikki, mitä saat riveistä irti.
5. Apache
5a*) Tee validi weppisivu. Voit katsoa www.iki.fi/karvinen lähdekoodista, miltä validi sivu näyttää. Tarkista lopputulos http://validator.w3.org .
5b*) Kirjoita “Hei maailma” PHP:lla. (Asenna php-tuki paketista ‘libapache2-mod-php5’, käynnistä apache2 uudelleen ‘sudo /etc/init.d/apache2 stop’, ‘sudo /etc/init.d/apache2 start’. Hei maailman lähdekoodi http://www.iki.fi/karvinen/bilkent#php_programming
5c) Asenna PhpMyAdmin sekä MySQL ja kokeile niitä. http://www.iki.fi/karvinen/bilkent#mysql_database_server
5d) Kirjoita PHP:lla yksinkertainen lomaketta käyttävä ohjelma. Esimerkiksi painoindeksilaskuri (BMI). http://www.php.net/manual/en/tutorial.forms.php
5e*) Tee esimerkki kokonaisesta tietokantaohjelmasta PHP:lla ja MySQL:ä. Ohjelman pitäisi pystyä luomaan, lukemaan, päivittämään ja poistamaan tietueita (CRUD, Create, Read, Update, Delete).
5f*) Tee esimerkkiohjelma python-django:lla. Riittää, että se pyörii Djangon omassa testipalvelimessa.
(Tähti ‘*’ tarkoittaa vapaaehtoista tehtävää)
6. OpenSSH
6a) Asenna SSH-palvelin ja kirjaudu sille toiselta koneelta. (Juhani näytti tunnilla, kuinka tämä käy. Asenna openssh-server, kirjaudu normaalisti ‘ssh omanimi@localhost’. Verkko-osoitteesi näet komennoilla ‘ifconfig’ tai ‘ip addr’. Jos et tarvitse SSH-palvelinta läppärillä, voit poistaa sen ‘sudo apt-get remove openssh-server’ tai kieltää sitä käynnistymästä itsestään ‘sudo rcconf –now’).
6b) Tee uusi käyttäjä ja kirjaudu koneelle sillä. Anna käyttäjälle järkevä nimi ja salasana. (Käyttäjiä voi luoda komennolla ‘adduser tkarvine’)
6c) Kopioi tiedosto myylle scp-komennolla command line
6d*) Kopioi tiedostoja ssh-yhteyden yli rsync:n avulla. Rsync osaa siirtää vain muuttuneet osat. Esim: 1 GB kansio, 5 kB muuttunut ⇒ siirto kestää pari kymmentä sekuntia.
(Tähti ‘*’ tarkoittaa vapaaehtoista tehtävää)
7. IpTables ja ohjelmointi
7a*) Laadi oma iptables-tulimuuri. Keksi myös hyödyllisiä sääntöjä, joita ei käsitelty tunnilla.
7b*) Etsi verkosta jonkun toisen laatima iptables-tulimuuri ja selitä sen säännöt.
7c*) Mitkä ICMP-viestit pitää päästää tulimuurista läpi? Miksi?
7d*) Tee samasta tulimuurista sekava versio ja selkeä versio.
7e) Käännä hei maailma kolmella kielellä Hello world in many languages
7f) Kirjoita hyödyllinen komentotiedosto (shell script)
7g*) Kirjoita lyhyt ohjelma Pythonilla
7h) Tee koneellesi tulimuuri, joka kieltää yhteydet ulkoa sisään, mutta sallii yhteydet weppipalvelimeen. Tulimuurisi tulee käynnistyä automaattisesti koneen käynnistyessä.