keskiviikko 26. helmikuuta 2014

"Hello world!" neljällä eri kielellä

Tehtävänä oli kirjoittaa ”Hello world!” -ohjelma neljällä eri kielellä ja testata niiden toimivuus muutenkin kuin interaktiivisessa komentotulkissa.

----------

Python
Ensimmäiseksi kieleksi valitsin oppitunneilta tutun Pythonin. Ohjelmaa ei tarvinnut erikseen asentaa sen löytyessä tietokoneelta jo valmiiksi, joten loin suoraan tekstitiedoston ”helloworld1”, johon kirjoitin ”print(”Hello world!”)”. Tämän jälkeen ohjelman sai auki komennolla ”python helloworld1”.


Bash
Toinen kieli oli myös tunneilta tuttu Bash, joka löytyy samaten valmiiksi tietokoneelta. Loin tekstitiedoston ”helloworld2”, johon kirjoitin ”STR=”Hello World!” echo $STR”. Ohjelma avattiin komennolla ”bash helloworld2”.


PHP
Kolmanneksi kieleksi valitsin PHP:n, joka piti ensin asentaa komennolla ”sudo apt-get install php3-cli” (kiitos komentoriville, joka osasi vinkata, että paketin nimi on php3-cli, eikä vain php!). Tämän jälkeen tein tekstitiedoston ”helloworld3”, johon kirjoitin ”<?php echo 'Hello world!'; ?>”. Ohjelma saatiin auki komennolla ”php helloworld3”.


Ruby
Viimeiseksi kieleksi pääsi Ruby, jonka ensin asensin tietokoneelle komennolla ”sudo apt-get install ruby”. Seuraavaksi tein tekstitiedoston ”helloworld4”, johon kirjoitin ”puts ”Hello world!””. Ohjelma aukesi komennolla ”ruby helloworld4”.

Lähteet:

sunnuntai 23. helmikuuta 2014

SSH-palvelimen asennus ja testaus

Tehtävänä oli asentaa ssh palvelin ja testata sen toimivuus. Tätä varten tuli luoda testikäyttäjä. Lisäksi piti valita kolmesta tehtävästä jokin, joista itse valitsin lokien tutkailun.

----------

SSH palvelin
Ensimmäiseksi loin testikäyttäjän sofia komennolla ”sudo adduser sofia”.


Tämän jälkeen päivitin ohjelmistopakettien listan komennolla ”sudo apt-get update”. Seuraavaksi vuorossa oli ssh palvelimen asennus komennolla ”sudo apt-get install openssh-server”.


Sitten vain testaamaan! Komentona toimi ”ssh sofia@localhost”. Salasanan syötön jälkeen totesin kaiken toimivan, kuten kuuluu. Lopetin session komennolla ”exit”.


Onnistuneen kirjautumisen lokimerkintä


Feb 23 18:21:41 xubuntu sshd[7365]: Accepted password for sofia from 127.0.0.1 port 60384 ssh2
Feb 23 18:21:41 xubuntu sshd[7365]: pam_unix(sshd:session): session opened for user sofia by (uid=0)

Rivillä ensin näkyy päivämäärä ja kellonaika, jolloin toiminto tehtiin. Live-cd Xubuntuni elää edelleen UTC-aikavyöhykkeellä, oikeasti kello siis oli 20. Seuraavana olevasta xubuntusta en ole aivan varma. Live-cd:n käytön takia tietokoneeni nimi on xubuntu, joten merkintä saattaa tarkoittaa sitä. Sshd viittaa todennäköisimmin ssh-yhteyteen, perässä olevasta numeroyhdistelmästä en osaa sanoa. Loppuosa kertoo suoraan, mitä on tapahtunut. Ensimmäisellä rivillä esimerkiksi käyttäjän sofia salasana on hyväksytty. 127.0.0.1 tarkoittaa localhostia, ja port 60384 luultavimmin porttia, josta kirjautuminen on tehty. Ssh2 merkityksestä en osaa sanoa. Seuraavalla rivillä näkyy, että sessio on avattu ssh-yhteydellä, perässä olevasta uid=0 merkinnästä en tiedä.

Epäonnistuneen kirjautumisen lokimerkintä
Epäonnistuneen ssh-kirjautumisen saadakseni laitoin väärän salasanan palvelimelle kirjautuessani.


Feb 23 18:27:56 xubuntu sshd[7628]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=localhost user=sofia
Feb 23 18:27:58 xubuntu sshd[7628]: Failed password for sofia from 127.0.0.1 port 60410 ssh2

