syksy 2012 - Porin yksikkö
syksy 2012 - Porin yksikkö
syksy 2012 - Porin yksikkö
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ö