03.11.2014 Views

syksy 2012 - Porin yksikkö

syksy 2012 - Porin yksikkö

syksy 2012 - Porin yksikkö

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1<br />

Avoimen lähdekoodin järjestelmät<br />

TLTP-5120<br />

3 op<br />

03.09.<strong>2012</strong> – Harri Brandt<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


2<br />

Kurssin sisältö<br />

• Luennoitsijat Harri Brandt ja Matti Monnonen<br />

• Osa 1: Käsitteet, tausta, työpöytäkäyttö, komennot (4 * 4h) - Harri<br />

• Osa 2: Palvelinympäristö (4 * 4h) – Matti<br />

• Osa 3: Harjoitukset (ATK-luokka, Tietoliikennelaboratorio –<br />

H256A)<br />

• Luennot koostuvat teoriaosuudesta sekä työasemilla tehtävistä<br />

harjoituksista<br />

• Harjoitustehtävät noudetaan verkkolevyltä tai jaetaan tunnin<br />

alkaessa<br />

• Lisäksi kurssiin sisältyy tietoliikennelaboratoriossa/kotona/töissä<br />

tehtävä harjoitus.<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


3<br />

Harjoitukset<br />

• Harjoituksen voi tehdä parityönä (työmäärä)<br />

• Aihe varataan luennoitsijoilta kurssin aikana, takaraja<br />

viimeinen luentokerta<br />

• Harjoitustyö tehdään joko tietoliikennelaboratoriossa<br />

(työpisteet) tai vaihtoehtoisesti kotona/työpaikalla<br />

• Raportti palautetaan ennen tenttiä paperimuodossa<br />

• Raportti koostuu seuraavista osista:<br />

• Taustateoria<br />

• Asennuksen eteneminen (ongelmat, huomiot)<br />

• Konfiguroinnit (muutokset, tiedostot liitteeksi, kommentointi!)<br />

• Asennusohjeen kaltainen raportti<br />

• Harjoitustyötä voi käyttää pohjana muilla kursseilla<br />

(Tietoliikenteen erityiskysymyksiä, dataverkkojen työkurssi)<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


4<br />

Harjoitukset<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


5<br />

Harjoitukset<br />

• BB2 (PHP) + Moodle<br />

• Verkko-opetusympäristö<br />

• Ympäristön totetutus ja esimerkkikurssin luonti<br />

• Varmuuskopiointi ja levykuvapalvelin (Disk Image)<br />

• Palvelimen kiintolevyn varmuuskopiointi ja levykuvan teko<br />

• Lisänä esimerkiksi RAID5<br />

• Video Streaming<br />

• Videon streemaus verkkoon<br />

• Palvelimen toteutus ja testaus<br />

• Esim. MYTH-TV tai vastaava<br />

• VPN-palvelin<br />

• Turvallisen etäyhteyden toteuttaminen<br />

• Liikenteen tunnelointi turvattoman verkon yli (kaikki tai ainoastaan<br />

halutut protokollat)<br />

• OpenVPN<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


6<br />

Harjoitukset<br />

• Lokien keräys<br />

• Keskitetty lokien keräys palvelimilta<br />

• Syslog<br />

• Squid Proxy<br />

• Välimuistipalvelimen totetus<br />

• Nopeuttaa palveluiden käyttöä<br />

• HTTP, HTTPS, FTP<br />

• Toteutus ja testaus<br />

• Virtualisointi<br />

• Virtualisoinnin totetus esim. KVM:llä tai XEN:llä<br />

• Alustana jokin Linux-jakelu, testaus Windows + jokin muu Linux<br />

• Verkkolevy + tulostinpalvelin<br />

• NFS ja CUPS<br />

• Levyjaon ja tulostinpalvelimen toteutus<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


7<br />

Harjoitukset<br />

• Radius<br />

• Käyttäjän tunnistaminen langattomaan verkkoon kirjauduttaessa<br />

• WPA2 + langaton tukiasema, käyttäjätiedot Radius-palvelimella<br />

• Zappix<br />

• Mail<br />

• Verkonvalvontapalvelin<br />

• Palvelimien tilan monitorointi<br />

• Nagios myös mahdollinen<br />

• Sähköpostipalvelimen toteutus ja konfigurointi<br />

• Tietoturva<br />

• Live-cd/dvd<br />

• Oman jakeluversion toteutus<br />

• Pohjana haluamasi linux, josta muokattu live-jakelu<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


8<br />

Harjoitukset<br />

• NTP<br />

• AD<br />

• Network time protocol<br />

• NTP-palvelimen toteutus<br />

• Muut ympäristön koneet synkronoivat kellonsa kyseiseltä palvelimelta<br />

• Toimialueiden hallinnointi<br />

• Debian-pohjaisen ratkaisun testaus ja dokumentointi<br />

• Oma idea<br />

• Vapaasti ehdotettavissa oleva idea<br />

• Hyväksyntä kurssin vetäjältä ennen aloitusta<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


9<br />

Avoin lähdekoodi – Open Source (2. tunti)<br />

• Avoin lähdekoodi<br />

• Tapa jaella ja kehittää tietokoneohjelmistoja<br />

• Kirjoitettu ohjelma käännetään suoritettavaan muotoon<br />

• Toiminta ei tämän jälkeen tulkittavissa<br />

• Ilman lähdekoodia ohjelman toiminnan tutkiminen ja kehittäminen vaikeaa<br />

tai mahdotonta<br />

• Suljetussa ohjelmistossa lähdekoodi yrityksen hallussa ja sitä ei anneta<br />

ulkopuolisille<br />

• Avoimeen lähdekoodin perustuva toteutus on tarkastettavissa ja<br />

muutettavissa joko käyttäjän tai kolmannen osapuolen toimesta<br />

• Näkökulma, joka kattaa ohjelmistojen suunnittelun, toteutuksen ja<br />

jakelun<br />

• Korostaa lähdekoodin helppoa saatavuutta<br />

• Suomessa toimintaa koordinoi Suomen avoimen lähdekoodin keskus<br />

(COSS, Centre for Open Source Solutions), perustettu 2003,<br />

www.coss.fi<br />

• Jäseninä yrityksiä, yliopistoja ja korkeakouluja<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


10<br />

Avoin lähdekoodi – Open Source<br />

• Avoimen lähdekoodin ohjelmat – Open Source Software<br />

• Vapaus käyttää, muuttaa, kehittää, levittää ohjelmaa ja lähdekoodia<br />

• Tavoitteita (Open Source Initiative – OSI, perustettu 1998)<br />

• korkea laatu ja luotettavuus, joustavuus, edullisuus sekä valmistajien ns. vendor lockin<br />

käytännön ehkäiseminen (vaikeus vaihtaa toimittajaa ilman suuria kustannuksia)<br />

• Aloituskynnyksen madaltuminen – helppo tutustua koodiin tai uusiin ohjelmistoihin<br />

• Hyviä puolia<br />

• Helpompi tulla markkinoille, riippuu tuotteen laadukkuudesta<br />

• Kehitystyö yleensä nopeaa, päivitykset ja korjaukset kaikkien saatavilla<br />

• Teknisten vaatimusten korostuminen esim. tietoturvan kehittäminen<br />

• Kaupallisen paineen vähyys<br />

• Voidaan luoda uusia markkinoita maksullisille palveluille<br />

– asennus- ja ylläpitopalvelut<br />

• Voidaan käyttää ponnahduslautana maksullisen version käyttämiselle<br />

– OpenOffice.org vs. StarOffice<br />

• Voidaan jakaa kustannukset osapuolten kesken<br />

– Apache, X Window System<br />

• Tietoturva, edullisuus, helppous sekä luotettavuus<br />

• Ohjelmiston hankkija ei ole sidottu yhteen toimittajaan esim. tuen tai jatkokehityksen<br />

osalta<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


11<br />

Avoin lähdekoodi<br />

• Huonoja puolia<br />

• Määrittelyiden ja dokumentoinnin puute pienissä projekteissa<br />

• Onko lopputuote sitä mitä käyttäjät haluavat? Teknisen toteutuksen<br />

korostuminen markkinoiden tarpeiden kustannuksella<br />

• Vastuu ohjelmistosta ja sen toimivuudesta, yleensä kaupalliset<br />

yrityksetkään eivät ota vastuuta<br />

• Välillä kiistoja mm. toteutustavoista, organisoinnista,<br />

nimeämiskäytännöistä<br />

• Linux yksi avoimen lähdekoodin tuloksista<br />

• Avoin lähdekoodi (Torvalds) vs. vapaa ohjelmisto (Stallman)<br />

• Avoin lähdekoodi – yritysten näkökulmasta helpompi luovuttaa lähdekoodi<br />

eteenpäin<br />

• Painotuserot – Avoin/vapaa ohjelmisto (Free – ilmainen ja/vai vapaa?)<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


12<br />

Suljettu lähdekoodi ja ohjelmisto<br />

• Suljettu lähdekoodi<br />

• Avoimen lähdekoodin vastakohta<br />

• Lähdekoodi pidetään liikesalaisuutena eikä lisenssin ostajalle anneta<br />

pääsyä tai oikeutta lähdekoodiin<br />

• Suljettu ohjelmisto (closed source tai proprietary software)<br />

• Käyttäjällä ei ole pääsyä lähdekoodiin<br />

• Lisenssiehdot eivät salli ohjelman muokkaamista ja niiden julkaisua<br />

• Reverse engineering kielletty<br />

• Reverse engineering - Pyritään ohjelman toimintaa tutkimalla selvittämään<br />

ne menetelmät, periaatteet sekä tekniikat, joita ohjelman teossa on<br />

käytetty<br />

• Alihankkijalla tai yhteistyökumppanilla pääsy lähdekoodiin<br />

• Sopimusten allekirjoitukset mm. NDA (non-disclosure agreement), salassa<br />

pidettävää tietoa<br />

• Korjaukset valmistajan vastuulla – Miten käy vanhan tuotteen?<br />

• Korjausehdotuksia voi lähettää ainoastaan valmistajalle – uusien<br />

ominaisuuksien saaminen voi olla hankalaa<br />

• Tuotteen vaihtamisesta syntyvät ongelmat ja kustannukset<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


13<br />

Avoin lähdekoodi – Open Source<br />

• Avoimen lähdekoodin määrittelyn pääkohdat (OSI)<br />

1. Ohjelman tulee olla vapaasti levitettävissä ja välitettävissä.<br />

2. Lähdekoodin täytyy tulla ohjelman mukana tai olla vapaasti saatavissa.<br />

3. Johdettujen teosten luominen ja levitys täytyy sallia.<br />

4. Lähdekoodin suora muokkaaminen voidaan kuitenkin kieltää, jolloin muutokset ja<br />

korjaukset on toimitettava erillisinä lisäyksinä. Voidaan myös vaatia, ettei johdettua<br />

teosta levitetä samalla nimellä tai versionumerolla kuin lähtöteosta.<br />

5. Yksilöitä tai ihmisryhmiä ei saa asettaa eriarvoiseen asemaan.<br />

6. Käyttötarkoituksia ei saa rajoittaa.<br />

7. Kaikilla ohjelman käsiinsä saaneilla on samat oikeudet.<br />

8. Lisenssi ei saa olla riippuvainen laajemmasta ohjelmistokokonaisuudesta, jonka<br />

osana ohjelmaa levitetään, vaan ohjelmaan liittyvät oikeudet säilyvät, vaikka se<br />

irrotettaisiin kokonaisuudesta.<br />

9. Lisenssi ei voi asettaa ehtoja muille ohjelmille. Ohjelmaa saa levittää myös yhdessä<br />

sellaisten ohjelmien kanssa, joiden lähdekoodi ei ole avointa.<br />

10. Lisenssin sisällön pitää olla riippumaton teknisestä toteutuksesta. Oikeuksiin ei saa<br />

liittää varaumia jakelutavan tai käyttöliittymän varjolla.<br />

Lähde: www.opensource.org/docs/osd, fi.wikipedia.org/Avoinlähdekoodi<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


14<br />

Avoin standardi<br />

• Avoin standardi mahdollistaa ohjelmistojen ja järjestelmien<br />

yhteensopivuuden<br />

• Avointa standardia käyttävät ohjelmistot ovat<br />

yhteensopivia keskenään ja asiakas voi vaihtaa<br />

järjestelmää tai toimittajaa menettämättä ominaisuuksia tai<br />

tietoja<br />

• Ehdot (European Interoperability Framework-EIF)<br />

• Ylläpitäjänä voittoa tavoittelematon organisaatio ja kehitys on<br />

kaikille sidosryhmille avointa ja tasapuolista<br />

• Standardi on julkaistu ja sen määrittelydokumentti on tarjolla<br />

ilmaiseksi tai pientä korvausta vastaan<br />

• Voidaan käyttää pysyvästi ilman teollisoikeudellisia<br />

korvauksia (patentit, tavaramerkit yms.)<br />

• Uudelleen käyttöä ei ole rajoitettu<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


15<br />

Lisenssit<br />

• Lisenssi on ohjelmiston tai muun immateriaalioikeuden alaisen materiaalin<br />

käyttöön oikeuttava sopimus<br />

• Immateriaalioikeus jaetaan tekijänoikeuksiin sekä teollisuusoikeuksiin<br />

• Tekijänoikeudet<br />

• Taideteos, valokuva yms.<br />

• Teollisuusoikeudet<br />

• Yksinoikeuteen perustuvat<br />

• Patentti-, hyödyllisyysmalli-, malli-, tavaramerkki- ja toiminimioikeus<br />

• Määrittelee kuinka ohjelmistoa saa käyttää, muunnella tai kopioida<br />

• Voidaan vaatia esimerkiksi, että muokattua tuotetta on levitettävä edelleen<br />

samalla lisenssillä -> alkuperäinen tekijä voi hyötyä muokkauksista<br />

• Lisenssimaksu on em. oikeuksien alaisten tuotteiden tai teosten käytöstä<br />

oikeuksien omistajalle maksettava korvaus eli tekijänpalkkio<br />

• Tietokoneohjelmat<br />

• Lisenssejä tällä hetkellä n. 70<br />

• Yleinen suositus on käyttää jotain olemassa olevaa lisenssiä<br />

• Vakiintunut lisenssi helpottaa koodin lainaamista projektien välillä<br />

• Ei tarvitse miettiä onko jokin ohjelmisto riittävän vapaa<br />

• Jälkikäteen lisenssin muuttaminen on vaikeaa<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


16<br />

Lisenssit<br />

• Ero suhtautumisessa teosten muunteluun ja yhdistämiseen sekä<br />

tästä seuranneen ohjelman jakeluun<br />

• Copyleft-lisenssit vaativat, että levittäminen (alkuperäinen tai<br />

muokattu versio) tapahtuu alkuperäisillä ehdoilla eli samalla<br />

lisenssillä.<br />

• Ehdot koskevat levittämistä ja uudelleenjulkaisua<br />

• Omaan käyttöön voi tehdä muutoksia ilman julkaisupakkoa<br />

• Tunnetuin GNU General Public License (GPL)<br />

• Mozilla-lisenssi (MPL)<br />

• Tunnus käännetty copyright-merkki<br />

• GNU Lesser General Public License (LGPL) yhdistää GPL- ja BSD/MIT-lisenssien<br />