Ensimmäisenä jälleen päivämäärä ja aika, mahdollisesti tietokoneen nimi ja ssh-yhteys. Seuraavasta rimpsusta en ole varma. Auth taitaa olla lyhenne sanasta authentication, joten mahdollisesti tuo tarkoittaa ssh-yhteyden todentamista, siis salasanan kysymistä. Seuraavaksi rivillä näkyykin, että on tapahtunut virhe todentamisessa. Loppuosa meneekin aikalailla arvailuksi. Palvelimena localhost ja käyttäjänä sofia ainakin näkyy rivillä viimeisenä, olisikohan sitä ennen näkyvä tty=ssh mahdollisesti viittaus ssh-yhteyteen. Muista en osaa yhtään sanoa, mutta huomaan, että muutama tieto rivistä puuttuu (logname ja ruser). Seuraavalla rivillä näkyy suoraan, että käyttäjä sofia on syöttänyt väärän salasanan.


Lähteet:
  • Karvinen, Tero: Oppitunti 2014-02-13, Työasemat ja tietoverkot -kurssi

keskiviikko 19. helmikuuta 2014

3D-tulostaminen - Tulevaisuus vaiko intoilijoiden huuhaata?

Helmikuun 11. päivä HAAGA-HELIAn ammattikorkeakoulun Pasilan toimipisteessä järjestettiin Happy Hacking Day – tapahtuma, jossa esiintyi monia tietotekniikan alan tunnettuja nimiä. Tilaisuus oli avoin, ja siihen sai osallistua kuka tahansa. Tapahtuma kuitenkin vaati etukäteen rekisteröitymistä. Olin mukana katsomassa muutamia ensimmäisimpiä puheenvuoroja, joista Heikki Hietalan 3D-tulostaminen onnistui herättämään ajatuksia mielenkiintoisuudellaan.

Puheenvuoro rakentui kahdesta osasta: Ensimmäinen osa
käsitteli Blenderin käyttöä ja toinen 3D-tulostamista.

3D-tulostus alkaa tulevaisuudessa koskettaa yhä isompaa osaa ihmisistä yleistyessään kotitalouksissa, kuten Hietala puheenvuorossaan kertoi. Itse olen pitänyt ajatusta kolmiulotteisten esineiden tulostamisesta äärettömän mielenkiintoisena, mutta samalla kummallisena. Miten homma saadaan toimimaan?
Hietalan esityksessä kävi ilmi, että tulostettavasta esineestä tehdään ensin malli tietokoneella, esimerkiksi Blender-nimisellä ohjelmalla, jonka käyttöä Hietala esitteli aluksi. 3D-tulostaminen ei ole läheskään yhtä helppoa kuin tavallisten printtien kohdalla, ja vaatii jonkin verran osaamista tulostajalta.

On varsin vieras ajatus, että 3D-tulostimet löytäisivät tiensä useisiin kotitalouksiin tulevaisuudessa. Tällä hetkellä koneen hinta vaihtelee reilusta 1000 eurosta lähelle 10 000 euroa riippuen tulostimen koosta ja tulostusjäljestä. Päälle vielä materiaalien hinta, joka yllättävää kyllä painii samassa sarjassa mustepatruunoiden kanssa, ja lopulliset kulut alkavat tuntua varsin raskailta kukkarossa. Tällä hetkellä 3D-tulostimet ovat vielä melko harvinainen näky, joten hintakynnys varmasti laskee laitteiden yleistyessä.
Herää kuitenkin kysymys, mihin tavallinen tallaaja tarvitsee 3D-tulostinta. Ainakin itse alun innostuksen jälkeen löysin itseni pohtimasta, mitä tällaisella kojeella tekisin. Muoviset hahmot sopivat ehkä koristeiksi, mutta mihin niitäkin loppujen lopuksi tarvitsee? Kolmiulotteisten mallien tekeminen vie aikaa, joten onko lopputulos kaiken työn ja tuskan arvoinen? Tähän tuskin löytyy yhtä ainoaa vastausta.