määrityksiä<br />

– LGPL –ohjelmistoja voi käyttää osana GPL:n alaista kokonaisuutta<br />

– LGPL ei vaadi esim. lähdekodin levittämistä osana kaupallista julkaisua<br />

• Ei-Copyleft-lisenssit eivät aseta vaatimuksia muokattujen versioiden<br />

julkaisulle<br />

• Muokatulle ohjelmalle voi asettaa rajoituksia niin halutessaan<br />

• Rajoitus voi olla esimerkiksi kopiointikielto<br />

• Kategoriaan kuuluvat mm. MIT, BSD- ja X11-lisenssit<br />

• BSD –lisenssi ei vaadi lähdekoodin julkaisemista levitettäessä lisensoitua ohjelmaa<br />

eteenpäin<br />

<strong>Porin</strong> yksikkö<br />

http://fi.wikipedia.org/wiki/Vapaa_ohjelmisto<br />

17.9.<strong>2012</strong>


17<br />

GNU Yleinen lisenssi<br />

• GNU General Public License (GNU GPL)<br />

• Alkuaan Richard Stallmanin käsialaa<br />

• Yhdisti aikaisemmat ohjelmakohtaiset lisenssit yhdeksi<br />

kokonaisuudeksi<br />

• Pohjana mm. Emacsin ja GNU C –kääntäjän lisenssit<br />

• Versio 1 vuonna 1989<br />

• Versio 2 vuonna 1991<br />

• Tällä hetkellä eniten käytetty versio<br />

• GNU GPL versio 3 julkaistiin 2007<br />

• Versio 3 sallii mm. ohjelman jakamisen P2P-verkossa<br />

• Valmistaja, jonka laite sisältää vapaita ohjelmia ei voi<br />

kieltää ohjelmiston vaihtoa<br />

• Käyttö digisovittimessa, matkapuhelimessa, tai muussa<br />

vastaavassa laitteessa edellyttää, että ohjelman mukana<br />

seuraa lähdekoodin lisäksi myös asennusohjeet<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


18<br />

GNU Yleinen lisenssi<br />

• Yleisin käytössä oleva lisenssi (n.60%)<br />

• Ohjelmaa saa vapaasti käyttää ja tutkia<br />

• Ohjelmaa saa jakaa edelleen, kunhan lähdekoodi ja lisenssi annetaan<br />

mukaan<br />

• Ohjelmaan saa tehdä muutoksia ja näitä muutoksia levittää edelleen<br />

• Muutoksista tulee ilmoittaa selvästi (changelog)<br />

• GPL-ilmoituksia ei saa poistaa<br />

• Muunnettu lähdekoodi ja lisenssi annettava mukaan uutta versiota levitettäessä<br />

• Ohjelmasta voi ottaa osia ja käyttää muissa ohjelmissa, jotka käyttävät<br />

GPL-lisenssin samaa versiota,<br />

• Tekijät mainittava asianmukaisesti<br />

• Ohjelma, joka täyttää GNU GPL –määritykset on vapaa ohjelmisto<br />

(Free software)<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


19<br />

Apache-lisenssi<br />

• Apache-lisenssi v. 2.0 julkaistu vuonna 2004<br />

• BSD-tyyppinen ei-copyleft lisenssi<br />

• Muokattua teosta saa levittää eri lisenssillä<br />

• Johdannaisessa ei saa käyttää alkuperäisen ohjelman nimeä<br />

tai muita tietoja<br />

• Johdannaisen mukana toimitettava alkuperäinen lisenssiteksti<br />

sekä NOTICE-tiedostot<br />

• NOTICE-tiedostoissa lisäinformaatiota<br />

• Apache [PRODUCT_NAME] Copyright [yyyy]<br />

The Apache Software Foundation<br />

This product includes software developed at The Apache Software Foundation<br />

(http://www.apache.org/).<br />

• Muokatuissa tiedostoissa oltava selkeät merkinnät tehdyistä<br />

muutoksista<br />

Lähde: http://www.apache.org/licenses/LICENSE-2.0<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


20<br />

MIT-lisenssi<br />

• Lähtöisin MIT:stä<br />

• Esitelty vuonna 1988<br />

• Salliva lisenssi, joka ei estä ohjelman käyttöä kaupallisesti/suljetun<br />

ohjelman osana<br />

• Alkuperäiset tekijänoikeustiedot säilytettävä<br />

• Voidaan käyttää osana suljettua ohjelmaa<br />

• Kaupallinen hyödyntäminen mahdollista<br />

• Alkuperäistä tekijää ”muistettava” copyright-ilmoituksella<br />

• MIT-lisenssiä käyttäviä ohjelmia<br />

• Putty, Ruby on Rails, X Window System<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


21<br />

Lisenssiesimerkki (MIT)<br />

• The MIT License<br />

Copyright (c) <br />

Permission is hereby granted, free of charge, to any person obtaining a copy<br />

of this software and associated documentation files (the "Software"), to deal<br />

in the Software without restriction, including without limitation the rights<br />

to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br />

copies of the Software, and to permit persons to whom the Software is<br />

furnished to do so, subject to the following conditions:<br />

The above copyright notice and this permission notice shall be included in all copies or substantial<br />

portions of the Software.<br />

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS<br />

OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br />

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL<br />

THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR<br />

OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,<br />

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR<br />

OTHER DEALINGS IN THE SOFTWARE.<br />

Lähde: http://www.opensource.org/licenses/mit-license.html<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


22<br />

Monilisensointi<br />

• Yritys osallistuu ohjelmiston kehittämiseen ja haluaa<br />

hyödyntää tuloksia kaupallisesti<br />

• Copyleft –lisenssi estää kaupallisen hyödyntämisen<br />

• Moni/kaksoislisensointi tarjoaa mahdollisuuden julkaista<br />

samasta ohjelmasta kaksi versiota<br />

• Ilmainen esim. GPL-lisenssin alainen versio<br />

• Maksullinen kaupallisen lisenssin alainen versio<br />

• Ostaja voi käyttää tuotetta vapaammin esimerkiksi osana omaa<br />

suljettua ohjelmistoaan<br />

• Etuja mm. mahdollisuus ohjelmiston testaukseen ennen<br />

ostoa, uusien ominaisuuksien testaus (OS-versio), yhteisön<br />

tuki- ja jakokanavat<br />

• Haasteena käyttäjien siirtäminen maksaviksi asiakkaiksi<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


23<br />

Monilisensointi – dual license<br />

• Monilisensointia käytetään yleensä tilanteessa, jossa halutaan antaa mahdollisuus luoda suljettuja<br />

ohjelmistoja/sovelluksia käyttäen hyödyksi avoimen lähdekoodin pohjaa. Monilisensoinnin toinen lisenssi<br />

on jokin avoimen lähdekoodin lisenssi, joka vaatii saman lisenssin käyttöä levitettäessä muokattua<br />

teosta.<br />

• Oikeuksien (copyright) haltija levittää yleensä avointa versiona ilmaiseksi tai pientä korvausta vastaan ja<br />

saa voittoa myymällä suljettua/proprieatary lisenssiä kaupallisille toimijoille. Nämä voivat käyttää<br />

ohjelmistoa osana omaa liiketoimintaansa.<br />

• Yleensä ainoastaan oikeuksien omistajalla on oikeus muuttaa ohjelmiston lisenssiehtoja, joten<br />

ulkopuolisen osapuolen tekemien lisäyksien kanssa voi tulla ongelmia, mikäli he ovat käyttäneet<br />

sallivampaa lisenssiä - > virallisen koodin haltija ei voi sisällyttää lisäystä omaan rajoittavampaa lisenssiä<br />

käyttävään tuotteeseensa. Ongelman välttämiseksi yritykset voivat vaatia ulkopuolisilta kehittäjiltä<br />

sopimuksen, ennen työn hyväksymistä viralliseen lähdekoodiin.<br />

• Monilisensointia käyttävä taho voi hyötyä ohjelmiston jaosta copyleft –lisenssin alla mm. saamalla<br />

käyttöönsä muiden kehittäjien panoksen sovellusta kehitettäessä. Kontribuutio voi olla mm.<br />

käyttäjäyhteisön tuki (keskustelupalstat jne), yhteisössä leviävä “ilmainen” mainostus ja muutokset, joita<br />

on voitu tehdä copyleft-lisenssin alla.<br />

• Monilisensointia käyttävät mm, MySQL, Asterisk, Oracle, QT.<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


24<br />

Red Hat Linux – esimerkkinä lisensoinnista<br />

• Red Hat Enterprise Linux<br />

• Kaupallinen linux-jakelu, ilmainen versio Fedora/CentOS Linux<br />

• ”Enterprise –version perusta ja tuotekehityslaboratorio. Asiakkaat<br />

voivat ladata käyttöjärjestelmän, leikkiä sillä ja antaa palautetta. Tapa<br />

sitouttaa asiakkaita ja Linux-yhteisöä, kehittää ohjelmistoja sekä<br />

toimintamallimme ydin”, (Whitehurst, Tietokone elokuu/2010)<br />

• ”Nopea muuttuminen, innovointi ja edelläkävijyys etuja. Suuryritysten<br />

tuotantoympäristöjä varten Fedoran koodin jäädytys muutaman<br />

vuoden välein ja uuden RHEL:n version luonti. Sertifioitu versio, jolle<br />

mahdollista tehdä palvelutasosopimuksia. Kyse ns. vakaista biteistä”<br />

(Whitehurst, Tietokone elokuu/2010)<br />

• Tavoitteena tuottaa uuden sukupolven<br />

tietotekniikkaratkaisuja ns. pilvipalveluja<br />

• Sisältää virtualisointi-, käyttöjärjestelmä- ja sovelluskerrokset sekä<br />

sovelluspalvelut ja hallintatyökalut<br />

Lähde: Tietokone elokuu 2010<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


25<br />

Creative Commons<br />

• Perustettu 2001, voittoa tavoittelematon organisaatio<br />

• Pyrkii edistämään luovan työn tuotteiden levittämistä<br />

laillisessa muodossa<br />

• Tavoitteena yksinkertaiset ja helposti ymmärrettävät<br />

lisenssiehdot, lisänä graafiset kuvakkeet<br />

• Vuonna 2008 noin 130 miljoonaa lisensoitua työtä<br />

• Kuusi keskeistä lisenssiä<br />

• Nimi mainittava<br />

• Nimi mainittava + sama lisenssi<br />

• Nimi mainittava + ei jälkiperäisiä (ei muutoksia)<br />

• Nimi mainittava + ei kaupallinen<br />

• Nimi mainittava + ei kaupallinen + sama lisenssi<br />

• Nimi mainittava + ei kaupallinen + ei jälkiperäisiä<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


26<br />

Creative Commons<br />

• Tarjoaa useita lisenssejä, muodostuvat ehdoista<br />

• Nimi mainittava<br />

Annat oikeuden muille käyttää<br />

• Attribution (By) tuotostasi, mutta heidän on mainittava<br />

sinut alkuperäiseksi tekijäksi<br />

• Ei kaupalliseen käyttöön<br />

Esimerkiksi valokuvaa voi käyttää<br />

• Non Commercial (NC) julisteessa, mutta ei myydä ilman<br />

alkuperäisen omistajan lupaa<br />

• Ei jälkiperäisiä<br />

Tekijä ei salli muutosten tekemistä<br />

• Non Derivate (ND) alkuperäiseen tuotokseen<br />

• Sama lisenssi<br />

Muiden julkaistava tuotoksensa<br />

• ShareAlike (SA) samalla lisenssillä<br />

• Lisenssi<br />

”Nimi mainittava + Ei kaupalliseen<br />

käyttöön”<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


27<br />

Creative Commons<br />

• Nimi mainittava –lisenssi<br />

• Antaa oikeudet jakaa ja muokata tuotosta myös kaupalliseen<br />

käyttöön, kunhan alkuperäisen tekijän nimi mainitaan<br />

• Mukaan liitettävä<br />

• Copyright –merkinnät<br />

• Viittaukset alkuperäiseen tekijään - linkki kotisivulle<br />

• Viittaukset työn nimeen – linkki työhön/julkaisuun<br />

• Viittaukset CC-lisenssiin, jonka alla työ on julkaistu – linkki<br />

kyseiseen lisenssiin CC:n verkkosivuilla<br />

• Maininta, jos työ on muokattu versio alkuperäisestä – maininta<br />

”Tämä on käännös Aku Ankan työstä Ankkalinna<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Avoin & suljettu formaatti (3. tunti)<br />

• Avoin formaatti (open format)<br />

• Määritelmä digitaalisen datan tallennukselle<br />

• Yleensä hyvin dokumentoitu ja yleisesti saatavilla<br />

• Ei aseta rajoituksia loppukäyttäjälle<br />

• Jpeg 2000, png, open document, pdf<br />

• Ei-avoin formaatti (proprietary format) tai suljettu formaatti<br />

• Kehitetty yrityksen ohjelmiston tiedostomuodoksi<br />

• Patentti- tai tekijänoikeuksien alainen<br />

• Tarkoituksena suojata tiedostomuoto ja pitää hallinta omissa käsissä<br />

• Dwg (Autocad), psd (photoshop)<br />

• Osa siirtynyt avoimelle puolelle (pdf, 6/2008)<br />

<strong>Porin</strong> yksikkö


29<br />

Avoimen lähdekoodin ohjelmistoja<br />

• OpenOffice.org<br />

• Toimisto-ohjelmistopaketti vrt. Microsoft Office<br />

• Yhteensopivuus Microsoftin kanssa paranee koko ajan<br />

• Saatavilla useille käyttöjärjestelmille (Windows, Linux, Mac, Solaris)<br />

• Viimeisin versio 3.3 (8/2011)<br />

• www.openoffice.org<br />

• Gimp<br />

• Kuvankäsittelyyn tarkoitettu ohjelmisto<br />

• Linux ja Windows –käyttöjärjestelmille<br />

• Mukana useissa Linux –jakeluversioissa<br />

• www.gimp.org<br />

• Empathy<br />

• Usealla alustalla toimiva pikaviestinohjelmisto (Instant Messaging Client, IM)<br />

• Tukee mm. IRC, ICQ, MSN jne.<br />

• live.gnome.org/empathy<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


30<br />

Avoimen lähdekoodin ohjelmistoja<br />

• Freeradius<br />

• Avoimen lähdekoodin RADIUS –palvelin (Remote Authentication Dial In User Service)<br />

• Tarkoitettu käyttäjien tunnistamiseen ja liikennöinnin seurantaan (laskutus)<br />

• AAA – Authorization, Authentication & Accounting<br />

• www.freeradius.org<br />

• Nagios<br />

• Verkon ja palvelimien valvontaan<br />

• Lähettää hälytyksen ongelmatilanteessa ja kuittauksen verkon/palvelimen palautuessa<br />

normaalitilaan<br />

• Valvottavia palveluita mm. POP3, ICMP, HTTP, SSH, FTP<br />

• Voidaan monitoroida myös lämpötilaa, prosessorikuormaa, levytilaa ja lokien tilaa<br />

• Lisäosien määrä kasvaa jatkuvasti<br />

• www.nagios.org<br />

• Asterisk<br />

• Avoimen lähdekoodin puhelinvaihde<br />

• Voidaan toteuttaa tavallisella työasemalla, johon on lisätty esim. ISDN-kortti puhelinverkon<br />

liitynnäksi<br />

• Toteuttaa mm. vastaajapalvelun, soitonsiirron, soittosuunnitelmat ja VoiceMail –palvelun<br />

• Omien palveluiden toteuttamisessa mielikuvitus rajana… (Yyterin sää, vitsipalvelu,<br />

lukujärjestys)<br />

• www.asterisk.org<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


31<br />

Avoimen lähdekoodin ohjelmistoja<br />

• Apache<br />

• HTTP –palvelinohjelma<br />

• Käytössä n. 50% maailman palvelimista (n. 83 miljoonaa palvelinta)<br />

• HTTP –palvelun tarjoaminen ja lokin keräys (tilastotietoa ylläpitäjälle)<br />

• Muita ominaisuuksia mm. autentikointi, https, virtual hosting<br />

• www.apache.org<br />

• MySQL<br />

• Tietokantaohjelmisto<br />

• Ensimmäinen versio julkaistiin vuonna 1995<br />

• Kehittäjä MySQL AB (Ruotsi), tammikuussa 2008 osaksi Sun Microsystems:iä<br />

• Komentorivipohjainen, saatavilla työkaluja helpottamaan konfigurointia (esim. MySQL<br />

Administrator, phpMyAdmin)<br />

• www.mysql.com<br />

• Wireshark<br />

• Verkkoliikenteen analysointiin tarkoitettu ohjelmisto<br />

• Tunnettiin ennen nimellä Ethereal<br />

• Tehokas ja monipuolinen ohjelmisto käytetään verkkoliikenteen kaappaamiseen ja<br />

analysointiin<br />

• Näyttää mm. lähettäjän ja vastaanottajan osoitteet (MAC, IP), käytetyt protokollat<br />

• Kykenee VoIP (SIP) –puheluiden nauhoittamiseen, analysointiin ja toistamiseen<br />

• www.wireshark.org<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


32<br />

Unix-historiaa<br />

• Multics –projektin tavoitteena käyttöjärjestelmän kehittäminen<br />

GE-645 –alustalle.<br />

• Mukana MIT, AT&T Bell Labs ja General Electric.<br />

• AT&T Bell Labs – Ken Thompson & Dennis Richie kehittivät<br />

käyttöjärjestelmää PDP-7:lle (Space Travel –peli)<br />

• Unics sai alkunsa 1969<br />

• 70 –luvun alussa projektille uusi nimi: UNIX<br />

• Alkuaan assemblyllä (PDP-11/20), 1973 uudelleen C –kielellä<br />

(Richie)<br />

• 1970 –luvun aikana useita versioita<br />

• System 7 (versio 7) Unix vuonna 1979<br />

• AT&T lisensoi kaupallisen UNIX System III:n 1982 ja UNIX System<br />

V:n vuonna 1983<br />

• Berkeleyn yliopisto jatkoi mm. yliopistojen käyttöön tarkoitetun<br />

ilmaisen BSD Unix –käyttöjärjestelmän kehittämistä (v. 1977).<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


33<br />

Unix-historiaa<br />

• BSD:n pohjalta 1990 –luvulla FreeBSD, OpenBSD ja<br />

NetBSD<br />

• FreeBSD keskittynyt luotettavuuteen ja suorituskykyyn<br />

• www.freebsd.org<br />

• OpenBSD keskittynyt turvallisuuteen<br />

• www.openbsd.org<br />

• NetBSD keskittynyt skaalautuvuuteen ja toimivuuteen useilla<br />

alustoilla<br />

• www.netbsd.org<br />

• Unix –sukuisilla käyttöjärjestelmillä kaksi kehityshaaraa<br />

• BSD –perhe<br />

• System III & System V -perhe<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


34<br />

Unix-sukupuu<br />

Lähde: http://en.wikipedia.org/wiki/Unix_wars<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


35<br />

Unix(-like) -käyttöjärjestelmät<br />

Lähde: http://en.wikipedia.org/wiki/Unix-like<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


36<br />

Unix vai Unix-like?<br />

• UNIX on rekisteröity tavaramerkki, jonka oikeudet omistaa Open<br />

Group –järjestö<br />

• Aiemmin järjestö on julkaissut Single Unix Specification (SUS) –<br />

määritelmän<br />

• POSIX (Portable Operating System Interface for Unix), 1988<br />

• SUS versio 3 uusin versio (2002)<br />

• Kokoelma standardeja<br />

• Nykyään hallinnoi Austin Group<br />

• Useimmat kaupallisista tuotteista täyttävät määritelmän<br />

• Lisenssimaksu<br />

• Unix-like käyttöjärjestelmä<br />

• Muistuttaa UNIX-järjestelmää<br />

• Ei ole virallisesti SUS –määritelmän mukainen<br />

• Ei täytä määrityksiä ja/tai ei halua maksaa lisenssimaksua<br />

• Suurin osa nykyisistä jakeluista<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


37<br />

GNU/Linux<br />

• GNU/Linux<br />

• GNU –projekti alkoi vuonna 1983 (Richard Stallman)<br />

• GNU GPL 1989<br />

• Tavoitteena täysin vapaan käyttöjärjestelmän luominen<br />

• Projekti perustuu Unix –käyttöjärjestelmään, mutta ei ole UNIX (GNU<br />

is Not Unix)<br />

• Korostaa ohjelmiston vapautta – Vapaa ohjelmisto/Free Software<br />

• Miten ymmärrät käsitteet Free speech/Free beer?<br />

• Nykyään projektia hallinnoi Free Software Foundation (www.fsf.org,<br />

www.gnu.org)<br />

• 25. syntymäpäivä syyskuussa 2008, www.gnu.org/fry<br />

• Käyttää Linux-ydintä<br />

• GNU/Hurd käyttää Hurd –ydintä -> ei ole Linux<br />

• Hurd kehitys aloitettu 1990, nykyään saatavilla Hurd-jakeluversioita. Ei<br />

suositella vielä tuotantokäyttöön (kriittisiin tehtäviin)<br />

• Esimerkiksi Debian korostaa vapauttaa, josta nimi Debian GNU/Linux<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


38<br />

Linux-ydin<br />

• Linux-ydin<br />

• Linus Torvalds kehitti ensimmäisen ytimen vuonna 1991<br />

• Linus + UNIX = Linux, tosin Torvalds itse ei ollut aluksi innostunut nimestä (nimi Funetin<br />

FTP-palvelimen ylläpitäjältä)<br />

• Linux-ydin sai nopeasti kannatusta ja muodostui GNU/Linuxin keskeiseksi osaksi. Hurdin<br />

kehitys hidastui.<br />

• Ydin on käyttöjärjestelmän keskeinen osa tarjoten mm. laitteet ohjelmien käyttöön, sekä<br />

huolehtii käyttöoikeuksista ja resurssien jaosta ohjelmien kesken.<br />

• Linux –käyttöjärjestelmä koostuu<br />

• Linux- ytimestä (GNU GPL v.2)<br />

• Ydin toimii sovellusten ja laitteiston välillä<br />

• GNU-projektin käyttöjärjestelmäalustasta<br />

• Muista vapaista ohjelmista<br />

CPU<br />

Sovellukset<br />

Ydin<br />

Muisti Laitteet<br />

• Ilmainen/Vapaa<br />

• Torvaldsin mukaan termi avoin lähdekoodi sopii yritysten käyttöön paremmin kuin vapaa<br />

ohjelmisto (free software)<br />

• Voidaan kopioida, lähdekoodi seuraa jakelun mukana<br />

• Maksullisia versioita löytyy, yhteisö/yritys kokoaa ohjelmistopaketin ja tarjoaa sitä levitykseen<br />

asennusmedian ja/tai ohjekirjojen kanssa<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


39<br />

Käyttökohteita<br />

• Palvelimet, työasemat ja muut ympäristöt (sulautetut<br />

järjestelmät)<br />

• Nimi-, sähköposti- ja www-palvelimet sekä palomuurit<br />

• Yritys- ja kotikäyttö<br />

• Harrastajien, yhteisöjen ja pienten yritysten tuotteet, kuten<br />

palomuurit, tukiasemien muokkaus (Linksys)<br />

• Matkapuhelimet (esim. Android)<br />

• Saatavilla useina eri jakeluversioina<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


40<br />

Jakeluversiot<br />

• Jakeluversio, jakelu, jakelupaketti, levitysversio,<br />

distribuutio, distro (eng. distribution)<br />

• Tuotteistettu kokonaisuus, joka sisältää käyttöjärjestelmän,<br />

ohjelmistopaketin ja käyttöohjeet<br />

• Tukipalvelut ovat osana maksullisia jakeluita, ilmaisilla<br />

versioilla yleensä hyvin toimivat keskustelupalstat tai wikisivustot<br />

• Maksullisista versioista usein saatavilla maksuton jakelu,<br />

jolloin tukipalvelu ja/tai muu osa järjestelmää ei kuulu<br />

pakettiin<br />

• Fedora Core (testiversio) ja Red Hat Enterprise (yritysten<br />

käyttöön)<br />

• Eri Linux-jakeluversioita saatavilla useita kymmeniä<br />

• Ubuntu, Gentoo, RedHat, Fedora, Debian yms.<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


41<br />

Jakeluversiot<br />

• RedHat Linux<br />

• Yleisin kaupallinen jakeluversio (Enterprise)<br />

• Kehitys alkoi 1994<br />

• Työpöytäympäristöt KDE ja GNOME<br />

• Maksullisia lisäpalveluita saatavilla yrityksille (tukipalvelut)<br />

• Käyttää ainoastaan ”pitkään” testattuja ohjelmaversioita<br />

• RPM –paketinhallintajärjestelmä (RPM/RedHat Package Manager)<br />

• Fedora Core Linux<br />

• Perustuu RedHat Linuxiin<br />

• Redhatin ja Linux-yhteisön ylläpitämä ilmainen versio<br />

• Uusimmat ominaisuudet ns. testialusta RedHatille<br />

• CentOS<br />

• RedHat Enterprise Linuxiin perustuva ilmainen versio<br />

• Sisältää lähes kaikki RedHat-sovellukset<br />

• Samat päivitykset kuin RH Enterprisessa, mutta pienellä viiveellä<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


42<br />

Jakeluversiot<br />

• Debian GNU/Linux<br />

• GNU-lisenssiä käyttävä<br />

• Turvapäivitykset tulevat nopeasti<br />

• Debian paketinhallintajärjestelmä (deb –paketit)<br />

• Ubuntu perustuu Debianiin<br />

• Gentoo Linux<br />

• Käännetään lähdekoodeista ainoastaan tarvittavat ohjelmat<br />

• Optimoitu järjestelmä<br />

• Skriptit apuna ylläpitoon<br />

• Live-CD –jakelut<br />

• Ei vaadi asennusta kovalevylle<br />

• Useat jakelut kykenevät käsittelemään levyjä (ongelmatilanteissa tai uuden<br />

järjestelmän asennusvaiheessa apuna)<br />

• Voi käyttää esimerkiksi USB-muistia käyttäjän asetusten tallentamiseen<br />

• Ei tuhoa alla olevaa käyttöjärjestelmää – voidaan testata esimerkiksi Windowstyöasemassa<br />

• Usein uuden Linux-käyttäjän ensimmäinen askel<br />

• Hyvä tapa tutustua käyttöjärjestelmän ominaisuuksiin<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


43<br />

Jakeluversiot<br />

• Uuden Linux-käyttäjän kannattaa aloittaa laajasti käytössä<br />

olevalla jakeluversiolla<br />

• Vaikeuksien sattuessa kohdalle ongelmiin löytyy apu<br />

(keskustelupalstat, kaverit yms.)<br />

• Laitteistoyhteensopivuus yleensä hyvä (näytönohjaimet,<br />

verkkokortit yms.)<br />

• Tutustu ”omaan” jakeluusi hyvin – päivittäinen käyttö<br />

helpottuu<br />

• Osaamisen karttuessa kannattaa etsiä omaan käyttöön<br />

sopivin jakelu<br />

• Ratkaisussa voi painottaa mm. asennuksen helppoutta,<br />

vakautta, tietoturvaa, yksinkertaisuutta, räätälöitävyyttä<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


44<br />

Linux-käyttöjärjestelmä (4. tunti)<br />

• Komentorivi/kehote keskeinen osa käyttöjärjestelmää<br />

• Monipuolinen ja nopea, vaatii opettelua (vrt. MS-DOS)<br />

• Pääsy käyttöjärjestelmän kaikkiin ominaisuuksiin<br />

• Ei tarvitse klikkailla OK ja seuraava -nappeja<br />

• Palveluiden hallinta nopeaa<br />

• Palvelimissa usein ainoa tapa hallintaan<br />

• Graafinen käyttöliittymä<br />

• Windowsissa yksi graafinen käyttöliittymä, Linuxille saatavilla<br />

useita eri vaihtoehtoja<br />

• Rajattu mahdollisuus käyttöjärjestelmän hallintaan<br />

• Useimmiten jakeluversion mukana tulee GNOME ja/tai KDE<br />

• Ubuntun mukana GNOME, Kubuntun mukana KDE<br />

• Valintaan vaikuttavia tekijöitä mm. monipuolisuus, vakaus,<br />

nopeus ja ulkonäkö<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


45<br />

X Window System – X11<br />

• Linuxin graafisen ympäristön pohja on X Windows System (X11R7.7,<br />

kesäkuu <strong>2012</strong>), www.x.org<br />

• Vuodesta 1984 kehitys MIT:n toimesta (ennen nimellä W)<br />

• 1997 kehitys The Open Group:lle, 2004 X.org-säätiö<br />

• Kutsutaan myös nimillä: X, X Window System, X11 tai X Version 11<br />

• Käytössä myös kaupallisissa järjestelmissä<br />

• Tarjoaa mm. ikkunan piirto, siirto ja lomituspalvelun sekä tukee<br />

syöttölaitteita kuten hiiri ja näppäimistö<br />

• Client - Server tyyppinen ratkaisu<br />

• Palvelin keskustelee asiakasohjelmistojen kanssa<br />

• Näkökulma sovelluksen kannalta, ei käyttäjän<br />

• Käyttäjän pääte on palvelin ja ohjelma on asiakas<br />

• X tarjoaa palvelut (näyttö, I/O-toiminnot) -> palvelin<br />

• Sovellus käyttää palveluita -> asiakas<br />

• Suunniteltu etäkäyttöä varten<br />

• Komponentit toimivat verkkoläpinäkyvästi<br />

• Voivat olla samassa koneessa tai olla yhteydessä verkon ylitse<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


46<br />

X Window System – X11<br />

• X11:n rakenne<br />

Käyttäjän työasema<br />

Näppäimistö Hiiri Näyttö<br />

X palvelin<br />

X asiakas<br />

(selain)<br />

X asiakas<br />

(xterm)<br />

Verkko<br />

X asiakas<br />

(up2date)<br />

Etätyöasema<br />

Lähde: http://en.wikipedia.org/wiki/X_Window_System<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


47<br />

X Window System – X11<br />

• X11 ei itsessään sisällä työpöytäympäristöä<br />

• Ikkunamanagerin (Window manager) avulla voidaan käyttöliittymä muokata<br />

omaan makuun sopivaksi<br />

• Usein integroitu osaksi työpöytäympäristöä<br />

• Käsittelee mm. uuden ikkunan piirtopyynnöt ja päättää sijainnista<br />

• Näyttömanagerin (Display manager) tehtäviä<br />

• Graafisen sisäänkirjautumisikkunan toiminnot ja ulkoasu<br />

• Käyttäjän tunnistaminen<br />

• Käyttäjän valitseman ikkunamanagerin tai työpöytäympäristön käynnistäminen<br />

• Näyttömanagereita mm. xdm (X Display Manager), kdm (KDE) ja gdm (GNOME)<br />

– Xsession, oletusskriptit sisäänkirjautumiseen (~/.xsession kotihakemistossa)<br />

– Xservers, etä- ja paikallisten palvelimien lista<br />

– Xaccess, säännöt asiakkaan pääsynhallintaa varten<br />

• Istuntomanageri (Session manager) tallentaa istunnon tilan<br />

• Avoinna olevat ikkunat (sovellukset) ovat samalla paikalla seuraavan<br />

sisäänkirjautumisen jälkeen<br />

• Työpöydän tila tietyllä ajanhetkellä<br />

• Oletuksena xsm, KDE:ssä ksmserver<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


48<br />

Työpöytäympäristöt<br />

• Työpöytäympäristöistä yleisimpiä ovat KDE ja GNOME<br />

• Tarjoavat yhdenmukaisen ja helppokäyttöisen<br />

käyttöliittymän<br />

• KDE –ohjelmia voi ajaa GNOME –ympäristössä (ja<br />

päinvastoin), mikäli järjestelmässä on tarvittavat kirjastot<br />

• Tukevat teemoja, molemmissa mukana<br />

konfigurointityökalut ulkoasun ja käyttäytymisen<br />

muokkaamiseen<br />

• KDE:n uusin versio 4.7 ja GNOME:n 3.4<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


49<br />

Työpöytäympäristöt<br />

• Muita yleisesti käytössä olevia työpöytäympäristöjä ovat<br />

mm. XFCE4 ja Fluxbox<br />

• Etuina keveys ja muokattavuus, toimii vanhemmissakin<br />

koneissa<br />

• XFCE4:n uusin versio 4.10<br />

• Tavoitteena nopeus ja keveys, unohtamatta<br />

käyttäjäystävällisyyttä ja muokattavuutta<br />

• www.xfce.org<br />

• Fluxboxin uusin versio 1.3.2<br />

• Nopea, kevyt, muokattava<br />

• Esimerkkinäkymiä: www.fluxbox.org<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


50<br />

Linuxiin kirjautuminen (Luento 2)<br />

• Käyttäjätunnus/salasana case-sensitive (isoilla ja pienillä<br />

kirjaimilla eri merkitys)<br />

• Graafisessa sisäänkirjautumisessa voidaan valita<br />

• Kieli<br />

• Käytettävä työpöytäympäristö (KDE, GNOME…)<br />

• Sammutus tai uudelleenkäynnistys<br />

• Ulkoasua voi muokata haluamakseen<br />

• Perinteisellä tavalla kirjautuminen<br />

• Käyttäjätunnus + salasana, jonka jälkeen olet<br />

komentokehotteessa<br />

• Voit käyttää työasemaa normaalisti<br />

• Halutessasi käynnistää graafisen käyttöliittymän<br />

• startx (muokkaamalla konfigurointitiedostoa voit valita haluamasi<br />

ympäristön)<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


51<br />

Työpöytäkäyttö<br />

• Ylälaidasta löytyvät valikot, alalaidassa olevassa palkissa näkyvät<br />

avoinna olevat sovellukset sekä työpöydän valinta<br />

• Yleisimmät ohjelmat<br />

• Sovellukset (Applications)<br />

• Apuohjelmat, pelit, grafiikka, internet, toimisto, äänet ja video<br />

• Lisää/Poista sovelluksia (Ubuntu Software Center)<br />

• Tiedostonhallinta (Places)<br />

• Kotihakemisto, dokumentit, videot, verkkolevyt<br />

• Järjestelmä (System)<br />

• Järjestemän asetukset – näppäimistö, hiiri, tulostin, palvelut<br />

• Asetusten muuttaminen<br />

• Lisää työasemasi kieleksi suomi (vaatii uudelleen käynnistämisen)<br />

• System -> Administration -> Language Support<br />

• Valitse käynnistyksen yhteydessä kieleksi suomi (Options)<br />

• Pidä vanhat asetukset – This session only (kieli)<br />

• Pidä vanhat hakemiston nimet (Desktop vs. työpöytä)<br />

• Tutustu suomenkieliseen käyttölittymään<br />

• Omalla koneella (kotona) voit valita em. asetukset pysyväksi<br />

• Kirjaudu ulos ja vaihda kieleksi englanti<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Työpöytäkäyttö<br />

• Alkuasetukset<br />

• Päivitykset ajantasalle<br />

• Muut ajurit (esimerkiksi näytönohjain)<br />

• Restricted drivers – sisältävät ei-vapaata koodia<br />

• Terminal –kuvakkeen lisääminen paneeliin<br />

• Kellonaika 24h –muotoon<br />

• Sää<br />

• Sijainniksi Pori<br />

• Lämpötilayksiköksi Celsius<br />

• Tuulen nopeudeksi m/s<br />

<strong>Porin</strong> yksikkö


Työpöytäkäyttö<br />

• Selaimet<br />

• Firefox – vaihda aloitussivuksi www.google.fi (Preferences)<br />

• Halutessasi voit vaihtaa tallennushakemistoksi oman<br />

kotihakemistosi (/home/xxx)<br />

• Ota työkalupalkissa (toolbar) käyttöön pienet kuvakkeet ja<br />

teksti ja lisää Uusi välilehti- (New Tab) ja Tulostus (Print) –<br />

painikkeet palkkiin<br />

• Voit poistaa myös kirjanmerkkipalkin (Bookmarks Toolbar)<br />

halutessasi<br />

<strong>Porin</strong> yksikkö


Työpöytäkäyttö<br />

• Tulostimen asentaminen<br />

• Lisätään uusi tulostin (HP Laserjet 5M)<br />

• Käytetään HP JetDirect –muotoa<br />

• Tulostimen osoite (Host –kenttä) 193.167.92.73 (tarkista<br />

luokan tulostimen osoite luennoitsijalta)<br />

• Käytetty portti 9100<br />

• Valitse tulostimeksi HP Laserjet P3005<br />

• Vinkki: Mikäli kotitulostintasi ei löydy listalta, voit asentaa<br />

tulostimen käyttämällä PPD-tiedostoa. Tiedosto löytyy Windowsajuripaketista<br />

valmistajan kotisivulta.<br />

• Anna tulostimen nimeksi HP3005P-Testi<br />

• Listaan ilmestyy uusi tulostin, vaihda tulostimen paperikooksi<br />

A4 (oletuksena usein Letter)<br />

<strong>Porin</strong> yksikkö


Työpöytäkäyttö<br />

• Pikaviestimet<br />

• Empathy –sovellukseen voit lisätä useiden pikaviestimien<br />

tilejä (ICQ, MSN…)<br />

• Lisäys tapahtuu valitsemalla haluttu sovellus/protokolla ja<br />

antamalla käyttäjätunnus ja salasana.<br />

• MSN – kayttajatunnus@hotmail.com<br />

• Muut sovellukset vastaavalla tavalla<br />

<strong>Porin</strong> yksikkö


Työpöytäkäyttö<br />

• Sähköposti<br />

• Webmail yksinkertaisin tapa sähköpostien hallinnointiin<br />

• Evolution mukana jakelussa<br />

• Thunderbird laajalle levinnyt, myös Windows-versio<br />

• Asetukset<br />

• Nimi, sähköpostiosoite, vastaustiedot (reply-to) ja organisaatio<br />

• Palvelimen tyyppi, yleensä IMAP (POP3)<br />

• Palvelimen nimi (imap.ankkalinna.fi)<br />

• Käyttäjänimi<br />

– Oma käyttäjätunnus<br />

• Tietoturva-asetukset<br />

– TLS, portti 143<br />

– SSL, portti 993<br />

• Yleiset asetukset (tarkista sähköposti 10 minuutin välein jne)<br />

• Lähettävän postipalvelimen asetukset, yleensä SMTP<br />

• Palvelimen osoite<br />

• Tietoturva-asetukset<br />

• Aikavyöhyke<br />

<strong>Porin</strong> yksikkö


57<br />

Järjestelmän päivitys - Ubuntu<br />

• Käyttöjärjestelmän päivitys<br />

• Uudet versiot yleensä 1-2 kertaa vuodessa<br />

• Kevät/<strong>syksy</strong> (Ubuntu, OpenBSD)<br />

• Ubuntussa kaksi versiota<br />

• LTS – pitkäaikainen versio<br />

• Tuki 3 vuotta työpöytäkäytössä, 5 vuotta<br />

palvelinkäytössä<br />

• Puolivuosittainen julkaisu<br />

• Tuki 18 kuukautta<br />

• Suositellaan LTS-version käyttöä<br />

• Ubuntussa ”Päivitysten hallinta -> Uusi jakeluversio<br />

saatavilla”<br />

• Varmuuskopiot ennen päivitystä<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


58<br />

Ohjelmien asentaminen<br />

• Windows –ympäristöissä yleensä yksi asennustiedosto<br />

esimerkiksi setup.exe tai install.exe<br />

• Asennuslevy tai lataus internetistä<br />

• Linux-ympäristöissä pyritty keskitettyihin<br />

ohjelmakirjastoihin<br />

• Automatisoitu asennustiedostojen haku verkosta<br />

• Uusimmat versiot helposti saatavilla<br />

• Yleensä valmis paketti, joka ainoastaan puretaan ja<br />

kopioidaan oikeaan paikkaan<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


59<br />

Ohjelmien asentaminen<br />

• Asennus yleensä lähdekoodeista kääntämällä tai käyttäen<br />

jotain jakeluversion omaa paketinhallintajärjestelmää<br />

• Lähdekoodeista kääntö yleensä vähemmän käytettyjä<br />

ohjelmia tai asetusten muokkaamista vaativia ohjelmia<br />

• Paketinhallintajärjestelmien avulla asennus helppoa ja<br />

nopeaa<br />

• Yhtenäinen ja selkeä tapa asentaa ja poistaa ohjelmia yhdellä<br />

käskyllä<br />

• Graafinen tai komentokehoitepohjainen käyttöliittymä<br />

• Automatisointi helppoa - ei interaktiivisen asennuksen ongelmia<br />

(”next-next-ok”, turha odotus)<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


60<br />

Ohjelmien asentaminen - ongelmia<br />

• Pakettia ei löydy<br />

• Tarkista nimi<br />

• Pakettia voit etsiä paketinhallintajärjestelmän työkaluilla<br />

• Graafisen käyttöliittymän haulla<br />

• apt-cache search ”ohjelma” (Debian-perhe)<br />

• yum search ”ohjelma” (RedHat-perhe)<br />

• Riippuvuusongelmat eli ”Dependency hell”<br />

• Riippuvuusongelmat erityisesti vanhoja<br />

paketinhallintajärjestelmiä käytettäessä<br />

• Uusissa järjestelmissä pyritty ottamaan huomioon<br />

riippuvuudet ja niiden ratkaisu automaattisesti<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


61<br />

Ohjelmien asentaminen - ongelmia<br />

• Ohjelman asennus ei onnistu, koska tietty versio<br />

kirjastosta, ohjelmasta yms. puuttuu järjestelmästä<br />

• Useita riippuvuuksia – pieni ohjelma saattaa vaatia useiden<br />

komponenttien asennuksen<br />

• Pitkät riippuvuusketjut – A vaatii B:n, joka vaatii C:n jne.<br />

• Riippuvuuskonfliktit - Sovellus A vaatii kirjasto1.2:n ja sovellus B<br />

kirjasto1.3:n, jotka eivät voi olla yhtä aikaa asennettuna<br />

• ”Ympyräriippuvuudet” – Sovelluksen A versio 1.2 vaatii<br />

sovelluksen B, joka vaatii sovelluksen A versio 1.1:n<br />

• Ongelmaan ratkaisuna<br />

• Versionumerointi<br />

• Uudet paketinhallintajärjestelmät (yum/Fedora, YaST/SUSE…)<br />

• Asennusohjelman optiot<br />

• Nk. Stand-alone ohjelmat<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Ohjelmien asentaminen<br />

• Yksinkertaisin tapa asentaa ohjelmapaketteja on käyttää<br />

Ubuntun mukana tulevaa Synaptic Package Manager –<br />

paketinhallintaa (muihin tapoihin palataan myöhemmin)<br />

• Ohjelmapaketit haetaan keskitetyistä ohjelmalähteistä<br />

• Ohjelmien asennusjärjestyksenä suositellaan<br />

1. Ohjelmavarastot<br />

2. Yksittäiset Ubuntulle tehdyt paketit<br />

3. Lähdekoodeista kääntäminen<br />

• Kaikki tiedostot eivät toistu oletuksena (video/ääni)<br />

• Asennetaan tarvittavat paketit (koodekit, kirjastot, ohjelmat)<br />

• Usein tarvitaan mm. ubuntu-restricted-extras –paketti, jonka avulla<br />

käyttäjä voi katsella ja kuunnella useita ei-vapaita tiedostomuotoja (mm.<br />

mp3, flash) sekä käyttää muualta tuttuja kirjasintyyppejä (Arial, Times<br />

New Roman jne.)<br />

<strong>Porin</strong> yksikkö


Ohjelmalähteet<br />

• Oletuksena käytettävissä on tärkeimmät ohjelmalähteet<br />

• Vakaat ohjelmaversiot<br />

• Vapaita ohjelmia (ei tekijänoikeusongelmia)<br />

• Jakeluversioilla omat ohjelmalähteensä, toteutus vaihtelee<br />

• Ubuntulle voidaan lisätä uusia ohjelmalähteitä, jolloin käyttöön saadaan selvästi<br />

laajempi ohjelmavalikoima<br />

• Uusi ohjelmalähde lisätään paketinhallintaan lisäämällä uusi osoite<br />

• Medibuntu – Multimedia, Entertainment & Distractions In Ubuntu<br />

• Viralliset ohjelmavarastot varmistavat vakaan ympäristön<br />

• Main – pääohjelmavarasto, ainoastaan vapaita ohjelmia<br />

• Restricted – yleisiä ohjelmia joiden lisenssi ei ole täysin vapaa, mutta ovat<br />

Ubuntun kehittäjäryhmän tukemia<br />

• Universe – vapaita ohjelmia, ei suoraa tukea, käyttäjäyhteisön ylläpitämiä ja<br />

tekemiä<br />

• Multiverse – ei-vapaita ohjelmia, ei suoraa tukea, käyttäjäyhteisön ylläpitämiä<br />

• Backports – versiot, jotka ovat ilmestyneet Ubuntun julkaisujen välillä, versiot<br />

eivät tuettuja<br />

• Partner – yhteistyökumppaneiden ohjelmia, eivät vapaita ohjelmia<br />

<strong>Porin</strong> yksikkö


Ohjelmien asentaminen komentoriviltä<br />

• Komentoriviltä asentaminen ei vaadi graafista puolta<br />

(palvelimet)<br />

• Komentorivin avulla voit asentaa ohjelmia etänä<br />

esimerkiksi ssh-yhteyden ylitse<br />

• Ubuntulla/Debianilla useita mahdollisuuksia<br />

• apt-get<br />

• aptitude<br />

• dkpg<br />

• Ohjelmalähteiden lisääminen<br />

• /etc/apt/sources.list<br />

• apt-get update –komennolla lisätyt lähteet käyttöön<br />

• apt-key - varmistetaan ohjelmalähteen luotettavuus<br />

<strong>Porin</strong> yksikkö


Ohjelmien asentaminen komentoriviltä<br />

(Red Hat)<br />

65<br />

• Red Hat –pohjaiset käyttöjärjestelmät<br />

• Ohjelmat paketoitu .rpm –tiedostoiksi<br />

• Asennus rpm –komennolla (Rpm Package Manager)<br />

• Optioita mm. –i install, -u update,<br />

• Lisäksi kannattaa käyttää<br />

• –v verbose näyttää tietoa asennuksesta<br />

• –h näyttää etenemisen ”####”<br />

• hyödyllisiä erityisesti suurten pakettien yhteydessä<br />

• Ei osaa ratkaista riippuvuuksia<br />

• Asennuksen helpottamiseen yum –työkalu<br />

• YellowDog Updater, Modified<br />

• Osaa hakea riippuvuudet eli asentaa esim. puuttuvat kirjastot<br />

• Voidaan käyttää päivitysten automatisointiin<br />

• yum install ”paketin nimi”, yum search ”paketin nimi”<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


66<br />

Ohjelmien testiasennus<br />

• Asennetaan komentokehotetta käyttäen Wireshark –<br />

analysaattoriohjelmisto<br />

• Mitä tiedostoja asennetaan?<br />

• Mitä komentoja tarvitaan asennuksen aikana?<br />

• sudo aptitude update<br />

• sudo aptitude install wireshark<br />

• Varmistu, että ohjelman kuvake ilmestyi Internet-valikon alle<br />

• Muokkaa käyttöliittymä haluamaksesi<br />

• Esimerkiksi kuvakkeisiin nimet näkyviin (Start, Stop jne)<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Linuxin käynnistyminen<br />

• Tietokoneen ja käyttöjärjestelmän käynnistyminen<br />

<strong>Porin</strong> yksikkö<br />

• BIOS (Basic Input Output System) käynnistyy<br />

• Testaa mm. emolevyn, näytönohjaimen toiminnan (POST, Power On Self Test)<br />

• Alustaa kiintolevyn ja muut laitteet käyttöä varten<br />

• Tärkein toiminto on käynnistyslataimen (GRUB tai LILO) etsiminen kiintolevyn alusta<br />

• Käynnistyslatain aloittaa työnsä<br />

• Sijaitsee yleensä levyn alussa (MBR)<br />

• Lataa Initrd:n (Initial RAM Disk image), joka sisältää pakattuina käynnistyksen kannalta oleellisia moduuleita.<br />

• Initrd ei pakollinen käytettäessä itse käännettyä ydintä (kernel), joka sisältää tarpeelliset ajurit<br />

• Lataa ytimen käyttöön<br />

• Ydin ottaa järjestelmän haltuunsa<br />

• Alustaa järjestelmälaitteet ja liittää esimerkiksi levyosiot järjestelmään<br />

• Käynnistää Init-ohjelman, yleensä /sbin/init<br />

• Init määrää käynnistysjärjestyksen ja mitä käynnistetään (Ubuntussa upstart)<br />

• Lukee konfiguraation inittab-tiedostosta, yleensä /etc/inittab<br />

• Inittab-tiedostossa mm. ajotaso, käytetyt terminaalit, käytetyt skriptit<br />

• Init-skriptit /etc/ínit.d –hakemistossa (System V -tyyli) tai /etc/rc.d –hakemistossa (BSD -tyyli)<br />

• Voidaan käyttää palveluiden hallintaan<br />

– esim. apachen uudelleen käynnistäminen(/etc/init.d/apache restart)<br />

• Lopullinen järjestelmän käynnistymien Initin avulla<br />

• Sisäänkirjautuminen ja mahdollisesti graafinen käyttöliittymä<br />

• Sammutusvaiheessa Init hoitaa vaaditut prosessit


Ajotasot<br />

• Ajotaso (runlevel) on tila, jolla järjestelmä on kyseisellä<br />

ajanhetkellä tai taso, jolle järjestelmä voidaan siirtää<br />

• Yleinen tapa on kaksi ajotasoa – käynnissä ja<br />

pysähdyksissä<br />

• Linux (UNIX) –ympäristöissä ajotasoja on useita<br />

• Kukin ajotaso tarjoaa määrättyjä palveluita<br />

• Ei tarkoita käynnistysjärjestystä (1,2,3…)<br />

• Yleensä numeroitu 0-6 (7 kpl)<br />

• 0 = shutdown, S = single user mode (lähes aina 1), 6 = reboot<br />

• Muita tasoja<br />

• usean käyttäjän tila verkkotuella / ilman verkkotukea<br />

• graafisella käyttöliittymällä / ei graafista käyttöliittymää<br />

<strong>Porin</strong> yksikkö


Ajotasot<br />

• Komennolla init voidaan ajotasoa muuttaa<br />

• init 6 – järjestelmä käynnistyy uudelleen (vaatii pääkäyttäjän<br />

oikeudet)<br />

• init 0 – järjestelmä mm. kirjoittaa avoimet tiedostot levylle ja<br />

siirrytään tilaan, jossa virran katkaisu on turvallista<br />

• /sbin/runlevel –komento näyttää edellisen ja nykyisen<br />

ajotason<br />

• N 2 = edellistä ajotasoa ei ole, nykyinen taso on 2<br />

• Inittab –tiedostossa on määritetty eri ajotasoilla<br />

suoritettavat komennot<br />

• Muutokset tulevat voimaan komennolla init q tai seuraavan<br />

käynnistyksen yhteydessä<br />

• Ubuntussa ajotasoja voidaan muokata /etc/event.d –<br />

hakemistossa (upstart)<br />

<strong>Porin</strong> yksikkö


Komentotulkki<br />

• Komentotulkki eli shell on UNIX- ja Linuxkäyttöjärjestelmien<br />

tärkein yksittäinen osa-alue<br />

• Komentotulkki on komentorivipohjainen käyttöliittymä<br />

• Vastaanottaa komentoja ja tulkkaa ne ytimelle<br />

• Käynnistää komentoja ja välittää tulokset käyttäjälle<br />

• Osaa putkituksen eli edellisen komennon tulos ohjataan<br />

seuraavan komennon syötteeksi<br />

• cat /var/log/auth.log | grep ankka<br />

• Komentohistoria – edelliset komennot käyttöön (nuoli ylös)<br />

• Sanatäydennys – TAB –näppäin täydentää komennon,<br />

hakemiston tai tiedoston nimen<br />

• Aliakset eli komennon kutsuminen toisella nimellä (dir->ls)<br />

<strong>Porin</strong> yksikkö


71<br />

Komentotulkki<br />

• Ensimmäinen komentotulkki oli Bourne Shell (sh)<br />

• Mukana Unix Version 7:ssä<br />

• Jokaisessa Unix-like järjestelmässä mukana vähintään yksi<br />

sh-yhteensopiva komentotulkki<br />

• C Shell (csh) kehitettiin 1970-luvun lopulla<br />

• Nykyään korvautunut tcsh:lla<br />

• Yleisin komentotulkki on bash (Bourne Again Shell)<br />

• Muita komentotulkkeja mm. Almquist Shell (ash), Debian<br />

Almquist Shell (dash) sekä Korn Shell (ksh) OpenBSD -<br />

järjestelmissä<br />

• Eroja mm. monipuolisuudessa, ympäristömuuttujissa ja<br />

skripteissä<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Tiedostojärjestelmä<br />

• Tiedostojärjestelmä tarkoittaa<br />

• Juurihakemistosta (/) alkavaa hakemistorakennetta<br />

• Tietyllä osiolla sijaitsevaa hakemistorakennetta<br />

• Teknistä toteutustapaa, kuten ext4, ext3, reiserfs<br />

• Linux –ympäristössä hakemistot sijaitsevat usein omalla<br />

kiintolevyosiolla<br />

• Osiointi asennusvaiheessa, myöhempi muokkaus vaatii työtä<br />

• Yleisimmät osiot ovat /boot, / ja swap (virtuaalimuisti)<br />

• Jokaiselle osiolle voidaan valita oma tekninen toteutus esim.<br />

ext3<br />

<strong>Porin</strong> yksikkö


Tiedostojärjestelmät - hakemistorakenne<br />

• / -hakemisto<br />

• Linuxin hakemistorakenteen alku<br />

• Tiedoston tai hakemiston sijainti ilmaistaan polkuna, jonka ensimmäinen komponentti on /<br />

• Pakollinen osio asennuksen yhteydessä, jonka alle muut hakemistot voidaan luoda<br />

• /bin –hakemisto<br />

• Sisältää järjestelmäohjelmat (binaries), joilla järjestelmää käytetään (vrt. ipconfig.exe)<br />

• Kaikkien käyttäjien käytössä olevat ohjelmat<br />

• /boot –hakemisto<br />

• Sisältää tiedostot, joita käytetään järjestelmän käynnistyksen yhteydessä (ydin,<br />

käynnistyslataajat, konfigurointitiedostoja)<br />

• Jätetään usein liittämättä käynnissä olevaan järjestelmään (ei ”mountattu”)<br />

• /dev –hakemisto<br />

• Hakemistossa sijaitsevat laitetiedostot, joita käytetään laitekomponenttien hallitsemiseen<br />

• Kiintolevyt, kaiuttimet, cd-rom -asemat ovat laitetiedostoja<br />

• Kiintolevyyn (SATA) viitataan /dev/sda ja PATA-levyyn /dev/hda, osiot fyysisellä levyllä taas<br />

/dev/sda1, /dev/sda2 jne.<br />

<strong>Porin</strong> yksikkö


Tiedostojärjestelmät - hakemistorakenne<br />

• /etc –hakemisto<br />

• Järjestelmän konfigurointitiedostot, joita käytetään alustukseen, verkon sekä useiden<br />

palveluiden konfigurointiin<br />

• Usein kaikki käyttäjät näkevät hakemiston sisällön, mutta siellä sijaitseviin tiedostoihin on<br />

oikeudet vain pääkäyttäjällä (root)<br />

• Esimerkkinä /etc/fstab, joka sisältää tiedot kiintolevyn osioinnista<br />

• /home –hakemisto<br />

• Hakemistossa sijaitsevat kaikkien käyttäjien kotihakemistot (ei pääkäyttäjä)<br />

• Käyttäjän harri kotihakemisto on /home/harri<br />

• Kotihakemistossa sijaitsevat kunkin käyttäjän henkilökohtaiset konfigurointiedostot, jotka<br />

vaikuttavat mm. ssh-ohjelman toimintaan ja komentokehotteen ulkoasuun<br />

• /lib –hakemisto<br />

• Komentojen (ohjelmien) tarvitsemat kirjastot<br />

• /mnt –hakemisto<br />

• Hakemisto, johon ulkoiset tiedostojärjestelmät (laitteet) liitetään, alun perin mm. CD-ROM -<br />

asemat<br />

• CD-ROM –asema sijaitsee /mnt/cdrom –hakemistossa<br />

• Hakemiston alle voidaan tehdä omia lisäyksiä esim. USB-muistille (/mnt/usbimuisti) tai<br />

toisella palvelimella olevaan hakemistoon<br />

<strong>Porin</strong> yksikkö


Tiedostojärjestelmät - hakemistorakenne<br />

• /media –hakemisto<br />

• Uusi hakemisto siirrettäville medioille<br />

• USB-muistit, CD-ROM-asemat<br />

• /opt –hakemisto<br />

• Lisäohjelmille tarkoitettu hakemisto, joita ei haluta (esim. suljetut ohjelmat) sijoittaa usr –<br />

hakemiston alle<br />

• Asennettavat ohjelmat luovat tänne alihakemiston, johon ne asentuvat (/opt/ohjelma1)<br />

• /proc –hakemisto<br />

• Dynaamisesti luotava ns. virtuaalitiedostojärjestelmä<br />

• Käyttöjärjestelmä luo tiedoston sisällön ns. lennossa<br />

• Sisältää tietoa mm. ytimestä, muistista, prosesseista ja verkon laitteista<br />

• Prosessit näkyvät hakemistoina<br />

• Ytimen parametrien säätäminen /proc/sys –hakemistossa<br />

• echo ”1” > /proc/sys/net/ipv4/ip_forward asettaa IP -uudelleen ohjauksen päälle (reititys)<br />

• Osa tiedostoista ihmisen luettavissa olevaa selkeää tietoa, osa ei<br />

• Ohjelma voi lukea dataa virtuaalitiedostosta ja näyttää sen käyttäjälle ymmärrettävässä muodossa (top,<br />

lspci, apm, free)<br />

<strong>Porin</strong> yksikkö


Tiedostojärjestelmät - hakemistorakenne<br />

• /root –hakemisto<br />

• Pääkäyttäjän kotihakemisto<br />

• Varo sekoittamasta asennusvaiheessa juuriosioon (root filesystem)<br />

• /sbin –hakemisto<br />

• Ylläpitoon tarkoitettujen suoritettavien tiedostojen (komentojen)<br />

sijaintipaikka<br />

• Monia järjestelmän käynnistyksessä tarvittavia komentoja/tiedostoja<br />

• /tmp –hakemisto<br />

• Tilapäistiedostoille tarkoitettu paikka<br />

• Tyhjennetään usein sammutuksen tai uudelleen käynnistyksen<br />

yhteydessä<br />

• Useat ohjelmat käyttävät hakemistoa tilapäiseen sijoitukseen (helppo<br />

hallita, tiedostojen lukumäärä pysyy rajallisena)<br />

<strong>Porin</strong> yksikkö


Tiedostojärjestelmät - hakemistorakenne<br />

• /usr –hakemisto<br />

• Laaja hakemisto, jonka alihakemistoilla on useita toimintoja<br />

• Fedora 17 asentuu tämän hakemiston alle (mm. /bin ja /sbin symbolisia<br />

linkkejä)<br />

• /usr/X** X-ympäristön hakemistot<br />

• /usr/bin<br />

• /usr/sbin<br />

• /usr/lib &<br />

• /usr/include<br />

• /usr/man<br />

• /usr/src<br />

• /usr/local/src<br />

Järjestelmän kannalta ei kriittiset (binääri)tiedostot<br />

Ylläpitäjän käyttöön tarkoitetut ylläpitotiedostot, helpottavat<br />

järjestelmän hallintaa, eivät kriittisiä<br />

kääntäjä ja kirjastohakemistoja<br />

manuaalisivut<br />

ytimien lähdekoodin sijainti (/usr/src/linux – linkki käytössä<br />

olevaan versioon)<br />

paikalliset, omien ohjelmien lähdekoodit<br />

• /var –hakemisto<br />

• /var/log<br />

• /var/lock<br />

• /var/run<br />

• /var/spool<br />

sisältää järjestelmän lokitiedostot (alihakemistoja voi luoda<br />

omille lokeille)<br />

järjestelmäprosessien lukitustiedostot<br />

nykyistä ajotasoa varten luodut tiedostot<br />

”spoolatut” tiedot esim. tulostukset (tulostusjono)<br />

<strong>Porin</strong> yksikkö


Levyosiot ja tiedostojärjestelmät (3. luento)<br />

• Jokaiselle hakemistolle voidaan määrittää kiintolevyltä oma osio<br />

• Kullekin osiolle määritetään tiedostojärjestelmän tekninen<br />

toteutus, valinta ominaisuuksien perusteella<br />

• Journaloiva järjestelmä pitää kirjaa muutoksista levyllä omaan<br />

journalointitiedostoon<br />

• Äkillisen tilanteen, kuten virran katkeamisen tai järjestelmän<br />

kaatumisen jälkeen tiedostojärjestelmän eheys kyetään ylläpitämään<br />

• Yleisimmät tavat ext3 ja reiserfs (hyvä pienten tiedostojen kanssa,<br />

mahdollisesti poistumassa)<br />

• Uusin versio ext4 (ytimet 2.6.28 ->)<br />

• Eheytystuki (defragment), jota ei ole ext3:ssa<br />

• Alihakemistojen määrää lisätty (32000 -> 64000)<br />

• Levyosion maksimikoko 1 exatavu (Tera->Peta->Exa)<br />

• Tiedoston maksimikoko 16 teratavua<br />

• Taaksepäin yhteensopiva<br />

• Vaihto uudempaan versioon harkitusti<br />

• Google 1/2010 ext2 -> ext4<br />

<strong>Porin</strong> yksikkö


Fstab -tiedosto<br />

• /etc/fstab –tiedostossa sijaitsee tieto käynnistyksen yhteydessä<br />

järjestelmään liitettävistä tiedostojärjestelmistä<br />

• Fstabin asetukset ovat<br />

• Liitettävä laite – usein kiintolevyn osio tai cd-rom asema. Voi olla verkko-osoite<br />

• Liitoskohde – hakemisto, johon laite liitetään (/, /boot, swap:lla none)<br />

• Tiedostojärjestelmä – tiedostojärjestelmän tyyppi, kuten ext2, ext3, swap,<br />

iso9660 tai auto<br />

• Liitosasetukset – useita eri vaihtoehtoja<br />

• defaults (oletusasetukset)<br />

• async – kirjoitetaan tieto levylle, kun prosessoriaikaa on vapaana<br />

• sync – kirjoitetaan välittömästi<br />

• noauto - ei liitetä automaattisesti, hyvä tapa cd-asemien kanssa<br />

• ro – vain lukuoikeus, rw – luku- ja kirjoitusoikeus<br />

• user – tavallisilla käyttäjillä oikeus liittämiseen<br />

• users – tavallinen käyttäjä voi liittämisen lisäksi poistaa muiden tekemiä liitoksia<br />

(vaihtaa cd-levyn asemaan)<br />

• Lisäksi useita muita – man-sivu auttaa<br />

• Dump-parametri – varmuuskopionnin määritys (vanha tapa)<br />

• Tarkistus – tehdäänkö tarkistus sähkökatkon tai järjestelmän kaatumisen<br />

jälkeen. 0 = ei tehdä, 1,2 = tehdään<br />

• Juurelle (/) yleensä 1, muille osiolle 2<br />

<strong>Porin</strong> yksikkö


Fstab -tiedosto<br />

• Tiedostoon voi tehdä asetukset valmiiksi ja käyttää noauto<br />

–parametria<br />

• Helpottaa laitteen liittämistä jatkossa<br />

• /dev/sda2 /boot reiserfs noauto 0 2<br />

• Komento mount /boot liittää boot –osion järjestelmään<br />

• Muutokset tulevat käyttöön<br />

• komennolla mount –a<br />

• uudelleenkäynnistyksen yhteydessä<br />

• /proc –hakemiston laite none (virtuaalinen osio)<br />

<strong>Porin</strong> yksikkö


Fstab -tiedosto<br />

• Esimerkki fstab-tiedostosta<br />

/dev/hda2 /boot ext3 noauto,noatime 1 2<br />

/dev/hda7 / reiserfs noatime 0 1<br />

/dev/hda3 none swap sw 0 0<br />

/dev/cdrom /mnt/cdrom auto noauto,user,ro 0 0<br />

/dev/hda6 /mnt/windows vfat auto,user 0 0<br />

#/dev/fd0 /mnt/floppy auto noauto 0 0<br />

none /proc auto defaults 0 0<br />

shm /dev/shm tmpfs nodev,nosuid,noexec 0 0<br />

<strong>Porin</strong> yksikkö


Käyttäjät ja käyttöoikeudet<br />

• Linux/Unix –käyttöjärjestelmien suunnittelun lähtökohtana usean<br />

käyttäjän ympäristö<br />

• Käyttäjä kuuluu yhteen tai useampaan ryhmään<br />

• Tavallinen käyttäjä<br />

• Kirjoitusoikeudet kotihakemistoon ja /tmp -hakemistoon<br />

• Ei voi asentaa ohjelmia<br />

• Voi käyttää useimpia ohjelmia (selain, sähköposti jne.)<br />

• Ei voi muuttaa järjestelmän keskeisiä asetuksia<br />

• Verkkoasetukset, tulostimien lisääminen, palveluiden käynnistäminen/sammuttaminen<br />

• Prosessit/ohjelmat suoritetaan tietyn käyttäjän mukaisilla oikeuksilla<br />

• Oletuksena sisäänkirjautuneen käyttäjän oikeudet<br />

• Voi olla muun käyttäjän oikeudet esim. apache, tietoturvan lisäämisen vuoksi<br />

• Hyökkääjä/haittaohjelmalla ei näin oikeuksia koko järjestelmään<br />

hyökkäämiseen<br />

• Pääkäyttäjä on root<br />

<strong>Porin</strong> yksikkö


Pääkäyttäjä - root<br />

• Unix –sukuisissa käyttöjärjestelmissä ylintä valtaa pitää<br />

pääkäyttäjä eli root<br />

• Pääkäyttäjän kotihakemisto on /root<br />

• Kirjaudu ensin tavallisena käyttäjänä ja tarvittaessa vaihda<br />

pääkäyttäjäksi<br />

• Ubuntussa sudo -komento ja käyttäjän (tai rootin) salasana<br />

• Yleensä komento su – vaihtaa pääkäyttäjäksi ja kysyy pääkäyttäjän<br />

salasanan<br />

• Anna tarvittavat komennot (tiedoston muokkaus, palvelun<br />

käynnistäminen/pysäyttäminen)<br />

• Poistu pääkäyttäjätilasta komennolla exit (ei tarvetta Ubuntussa)<br />

• Tarkista ainakin kolme kertaa mitä olet ”roottina” tekemässä<br />

• Huolimattomuus johtaa suureen suruun<br />

<strong>Porin</strong> yksikkö


Käyttöoikeudet<br />

• Komentoja mm. chmod, chown, chgroup<br />

• ls –la näet käyttäjän, ryhmän ja oikeudet<br />

• r – lukuoikeudet (read), w – kirjoitusoikeudet (write),<br />

x – suoritusoikeudet (execute)<br />

• Oikeudet ilmaistaan kolmella numerolla, jotka koskevat kolmea<br />

ryhmää<br />

• ”ugo” – user, group, others<br />

• Käyttäjän oikeudet, käyttäjän ryhmään kuuluvien oikeudet, kaikki muut<br />

• 421 muoto 4=luku, 2=kirjoitus, 1=suoritus (0 = ei oikeuksia)<br />

• 4+2+1=7, kaikki oikeudet, 4+1=5, luku- ja suoritusoikeudet<br />

• 755 = käyttäjällä kaikki, ryhmän jäsenillä sekä kaikilla muilla luku- ja<br />

suoritusoikeudet<br />

• 777 kaikilla kaikki oikeudet…<br />

• ”sticky bit”, esim. /tmp –hakemistossa (ainoastaan<br />

tiedoston/hakemiston omistajalla ja rootilla oikeudet muokkaukseen)<br />

<strong>Porin</strong> yksikkö


85<br />

Peruskomennot<br />

• Hiirellä voi maalata halutun kohdan, keskimmäinen<br />

näppäin liittää tekstin<br />

• Pitkässä listauksessa (usean ruudullisen) voit liikkua<br />

edestakaisin<br />

• Shift + PageUp/PageDown<br />

• Shift + nuoli ylös/nuoli alas<br />

• Komentojen yleinen syntaksi<br />

• Komento [optiot] [kohteet]<br />

• Optioiden eteen yleensä viiva –<br />

• Pitkien optioiden eteen kaksi viivaa ”- - pitkäoptio”<br />

• Optioita voi yhdistellä –r –f = -rf<br />

• Kohteet erotellaan välilyönnillä<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Peruskomennot<br />

Manuaalisivut näkyviin<br />

• man ”komento”, esimerkiksi man man tai man ls<br />

• Hakemistoissa liikkuminen<br />

• cd – change directory,<br />

• cd kohdehakemisto esim. ”cd /etc”<br />

• cd Käyttäjän kotihakemistoon siirtyminen mistä tahansa<br />

• cd .. Yksi hakemisto ylöspäin hakemistopuussa<br />

• Listaus hakemiston sisällöstä<br />

• ls<br />

• ls –l<br />

• ls –a<br />

lyhyt muoto hakemiston sisällöstä<br />

pitkä muoto hakemiston sisällöstä<br />

tulosta myös pisteellä alkavat tiedostot<br />

(piilotiedostot)<br />

<strong>Porin</strong> yksikkö


Peruskomennot<br />

• Tiedoston kopiointi - cp<br />

• cp tiedosto kohdehakemisto/nimi<br />

• cp –i lähde kohde<br />

vahvistus ylikirjoittamiselle<br />

• cp –r lähdehak. kohdehak. kopioidaan sisältöineen<br />

rekursiivisesti<br />

• cp –a lähde kohde<br />

säilytetään attribuutit (omistaja<br />

yms.)<br />

• Tiedoston siirtäminen / uudelleen nimeäminen - mv<br />

• Kirjoittaa olemassa olevan tiedoston päälle!<br />

• mv tiedosto uusihakemisto/tiedostonimi<br />

• mv vanhanimi uusinimi<br />

• mv –i vanhanimi uusinimi<br />

vahvistus nimeämiselle<br />

<strong>Porin</strong> yksikkö


Peruskomennot<br />

• Tiedoston tai hakemiston poistaminen - rm<br />

• rm tiedosto<br />

• rm –i tiedosto<br />

• rm –f tiedosto<br />

• rm –r tiedosto<br />

(ole tarkkana poistamisen kanssa)<br />

kysy vahvistus poistamiselle<br />

Poista ilman vahvistusta<br />

Poista hakemisto rekursiivisesti<br />

(alihakemistoineen)<br />

• Uuden hakemiston luonti<br />

• mkdir hakemiston nimi<br />

• mkdir /tmp/testihakemisto<br />

• Uuden tyhjän tiedoston luonti<br />

• touch tiedostonimi<br />

• Jos tiedosto on jo olemassa, komento päivittää tiedoston muokkausja<br />

käsittelypäivämäärän<br />

<strong>Porin</strong> yksikkö


Peruskomennot<br />

• Eksyttyäsi lukemattomien alihakemistojen sekaan<br />

• Komento pwd (print working directory) näyttää sijaintisi<br />

• Komentokehotteesta ei aina selviä käyttäjätunnus, jolla<br />

olet kirjautunut<br />

• Komento whoami näyttää käyttäjätunnuksesi<br />

<strong>Porin</strong> yksikkö


Peruskomennot - tiedostojen etsintä<br />

• Tiedostojen etsintä komentokehotteessa<br />

• locate<br />

• Yksinkertainen ja nopea<br />

• Haku perustuu tietokantaan (päivitetään esim. kerran vuorokaudessa)<br />

• Ei löydä uusia, tietokannan päivityksen jälkeen lisättyjä tiedostoja<br />

• Tietokannan päivitys komennolla updatedb (pääkäyttäjänä)<br />

• locate bash<br />

etsii tiedostot, joiden nimessä tai polussa<br />

esiintyy bash<br />

• locate –i TieDOsto ei ota kantaa isoihin tai pieniin kirjaimiin<br />

• Huomioitavaa!<br />

• whereis<br />

– Ei hae tiedostoja esim. /tmp –hakemistosta tai kryptausta<br />

käytettäessä /home –hakemistoista, asetukset löytyvät<br />

/etc/updatedb.conf –tiedosta.<br />

– PRUNEPATHD/PRUNEFS –asetukset tärkeitä<br />

• Hakee nimen perusteella myös lähdekoodit, ohjelmat ja manuaalisivut<br />

<strong>Porin</strong> yksikkö


Peruskomennot - tiedostojen etsintä<br />

• Find<br />

• Monipuolinen<br />

• Ei käytä tietokantaa, vaan etsii hakemistopuusta (kokonaan tai osittain)<br />

• Komennolle voidaan antaa lisäparametreja eli ns. loogisia operaattoreita<br />

• find –name koe<br />

• find –name koe.*<br />

• find /var -type d –name www<br />

• find / -size +250k<br />

• Lisäoptioita paljon<br />

etsii tiedostoa koe<br />

etsii koe. alkuisia<br />

tiedostoja<br />

etsii hakemistoa www<br />

/var –hakemistosta<br />

etsii yli 250kt:n<br />

tiedostoja<br />

<strong>Porin</strong> yksikkö


Peruskomennot<br />

• Grep<br />

• Pääkäyttäjän usein käyttämä komento<br />

• Komentoa käytetään merkkijonon etsimiseen tiedoston sisältä<br />

• grep ntp /var/log/daemon<br />

Etsitään merkkijonoa ntp<br />

lokitiedostosta<br />

• Yhdistetään usein muihin komentoihin putken avulla<br />

• Perusidea Unix-käyttöjärjestelmissä on, että yksi komento osaa<br />

yhden asian hyvin. Yhdistelemällä käskyjä saadaan suoritettua<br />

monimutkaisia komentoja.<br />

• komento | grep root<br />

Etsitään root merkkijonoa<br />

komennon tulosteesta<br />

<strong>Porin</strong> yksikkö


Jokerimerkit<br />

• Komentotulkin suorittama jokerimerkin laajennus sopivaksi<br />

merkiksi<br />

• Jokerimerkkejä voidaan käyttää apukeinoina erilaisissa hauissa,<br />

järjestelmätiedostojen päivityksessä sekä varmuuskopioiden<br />

tekemisessä<br />

• ?<br />

• *<br />

• [abc]<br />

• [a-c]<br />

• [!abc]<br />

• ~<br />

• ~aku<br />

• ls *.{cc,h}<br />

mikä tahansa yksi merkki (ei koske pistettä nimen<br />

alussa)<br />

mikä tahansa merkki ja kuinka monta tahansa (ei koske<br />

pistettä alussa)<br />

mikä tahansa yksi merkki listasta<br />

mikä tahansa yksi merkki annetulta väliltä<br />

mikä tahansa yksi merkki, paitsi listatut<br />

käyttäjän kotihakemisto<br />

käyttäjän aku kotihakemisto<br />

aaltosulkuihin voidaan listata vaihtoehtoja (pilkuilla erotettuna)<br />

<strong>Porin</strong> yksikkö


Säännölliset lausekkeet - Regular<br />

expressions<br />

94<br />

• Säännölliset lausekkeet mahdollistavat tehokkaiden<br />

hakujen tekemisen eri tilanteissa<br />

• Perusmerkinnät<br />

• Merkkijono<br />

• [abc]<br />

• [^abc]<br />

• ^<br />

• $<br />

• \<br />

• \<<br />

• \><br />

• a|b<br />

• {N}<br />

• {N,}<br />

merkkijonon tulee esiintyä tässä muodossa<br />

jokin merkeistä abc tulee esiintyä tässä kohdassa<br />

mikä tahansa merkki paitsi luetellut<br />

haku rivin alusta<br />

haku rivin lopusta<br />

peittää erikoismerkin merkityksen haussa<br />

haku sanan alusta<br />

haku sanan lopusta<br />

merkki a tai b<br />

ab{5}c, merkki b täsmälleen 5 kertaa ”abbbbbc”<br />

merkki vähintään N kertaa<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Peruskomennot - Editorit<br />

• Komentokehotteessa voidaan käyttää useita tekstieditoreita<br />

• Käytetään mm. konfigurointitiedostojen muokkamiseen<br />

• Muista kommentoida (pvm, tekijä, syy yms.)<br />

• Alkuperäinen asetus kannattaa jättää tiedostoon poiskommentoituna (# tai ;) ja<br />

lisätä alapuolelle uusi asetus<br />

• Yleisimmin käytössä ovat nano ja vi<br />

• Nano on helppokäyttöinen ja nopea<br />

• nano tiedosto –komennolla avataan uusi tyhjä tiedosto tai muokataan<br />

olemassa olevaa tiedostoa<br />

• Alareunassa näkyvät yleisimmät komennot, komennossa näkyvä ^ tarkoittaa<br />

CTRL-painiketta (CTRL+X = exit)<br />

• nano –w tiedosto ei rivitä pitkiä rivejä automaattisesti<br />

• SUS määrittelee myös vi:n, joten SUS –käyttöjärjestelmissä on oltava vi.<br />

• Kehittyneempi versio on vim (VI iMproved)<br />

• Vi(m) perustuu kahteen tilaan<br />

• Muokkaustila (insert mode) – näppäilyt siirtyvät dokumenttiin<br />

• Normaalitila (normal/command mode) – näppäilyt ovat komentoja<br />

<strong>Porin</strong> yksikkö


Vi(m) -editori<br />

• Komento vim tiedosto avaa tiedoston normaalitilaan<br />

• Muokkaustilaan siirrytään komennolla i (a,o)<br />

• Muokkaustilassa voit poistaa ja lisätä tekstiä tavalliseen<br />

tapaan<br />

• Muokkaustilasta päästään pois Esc-näppäimellä<br />

• Tallennus<br />

• :w<br />

• :wq<br />

• Poistuminen<br />

• :q<br />

• :q!<br />

tallentaa muutokset<br />

tallenna ja lopeta<br />

Jos muokkasit tiedostoa, vi ei päästä pois<br />

Lopeta nyt vain… ! pakottaa poistumaan<br />

<strong>Porin</strong> yksikkö


Vi(m) -editori<br />

• Liikkuminen vi(m):ssä<br />

• Normaalitila<br />

• Nuolinäppäimin<br />

• hjkl (←↑↓→), muisto vanhasta näppäinkartasta<br />

• w yksi sana oikealle<br />

• b sanan alkuun<br />

• e sanan loppuun<br />

• 0(nolla) rivin alkuun<br />

• $ rivin loppuun<br />

• Muokkaustila<br />

• Nuolinäppäimin<br />

<strong>Porin</strong> yksikkö


Vi(m) –editori<br />

• Vi(m):ssä on kolme vaihtoehtoa tekstin lisäykseen<br />

• a(ppend)<br />

• A(ppend)<br />

Lisäys kursorin oikealle puolelle<br />

Lisäys rivin loppuun<br />

• i(insert)<br />

• I(nsert)<br />

Lisäys kursorin vasemmalle puolelle<br />

Lisäys rivin alkuun<br />

• o(pen)<br />

• O(pen)<br />

Lisäys seuraavan rivin alkuun (uusi rivi)<br />

Lisäys edellisen rivin alkuun (uusi rivi)<br />

<strong>Porin</strong> yksikkö


Vi(m)-editori<br />

• Merkkien ja rivien poistaminen<br />

• x<br />

poista tämä merkki (kursorin kohdalta)<br />

• 4x poista neljä merkkiä oikealle<br />

• dd poista tämä rivi (cut)<br />

• 3dd poista kolme riviä<br />

• D poista loppurivi<br />

• dw poista tämä sana<br />

• Muita komentoja<br />

• p liitä (paste) muistissa oleva (merkki, rivi, rivit)<br />

• u undo<br />

• J<br />

liitä (join) tämä ja seuraava rivi yhteen<br />

• 4J liitä tämä ja kolme seuraavaa riviä yhteen<br />

<strong>Porin</strong> yksikkö


Tiedoston sisällön listaus ja selaaminen<br />

• less<br />

• Monipuolinen tapa katsella tiedostoa<br />

• Selaus edestakaisin nuolinäppäimillä<br />

• less tiedosto avaa tiedoston sisällön näytölle<br />

• /merkkijono etsii merkkijonon seuraavan esiintymän<br />

• ”less is more”<br />

• ohjelmasta poistutaan komennolla q<br />

• more<br />

• Perinteinen tapa<br />

• Ei osaa selausta nuolinäppäimillä<br />

• cat<br />

• Lukee yhden tai useamman tiedoston ja tulostaa ns.<br />

standardiulostuloon (yleensä näytölle)<br />

• cat /proc/sys/net/ipv4/ip_forward näyttää tiedoston sisällön 0 tai 1<br />

(ip uudelleenohjaus päällä tai pois)<br />

<strong>Porin</strong> yksikkö


101<br />

Standardivirrat<br />

• Standardivirta (standard stream) tarkoittaa Unix/Linux –<br />

ohjelmien syöttö- ja tulostusvirtoja, joilla ohjelma<br />

kommunikoi ajoympäristönsä kanssa<br />

• Kolme tyyppiä<br />

• Standardisyöttö (standard input, stdin), #1<br />

• Oletussijainti, josta syöttötiedo saadaan<br />

• Standarditulostus (standard output, stdout) #2<br />

• Oletuskohde, johon tulostus ohjautuu<br />

• Standardivirhe (standard error, stderr) #3<br />

• Oletussijainti, johon virheilmoitukset ohjataan<br />

Lähde: Linux-sertifikaatti, IT-Press<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


102<br />

Standardivirrat<br />

• Perustilanteessa ohjelma käynnistetään päätteeltä, jolloin<br />

näppäimistö on standardisyöttö ja<br />

näyttö standarditulostuksen kohde.<br />

Näppäimistö<br />

#0 stdin<br />

#1 stdout Ohjelma<br />

Näyttö<br />

#2 stderr<br />

• Valikosta tai kuvakkeesta käynnistettäessä virheilmoitukset<br />

yleensä piilotiedostoon (ohjelma-errors) tai laitetiedostoon<br />

/dev/null<br />

• /dev/null on erikoistiedosto, johon lähetetty data poistetaan<br />

ohjaamatta sitä millekään ohjelmalle<br />

• ”Kurssipalautteen kohde /dev/null”<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


103<br />

Standardivirrat<br />

• Esimerkkejä<br />

• cat alj2010.txt<br />

• cat < ajl2010.txt<br />

• cat ajl2010.txt > /tmp/tiedosto<br />

• cat ajl2010.txt >> /tmp/tiedosto<br />

• cat ajl2010.txt 1> /tmp/tiedosto<br />

• cat ajl2010.txt 2> /tmp/errors<br />

lukee tiedoston sisällön ja kopioi<br />

sen standarditulosteelle (näyttö)<br />

sama kuin edellinen, mutta<br />

tiedoston sisältö ohjataan cat –<br />

komennon standardisyötteelle ja<br />

cat kopioi syötteen tulosteelle<br />

cat lukee tiedoston ja ohjaa<br />

sisällön stdoutin kautta tiedostoon<br />

sama kuin edellinen, mutta<br />

tiedoston loppuun (ei kirjoita<br />

päälle)<br />

sama kuin > ”ohjaus tiedostoon”<br />

virheet ohjataan tiedostoon, esim.<br />

tiedostoa ei ole olemassa<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Ympäristömuuttujat<br />

• Ympäristömuuttujilla voidaan muokata järjestelmän (komentotulkin) toimintaa<br />

• Muuttujia käytetään mm. kotihakemiston, hakemistopolkujen, käyttäjätunnuksen ja<br />

komentokehotteen ulkoasun määritykseen<br />

• Esimerkiksi muuttuja ”HOME” mahdollistaa käyttäjän omaan kotihakemistoon siirtymisen cd<br />

–komennolla. Arvoa vaihtamalla voidaan määrittää uusi hakemisto.<br />

• Muuttujat kirjoitetaan yleensä isoilla kirjaimilla<br />

• Määritykset (ns. login shell)<br />

• /etc/profile luetaan ensimmäisenä, kaikkia koskevat<br />

määritykset<br />

• ~/.bash_profile käyttäjän omat määritykset (1.)<br />

• ~/.bash_login käyttäjän omat määritykset (2.)<br />

• ~/.profile käyttäjän omat määritykset (3.)<br />

• Huomaa, että asetukset luetaan vain ensimmäisestä kotihakemistosta löytyvästä tiedostosta!<br />

Jos hakemistossa on .bash_profile ja .bash_login tiedostot, ainoastaan .bash_profilen<br />

asetukset tulevat voimaan.<br />

• ~/.bash_logout poistuttaessa luettavat asetukset<br />

• Määritykset (ns. non-login shell, alikomentotulkki)<br />

• Alikomentotulkki on uusi, aikaisemmasta komentokehotteesta käynnistetty komentotulkki<br />

(esim. komennolla bash)<br />

• ~/.bashrc käyttäjän asetukset<br />

<strong>Porin</strong> yksikkö


Ympäristömuuttujat<br />

• Bash –komentotulkkia käytettäessä komennot env ja export<br />

näyttävät kaikki ympäristömuuttujat<br />

• Voimassa oleva arvo selvitetään komennolla echo<br />

• echo $MUUTTUJA $=nykyinen arvo<br />

• Muuttujia ovat mm.<br />

• PATH<br />

• PS1<br />

• SHELL<br />

• LOGNAME<br />

• TERM<br />

polkumuuttuja eli hakemistot, joista<br />

komentoja etsitään<br />

komentokehotteen ulkonäkömuuttuja<br />

käytössä oleva komentotulkki<br />

käyttäjätunnus, jolla olet kirjautuneena<br />

käytettävän päätteen (24*80) tyyppi<br />

(vt100, xterm, terminal)<br />

<strong>Porin</strong> yksikkö


Ympäristömuuttujat<br />

• Käyttäjä voi asettaa arvoja ympäristömuuttujalle<br />

• export MUUTTUJA=uusiarvo Kumoaa olemassa<br />

olevan arvon!<br />

• export PATH=$PATH:/uusipolku Lisää uuden<br />

hakemiston vanhan<br />

polkumuuttujan perään<br />

• PATH – muuttujassa ei ole nykyistä työhakemistoa oletuksena<br />

• Ohjelma ei käynnisty, vaikka olet oikeassa hakemistossa<br />

• Kyseinen hakemisto PATH-muuttujaan yllä olevalla tavalla<br />

• Nykyinen työhakemisto PATH-muuttujaan lisäämällä . muuttujaan<br />

• export PATH=$PATH:.<br />

• Ei suositella käytettäväksi!<br />

• PS1 –muuttujalla voit vaihtaa esimerkiksi koneen nimen<br />

pitkään muotoon ”atk215.pori.tut.fi”<br />

• PS1=”\u@\H# ”<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Käyttäjät ja ryhmät (4. luento)<br />

• Käyttäjät<br />

• Jokaisella käyttäjällä henkilökohtaiset oikeudet<br />

• Tavallinen käyttäjä ei voi muuttaa järjestelmän kriittisiä<br />

asetuksia<br />

• Oikeudet räätälöidään tarpeen mukaan<br />

• Ryhmät<br />

• Ryhmien avulla käyttäjille voidaan antaa samat oikeudet<br />

nopeasti<br />

• Samoja oikeuksia tarvitsevat käyttäjät samaan ryhmään<br />

• Oikeuksien muokkaaminen nopeaa ryhmittäin<br />

• root –käyttäjä ylläpitäjä<br />

• Muut käyttäjät voivat muokata ainoastaan tiettyjä asetuksia<br />

<strong>Porin</strong> yksikkö


Käyttäjät<br />

• Lisääminen Gnome (Ubuntu) –ympäristössä<br />

• Käyttäjien lisääminen tapahtuu Users and Groups –ohjelmalla<br />

(System->Administration)<br />

• Oletuksena voit muuttaa ainoastaan omia asetuksiasi<br />

• Lisää uusi käyttäjä<br />

• Käyttäjänimi (yleensä pienellä kirjoitettu ”aankka”)<br />

• Koko nimi ”Aku Ankka”<br />

• Profiili (Ubuntussa)<br />

– Administrator (pääkäyttäjä) – Ei tavallisille käyttäjille<br />

– Desktop user (tavallinen käyttäjä) – yleensä paras vaihtoehto<br />

– Advanced Settings:<br />

» Kotihakemisto (/home/tunnus)<br />

» Komentotulkki (yleensä bash)<br />

» UID (User Identification) yleensä automaattinen (1000,<br />

1001...)<br />

– User privileges (laitteiden käyttöoikeudet, tulostimet yms.)<br />

<strong>Porin</strong> yksikkö


Käyttäjät<br />

• Lisääminen komentokehotteessa<br />

• (sudo) adduser käyttäjätunnus<br />

• Lisää automaattisesti käyttäjän<br />

• Antaa käyttäjän id:n (UID)<br />

• Luo uuden ryhmän (sama kuin käyttäjätunnus) ja antaa ryhmätunnisteen<br />

(GID)<br />

• Luo kotihakemiston (/home/tunnus)<br />

• Kopioi yleiset muuttujat /etc/skel –hakemistosta<br />

• Pyytää antamaan salasanan (kaksi kertaa)<br />

• Lisää muut mahdolliset yhteystiedot<br />

• Tallentaa asetukset (Is this information correct y/n)<br />

• Wheel –ryhmä<br />

• Useissa Linux-käyttöjärjestelmissä on wheel-ryhmä, jonka jäsenet<br />

voivat antaa su –komennon eli vaihtaa pääkäyttäjäksi. Mikäli su –<br />

komento ei toimi tarkista, että olet kyseisen ryhmän jäsen.<br />

<strong>Porin</strong> yksikkö


Käyttäjät<br />

• Käyttäjän ankka ja root erot (ympäristömuuttujat)<br />

• su<br />

• su –<br />

pääkäyttäjä, mutta käyttää samoja<br />

ympäristömuuttujia kuin alkuperäinen käyttäjä<br />

pääkäyttäjänä käyttäen omia ympäristömuuttujia<br />

• Ubuntussa sudo –i (ja sudo –s), ei suositella käytettäväksi<br />

• Huomaa ympäristömuuttujien erot eri käyttäjien välillä<br />

• Kaikki komennot eivät ole käytettävissä kaikilla käyttäjillä<br />

• Komento ei toimi? Oletko kirjautunut oikeana käyttäjänä?<br />

<strong>Porin</strong> yksikkö


Laitteiden liittäminen<br />

• Laitteet liitetään järjestelmään (mount)<br />

• Fstab-tiedoston määritysten mukaan<br />

• Käsin antamalla tarvittavat parametrit<br />

• Komento mount näyttää liitetyt laitteet<br />

• Laitteet poistetaan/irrotetaan järjestelmästä (umount)<br />

• Komento umount /hakemisto/alihakemisto tai /dev/laite<br />

irrottaa laitteen järjestelmästä<br />

• Usein data kirjoitetaan esim. usb-muistille vasta<br />

poisto/irrotusvaiheessa<br />

• Aina umount /hakemisto/liitospiste tai graafisesti (Unmount<br />

volume) ennen laitteen irrottamista<br />

• Cd-levyä poistaminen asemasta ei usein onnistu ilman<br />

irrotusta<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Peruskomennot – levytilan selvittäminen<br />

• Vapaa levytila<br />

• df<br />

• df –h<br />

näyttää vapaan levytilan jokaisesta<br />

liitospisteestä (mounttauksesta)<br />

näyttää tilan helpommin<br />

ymmärrettävässä muodossa (kilot,<br />

megat, gigat…)<br />

• Tietyn hakemiston käyttämä tila<br />

• du<br />

• du –h hakemisto<br />

näyttää käytetyn tilan hakemistoittain<br />

näyttää tietyn hakemiston viemän tilan<br />

(kilo/mega/giga)<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Prosessit<br />

• Ympäristössäsi on käynnissä jatkuvasti useita prosesseja, jotka<br />

hoitavat eri tehtäviä<br />

• Käyttäjän on ongelmatilanteissa hyvä tietää mm. prosessien<br />

käyttämä prosessoriaika (kuormitus), käytetty muisti jne.<br />

• ps<br />

• top<br />

• kill, pkill<br />

• pkill firefox<br />

näyttää käynnissä olevat prosessit ja niiden<br />

käyttämän prosessinumeron<br />

näyttää reaaliaikaisesti eniten prosessoriaikaa tai<br />

muistia käyttävät prosessit (ydinkohtaisesti ”1”)<br />

voit lopettaa epätoivotun prosessin, kuten<br />

”kaatuneen” ohjelman<br />

• kill -9 prosessinumero<br />

• kill prosessinumero<br />

lopettaa firefox-nimiset prosessit<br />

(ystävällisesti…, SIGTERM)<br />

lopettaa prosessin (aina!, SIGKILL)<br />

lopettaa prosessit (SIGTERM)<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Tar -komento<br />

• Tar (TapeARchiver) –komennolla luodaan nk. tar-palloja (tar-ball)<br />

• Tar tekee yhdestä hakemistosta (tiedostot + alihakemistot) yhden .tar<br />

-tiedoston<br />

• tar cvf tiedostonimi.tar /hakemisto<br />

• c = pakkaa, v=näytä eteneminen, f=tiedosto<br />

• f –option perässä täytyy olla tiedostonimi<br />

• Tar ei pakkaa, mutta pakkaus saadaan tehtyä ohjaamalla tar-pallo<br />

pakkausohjelmalle<br />

• tar cvzf tiedosto.tar.gz /hakemisto<br />

• z= käytä gzip-ohjelmaa (vaihtoehtoisesti j=bzip2)<br />

• Purku vastaavasti<br />

• tar xvzf paketti.tar.gz x = pura käyttäen gunzip-ohjelmaa<br />

• tar xvzf paketti.tar.gz –C /tmp purkaa paketin /tmp -hakemistoon<br />

<strong>Porin</strong> yksikkö


Verkkoasetukset<br />

• Linux- ympäristössä verkkoasetuksien muokkaus ei vaadi<br />

järjestelmän uudelleenkäynnistämistä<br />

• Asetuksia voidaan tarkastella komentokehotteessa<br />

• ifconfig<br />

• ifconfig laite up/down<br />

ifup/ifdown laite<br />

• ifconfig laite osoite maski gw<br />

näyttää nykyisten<br />

verkkolaitteiden tilan<br />

laitteen käynnistys tai<br />

sammuttaminen<br />

ip-osoitteiden<br />

määritys<br />

• ”ifconfig eth0 add 192.168.0.10 netmask 255.255.255.0 (bc 192.168.0.255)”<br />

<strong>Porin</strong> yksikkö


Verkkoasetukset<br />

• Jokaisella laitteella on olemassa reititystaulu<br />

• Taulussa tiedot IP-pakettien välitykseen<br />

• Kohde, yhdyskäytävä, (ali)verkkopeite, laite yms.<br />

• Reititysasetuksia voi muokata komentokehotteesta route –<br />

komennolla<br />

• Komentoa käytetään yleensä staattisten reittien luomiseen tietylle<br />

isäntäkoneelle tai tiettyyn verkkoon<br />

• Käytetään yleensä ifconfig –komennolla luotujen verkkolaitteiden<br />

liikenteen hallintaan (manuaalinen tapa)<br />

• route<br />

• route add/del<br />

näyttää nykyisen reititystaulun<br />

lisää/poistaa reittejä<br />

• route add –net 192.168.10.0 netmask 255.255.255.0 gw 10.10.10.254<br />

• IP -uudelleenohjaus päälle, jotta reititys onnistuu<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Linkit<br />

• Linkkejä käytetään tiedostoihin tai hakemistoihin viittaamiseen<br />

• Voidaan viitata useilla nimillä useista eri paikoista<br />

• Läpinäkyviä käyttäjän kannalta<br />

• Linkkityyppejä kova ja pehmeä<br />

• Kova linkki<br />

• Osiokohtaisia, vain pääkäyttäjä voi luoda<br />

• Luodaan komennolla ln tiedosto<br />

• Pehmeä eli symbolinen linkki<br />

• Voidaan viitata toiselle osiolle<br />

• Voidaan viitata hakemistoihin<br />

• Näkyy listauksessa l –tunnisteella<br />

• Alkuperäisen tiedoston poistaminen tai siirtäminen rikkoo linkin<br />

– Linkki jäljellä, mutta viittaus väärin<br />

• Esimerkiksi /usr/src/linux on linkki nykyisen ytimen hakemistoon<br />

• Luodaan komennolla ln –s tiedosto nimi (ei pakollinen)<br />

• Linkin poistaminen ei vaikuta alkuperäiseen tiedostoon<br />

<strong>Porin</strong> yksikkö


Järjestelmäkomentoja<br />

• Järjestelmän käynnistyessä prosessit tuottavat erilaisia<br />

diagnostiikka- ja informaatioviestejä<br />

• dmesg -komennolla voidaan kyseisiä viestejä tutkia jälkikäteen<br />

(järjestelmän ollessa käynnissä)<br />

• Komennon tuloste kannattaa suuren tietomäärän vuoksi ohjata<br />

esim. tail tai grep –komennoille<br />

• Muita hyödyllisiä komentoja<br />

• lspci<br />

• lsusb<br />

• uname<br />

Listaa tietoja pci-väylästä ja laitteista<br />

Listaa tietoja usb-väylästä ja laitteista<br />

Näyttää järjestelmätietoja, kuten ytimen<br />

versio, prosessorityyppi, koneen nimi<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Järjestelmäkomentoja<br />

• Järjestelmän käyttämien moduulien hallintaan on useita<br />

komentoja<br />

• lsmod<br />

Listaa käytössä olevat moduulit<br />

• modprobe<br />

• modinfo<br />

(/proc/modules –hakemistosta)<br />

(korvaa insmod ja rmmod –komennot)<br />

Lisää, poistaa ja asettaa moduuleita<br />

Näyttää tietoja moduulista<br />

• Käynnistyksen yhteydessä ladattavien moduulien hallinta<br />

/etc/modprobe.conf tai /etc/modules.conf (conf.modules)<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Ohjelmien kääntäminen<br />

• Ohjelmien kääntäminen lähdekoodista<br />

• Asenna tarvittavat kääntäjät (gcc)<br />

• Lataa ja pura lähdekoodipaketti<br />

• Siirry purkuhakemistoon ja lue README ja/tai INSTALLtiedostot<br />

• Aja komento ./configure, joka luo makefile -tiedoston.<br />

• Tiedosto voi olla valmiina<br />

• Tiedoston perusteella make kääntää ohjelman<br />

• (make config, make menuconfig tai ./install.sh)<br />

• Käännä ohjelma komennolla make<br />

• Vaihda pääkäyttäjäksi ja asenna binäärit komennolla make<br />

install<br />

• Ohjelma on valmis käytettäväksi<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Kernelin kääntäminen<br />

• Kernelin eli ytimen kääntämisen etuja<br />

• Räätälöity ydin tiettyä laitekokoonpanoa varten<br />

• Voidaan ladata ainoastaan tarvittavat ajurit ja ominaisuudet<br />

• Koko pysyy pienenä<br />

• Voidaan ottaa käyttöön ominaisuuksia, joita ei valmiissa<br />

kernelissä ole<br />

• Uusi ajuri, ominaisuus, toiminto<br />

• Kääntäminen ei välttämätöntä<br />

• Yleensä jakelun mukana tullut ydin toimii usealla<br />

laitekokoonpanolla<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Kernelin kääntäminen<br />

• Lataus jakelun paketinhallintajärjestelmän kautta<br />

• Lähdekoodi löytyy myös<br />

• www.kernel.org<br />

• ftp://ftp.funet.fi/pub/linux/kernel/<br />

• Konfigurointi esimerkiksi make menuconfig –komennolla<br />

• Tekstipohjainen käyttöliittymä<br />

• Valintoja mm. prosessori, verkkokortit, tiedostojärjestelmät<br />

• Tuloksena .config –tiedosto, jota käytetään seuraavien<br />

konfigurointien pohjana<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


SSH & SCP<br />

• SSH (Secure Shell)<br />

• Tatu Ylönen, 1995<br />

mahdollistaa turvallisen<br />

etäyhteyden verkon yli<br />

• Asiakas- ja palvelinohjelmisto (openssh) saatavilla useille<br />

käyttöjärjestelmille<br />

• ssh käyttäjä@palvelin<br />

• exit/logout sulkee yhteyden<br />

• SCP (Secure CoPy)<br />

mahdollistaa tiedostojen turvallisen<br />

siirtämisen verkon yli<br />

• scp tiedosto käyttäjä@palvelin:/kohdehakemisto/tiedostonimi<br />

• scp xxx.divx aankka@omaservu:/elavakuva/xxx.divx<br />

<strong>Porin</strong> yksikkö


SSHFS<br />

• SSHFS on kehitetty levyjakojen liittämiseen verkon yli<br />

• Komento<br />

• sshfs remoteuser@remotehost:/path/to/remote_dir local_mountpoint<br />

• Voidaan lisätä valmiiksi /etc/fstab -tiedostoon<br />

• sshfs#user@server:/share /hakemisto fuse user,allow_other 0 0<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Screen<br />

• Screen –komennolla voidaan luoda virtuaaliterminaaleja, joita<br />

käyttäjä voi hyödyntää mm. järjestelmän päivityksen yhteydessä<br />

• Virtuaaliterminaalissa toimiva ohjelma ei tarvitse toimiakseen<br />

näkyvää pääteikkuna<br />

• Ohjelma toimii taustalla<br />

• Peruskomentoja<br />

• screen –S<br />

• screen –S istunto<br />

• ctrl+a d<br />

• screen –x istunto<br />

• exit<br />

• screen –ls<br />

Virtuaaliterminaalin luonti<br />

Virtuaaliterminaalin luonti ja nimeäminen<br />

Poistuminen sammuttamatta terminaalia<br />

Virtuaaliterminaalin ”istunto” siirtyminen<br />

Virtuaaliterminaalin sulkeminen<br />

Listaa käynnissä olevat virtuaaliterminaalit<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Screen - esimerkki<br />

12<br />

6<br />

• Screen –komentoa voit käyttää esimerkiksi järjestelmän<br />

päivityksen tai muun aikaa vievän operaation yhteydessä<br />

• Kotona prosesin käynnistys:<br />

• screen –S istuntonimi<br />

• Anna haluamasi komento, kuten kernelin kääntämien<br />

• Poistu virtuaaliterminaalista komennolla ”ctrl+a d”<br />

• Töissä prosessin jatkaminen:<br />

• Ota ssh –yhteys kotipalvelimeen<br />

• Takaisin virtuaaliterminaaliin pääset komennolla screen –x istuntonimi<br />

• Kopioi uusi kerneli oikeaan paikkaan ja jatka ylläpitokomennoilla<br />

• Poistu ”ctrl+a d” ja sulje ssh-yhteys. Jatka päivitystä taas kotona.<br />

<strong>Porin</strong> yksikkö<br />

17.9.<strong>2012</strong>


Lokitiedostot<br />

• Lokitiedostot sisältävät tietoa<br />

• Järjestelmän ytimestä<br />

• Järjestelmän tarjoamista palveluista<br />

• Järjestelmässä olevista sovelluksista<br />

• Lokitiedostoja käytetään apuna<br />

• Ongelmanratkaisussa<br />

• Järjestelmän ylläpidossa<br />

• Tietoturvan hallinnassa<br />

• Logien kierrätys ja ajastus, työkalut<br />

• Lokitiedostoja kannattaa kierrättää esimerkiksi viikottain<br />

• logrotate ja cron -työkalut<br />

• head ja tail –komennoilla voit seurata lokien tilannetta<br />

<strong>Porin</strong> yksikkö


Palvelimien kellonajan synkronointi<br />

• Palvelimen kellonaika on oltava samassa synkronissa mm.<br />

lokitietojen ja varmuuskopioinnin toimivuuden varmistamiseksi<br />

• Tarkan ajan asettaminen käsin vaikeaa tai mahdotonta<br />

• Network time protocol (ntp) mahdollistaa automaattisen kellonajan<br />

päivityksen<br />

• Prosessi, joka hoitaa palvelun on ntpd (ntp daemon)<br />

• Konfigurointitiedosto /etc/ntpd.conf tai ntp.conf<br />

• server ntp.ubuntu.com tai vastaava<br />

• Stratum 0=”the atomikello”, 1=tarkistaa ajan 0:lta, 2= aika 1:ltä…<br />

• Lokitiedosto oletuksena /var/log/daemon.log<br />

• dtpq –p näyttää tilanteen<br />

• date –komennolla ensin koneen aika lähes oikeaksi<br />

• ntpd –q –g pakottaa kellonajan synkroniin<br />

<strong>Porin</strong> yksikkö

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!