Heikki Hietala esitteli aihettaan sellaisella innolla, etten ainakaan minä voinut olla innostumatta siinä mukana, vaikka vähän skeptisesti 3D-tulostinten tulevaisuuden maalailuun suhtaudunkin. Lisäksi puheenvuoro esitettiin niin hyvin, että varmasti jokainen kuulija ymmärsi, mistä oli puhe. Tähän vaikuttaa varmasti osaltaan se, että Hietala toimii opettajana HAAGA-HELIAssa, joten hän on tekemisissä uusienkin tietojenkäsittelyn oppilaiden kanssa, jotka eivät tietotekniikasta vielä peruskuluttajaa enempää tiedä. Verraten vaikkapa Intelin Sakari Poussan äärimmäisen ammatilliseen tapaan esittää puheenvuoronsa, huomasi Hietalan ottavan huomioon uudetkin harrastajat.
Heikki Hietala.

On jännittävää jäädä kuulostelemaan, saako 3D-tulostaminen todellakin tulevaisuudessa siivet alleen, vai loppuuko lento lyhyeen. Samalla voin pohtia omaa suhtautumistani tähän muoviesineiden tulostamiseen, joka tuntuu vielä varsin kummalliselta ajatukselta. Paatuneena materialistina saatan kuitenkin löytää tulevaisuudessa itseni istumasta itse tulostettujen muovihäkkyröiden kasasta. Mitä vain voi tapahtua.

sunnuntai 9. helmikuuta 2014

Apache2:n asennus ja lokien tutkimista

Tehtävänä oli asentaa ja testata Apache2. Lisäksi lokiin piti saada merkinnät yhdestä onnistuneesta ja kahdesta erilaisesta epäonnistuneesta sivulatauksesta. Virheellisiin sivulatauksiin liittyvät lokirivit tuli analysoida.

----------

Apache2:n asennus
Ihan ensimmäiseksi päivitin saatavilla olevien ohjelmien listan komennolla 'sudo apt-get update'. Tämän jälkeen asensin Apache2:n ja testasin sen toimivuuden kirjoittamalla selaimen osoiteriville 'localhost'. Sivu latautui ja 'It Works!' -teksti tervehti minua.
 

Käyttäjän kotisivujen avaaminen
Seuraavaksi avasin käyttäjälle nettisivut komennolla 'sudo a2enmod userdir'. Komentorivi itsekin neuvoi käynnistämään Apachen uudelleen, joten kirjoittelin komennon 'sudo service apache2 restart'. Näin nettisivujen teko oli mahdollistettu.


Tein käyttäjän kotihakemistoon kansion 'public_html', johon nettisivujen sisältö laitetaan. Loin testitiedoston 'index.html' tekstieditorilla, johon kirjoitin 'Moi moi jeeee'. Avasin selaimen, ja kirjoitin osoiteriville 'localhost/~xubuntu' päästäkseni katsomaan käyttäjän xubuntu kotisivua. Sivu avautui, ja kirjoittamani teksti näkyi etusivulla. Toimii!


Onnistunut lokimerkintä
Käyttäjän kotisivujen tarkastelu jätti onnistuneen lokimerkinnän 18.45 (oikeasti siis 20.45, sillä live-cd:ltä buutattu Xubuntuni elää +00 vyöhykkeellä, kuten kuvasta näkyy).


Epäonnistunut lokimerkintä #1
Ensimmäiseksi otetaan tarkasteluun merkintä, joka tuli tarkistaessani localhostin ennen Apache2:n asennusta. Sivu ei tietenkään ladannut, koska sitä ei vielä ollut olemassa. Tämä näkyy Apachen virhelokista.

Ylempi rivi on access.logista ja alempi error.logista.

127.0.0.1 - - [09/Feb/2014:14:54:11 +0000] ”GET /favicon.ico HTTP/1.1” 404 498 ”-” ”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:23.0) Gecko/20100101 Firefox 23.0”
Rivillä ensimmäisenä näkyy ip, ja sen jälkeen päivämäärä ja kellonaika. Tietokone lähetti 'GET'-pyynnön selaimelle, mutta sivua ei ollut olemassa, joten vastaukseksi tuli 404-errorilmoitus. Joku tieto puuttuu tästä välistä, siksi ”-” -merkintä. Sulkeissa oleva rimpsu on vähän epäselvä, epäilisin sen tarkoittavan käyttöjärjestelmää. Viimeisenä rivillä näkyy, että käytin Firefoxia, ja sen operaattori Gecko.

Epäonnistunut lokimerkintä #2
Toinen virhemerkintä tuli yrittäessäni päästä selaimella osoitteeseen 'localhost/.htaccess', johon minulla ei ole oikeuksia. .htaccess on tiedosto, jonka kautta voidaan muun muassa muokata urleja, blokata käyttäjiä, botteja sun muuta, joten tietenkään normaalikäyttäjällä ei ole sinne asiaa.

Ylempi rivi on jälleen access.logista ja alempi error.logista.

127.0.0.1 - - [09/Feb/2014:14:54:35 +0000] ”GET /.htaccess HTTP/1.1” 403 497 ”-” ”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:23.0) Gecko/20100101 Firefox 23.0”
Rivi ei hirveästi muuttunut edellisestä. Tästä käy ilmi, että tietokone lähetti 'GET'-pyynnön päästäkseen osoitteeseen /.htaccess, ja vastauseksi tuli 403-error, joka tarkoittaa, ettei sivulle ole lupaa mennä. Virhelokistakin tämä käy ilmi.

Lähteet:

maanantai 3. helmikuuta 2014

Komentorivi-ohjelmia ja lokien tutkailua

Tehtävänä oli asentaa kolme itselle uutta ohjelmaa komentorivin kautta ja testata niiden toimivuus. Lisäksi tuli listata oma unelmien 'apt-get install' -rivi, eli kaikki ohjelmat, jotka asentaa koneen käyttöönoton yhteydessä. Myös lokimerkintöjä tuli tutkiskella ja aiheuttaa lokiin yksi onnistunut sekä yksi epäonnistunut merkintä, joita yrittää analysoida.

----------

Shutter
Ensimmäiseksi asensin koneelleni Shutter-kuvankaappausohjelman komennolla 'sudo apt-get install shutter'. Lataus onnistui ja ohjelma toimi, kuten odotinkin.


Krita
Tämän jälkeen lähdin kokeilemaan, suostuisiko aiemmin mainitsemani Krita-niminen piirto-ohjelma asentumaan komentorivin kautta. Yllätys yllätys, asennus onnistui! Aiemmin kohtaamani ongelma taisikin olla Software Centerin versiossa.


Last.fm
Seuraavaksi halusin testata, löytyykö Last.fm-musiikin seuranta- ja kuunteluohjelma Linuxille komennolla 'apt-cache search last.fm'. Selasin listaa ja huomasin lupaavalta kuulostavan lastfm-ohjelman, jonka asensin. Testatessa huomasin, että kyseinen ohjelma on täysin identtinen Windowsin vastaavan kanssa.


qBitTorrent
Koska Krita ei periaatteessa ole minulle aivan uusi, päätin testata vielä jotain muuta ohjelmaa. Kohteekseni pääsi qBitTorrent, joka lähti toimimaan. Kokeilin ladata Ubuntun torrentin, joka lähti latautumaan ilman ongelmia.


Unelmien 'apt-get install'
sudo apt-get install libreoffice vlc krita kaffeine lastfm qbittorrent amarok

Hirveän montaa suosikkiohjelmaa minulla ei Linuxille ole, mutta kyllä niitä muutama löytyi. Lista ehkä pitenee jatkossa, kun tutustun useampiin uusiin ohjelmiin.

Onnistuneen lokimerkinnän tutkiminen
Avasin lokin komennolla 'sudo tail -F /var/log/auth.log'. Onnistuneen lokimerkinnän sain yksinkertaisesti päivittämällä saatavilla olevien pakettien listan komennolla 'sudo apt-get update'. Lokissa on tosin onnistunut merkintä myös lokin avaamisesta, mutta tutkitaan päivityskomentoa.


xubuntu sudo: xubuntu : TTY=pts/1 ; PWD= /home/xubuntu ; USER=root ; COMMAND=/usr/bin/apt-get update

Lokimerkinnän alkuosa on vähän epäselvä. Sudo taitaa tarkoittaa ns. etukomentoa, ja sen tilalla voi olla myös esimerkiksi root.
PWD= /home/xubuntu tarkoittaa sijaintia. Tässä siis ollaan xubuntu-käyttäjän kotihakemistossa.
USER=root tarkoittaa käyttäjän olevan pääkäyttäjä, jolla on valtuudet muuttaa koko tietokoneeseen vaikuttavia asetuksia.
COMMAND=/usr/bin/apt-get update kertoo käytetyn komennon, tässä tapauksessa siis apt-get update.

Epäonnistunut lokimerkintä
Epäonnistunutta lokimerkintää en live-cd:llä onnistunut saamaan, vaikka kuinka yritin miettiä. Sudon jättäminen pois esimerkiksi ohjelmien asennuksesta taikka jo koneelta löytyvän ohjelman uudestaan asennusyritys eivät jättäneet lokiin merkintöjä, enkä muutakaan keksinyt. Live-cd on tällaisessa käytössä aika rajallinen.

Lähteet: