1. Linuxin perusteet
26.10.2007
Tampere
Miia Ranta
miia.ranta(a)coss.fi
KESKEYTTÄKÄÄ IHMEESSÄ HETI JOS TULEE
KYSYTTÄVÄÄ TAI KOMMENTOITAVAA!
2. Päivän asialistalla
● Linuxin kokeilu/LiveCD
● Linuxin asentaminen
● Linuxin käyttö
● Linux-järjestelmän hallintatyökalut (prosessit,
resurssit)
● Varmuuskopiointi
● Tehtävien ajastaminen
● Verkon konfigurointi ja verkkoliikenteen työkalut
● Järjestelmän käynnistys- ja sammutus
● Singlekoneen tietoturvapäivitykset
3. Sitä ennen...
● Linus Torvalds
– mies ytimen ja tavaramerkin takana
● *Nix
– Linux on Unixin ”murre”
● Avoin lähdekoodi
– Vapaa, Avoin, Ilmainen(?)
– GNU työkalut → GNU/Linux
– Eri levitysversioita
● RedHat, SuSe, Debian, Mandriva, Gentoo, Slackware...
joiden mukana käytettäviä sovelluksia
4. Ubuntu Linux
● Ensimmäinen julkaisu lokakuussa 2004
● Tällä hetkellä Distrowatchin mukaan suosituin
jakeluversio
● Perustuu Debianiin
– tavoitteena uusi julkaisu puolivuosittain
– tuki vähintään 18 kuukaudeksi, LTS-versioille
parhaimmillaan viideksi vuodeksi
● Taustalla monimiljonääri Mark Shuttleworth ja
Canonical Ltd.
● Kokeiltavissa LiveCD:ltä, josta voidaan myös
asentaa
5. Sillä välin...
● Unixit on suunniteltu monikäyttäjäympäristöön,
moniajoon
● Jakeluversioitten mukana tulee erilainen kooste
sovelluksia palvelin- ja/tai työpöytäkäyttöön
● Ubuntu tunnistaa melko hyvin eri laitteiston
osat, mutta jotkut kohdat saattavat tuottaa
ongelmia
– näytönohjain, oheislaitteet (tulostimet, skannerit
yms.)
6. Mitä se Linux sitten maksaa?
● ei mitään – äärettömän paljon
– Jakeluversiot itsessään eivät välttämättä maksa
mitään, mutta tuki voi maksaa
● käyttötuki
● päivitykset
● lisäominaisuudet
– Kaupallista ja/tai suljetun koodin ohjelmistoja on
Linuxillekin tarjolla
● Rauta ja työ maksaa aina
– halpa (ilmainen, OTO) tarkoittaa yleensä hitautta
7. Missä pingviini luuraa
● Palvelimissa
– www-palvelimet, sähköpostipalvelimet,
tiedostopalvelimet
● Sulautetuissa järjestelmissä
– reitittimet ja kytkimet, palomuurit, kortinlukijat,
puhelimet, ohjausjärjestelmät, rannekellot...
● Työpöydillä
– Kotona ja kouluissa, enemmän työpaikoillakin
9. Linuxin asentaminen
● Graafinen asennus alkaa olla yleinen, joko
LiveCDltä tai muuten
– näytönohjaimen nikottelu saattaa pakottaa
käyttämään pseudograafista asennusohjelmaa
● Ennen asennusta selvitettävä
– nettiasetukset, jos ei DHCP
– näytön virkistystaajuudet
– kiintolevy(je)n tyyppi (SATA, SCSI, PATA)
– CD-aseman tyyppi
10.
11.
12. Levyjen osiointi
● Vähintään kaksi osiota, swap ja muu
järjestelmä ( / )
● Suositeltavaa myös käyttäjien kotihakemistojen
(/home) pitäminen erillisellä osiolla, jolloin
mahdollisten ongelmatilanteiden ja
uudelleenasennuksen jälkeen käyttäjien
asetukset ja tiedot helposti palautettavissa
● Osioiden lukumäärästä riippumatta tiedostot
ovat yhdessä hakemistopuussa, johon osiot
liitetään
13.
14. Mitä ja missä
/ hakemistopuun juuri
/home kotihakemistot
/etc useimmat asetustiedostot
/var sähköpostit, www-sivut, tapahtumalokit
/dev (pseudo)laitteet
/usr /bin /sbin ohjelmia, jaettuja tiedostoja
/media, /mnt myöhemmin liitetyt
mediajärjestelmät (verkkojaot, CD:t, usb-muistit)
/tmp väliaikaistiedostot
15. Siirrettävät mediat, verkkolevyjaot
● Siirrettävät mediat, CD- ja DVD-levyt,
levykkeet, USB-muistit ja USB-muisteina
käyttäytyvät laitteet (mp3-soittimet, kamerat)
liitetään yleensä automaattisesti osaksi
hakemistopuuta /media -hakemiston alle
● Verkkolevyjaot on liitettävissä GNOMEn
työkaluin, mutta sellaiset eivät yleensä näy
osana yleistä levyjärjestelmää → eivät näy
komentoriviohjelmissa
– miten näkyviin ja toimimaan, myöhemmin
esityksessä...
16. Käyttäjätunnuksista ja -oikeuksista
● *Nixien käyttäjähallinta ja -oikeudet on
perinteisesti olleet hyvät, käyttäjällä ei esim. ole
oikeuksia asentaa ohjelmia tai kirjoittaa
kotihakemistonsa ulkopuolelle mitään
● Tärkeimmät toimet, ohjelmien asennukset yms.
tekee järjestelmän pääkäyttäjä, root
● yleensä rootille annetaan salasana...
– ei Ubuntussa!
17.
18. Miksei roottia?
● Asennusohjelmassa vähemmän kysymyksiä
● Yksi salasana vähemmän muistettavaksi
● Yksi askel lisää vaikeuttamassa koneen
kräkkeröintiä
● sudolla tehdyt toimet kirjautuvat paremmin
lokeihin
● Ei houkutusta kirjautua suoraan rootiksi
● Hieman ”hankaloittaa” tottumatonta ylläpitäjää
tekemästä suurta vahinkoa
● Oikeuksien delegointi turvallisempaa
20. Graafinen käyttöliittymä
● X on palvelin-asiakas -tyyppinen graafisten
käyttöliittymien toteuttamiseen tarkoitettu
protokolla, joka voi toimia myös verkon yli
– soveltuu erinomaisesti etäkäyttöön (SSH, VNC...)
● X-palvelin pyörii käyttäjän koneessa piirtäen
asiakasohjelman pyyntöjä näytölle ja toimittaen
hiiren ja näppäimistön syötteet eteenpäin
asiakasohjelmalla
21. X:n asetukset
● Jos kaikki on mennyt hyvin, Ubuntu on osannut
itse havaita laitteiston ominaisuudet ja
asettanut X:n tarvitsemat tiedot kohdalleen
LiveCD:llä
– jos ei, edessä on pseudograafinen asennus
● Jos kaikki asetukset eivät ole tyydyttävät,
parhaiten ja laajimmin asetuksia pääsee
muuttamaan tekstitiedostosta
/etc/X11/xorg.conf
● Sitä ennen kannattaa katsoa mm. lspci ja lsmod
-tulosteet
22. Tekstitiedostojen muokkaus
● Pääsääntöisesti kaikki Linuxin
järjestelmäasetukset ovat muokattavissa
tekstitiedostoissa, Ubuntussa ne sijaitsevat
yleensä /etc-hakemistossa
● Suosittuja editoreja vim, nano, emacs
– graafisella puolella myös gedit, kwrite, emacs, jne.
● Kaikissa Ubuntuissa tulee mukana nano, jota
ohjeet usein käyttävät tekstieditorina
● Käytetään terminaali(ikkuna)ssa
23. Ennen kuin unohtuu
● Terminaali-ikkunassa toimii myös ohjelma
nimeltä man
● Lähes kaikilla Linuxin ohjelmilla on man-sivu,
joka on useimmiten kaikkein parhain tietolähde
sille, mitä toimintoja ohjelmaan kuuluu
● man-sivut löytyvät myös Internetistä
● man-ohjelman voi lopettaa painamalla
näppäintä Q
24. nano
1) Avaa terminaali
2) nano /polku/tiedostonimi
3) Liikkumiseen nuolinäppäimet, home, end,
pgup, pgdown
4) muutamia komentoja
1) ^w (CTRL-W) tuo haku-dialogin
2) ^c kertoo rivinumeron
3) ^o tallentaa
4) ^x tallentaa ja lopettaa nanon
25. sudo ja gksudo / kdesu
● Ohjelmat, joita halutaan ajaa pääkäyttäjän,
rootin oikeuksin, voidaan käynnistää sudolla
(graafiset gksudolla tai kdesulla)
● /etc/X11/xorg.conf ei ole tavallisen käyttäjän
tallennettavissa, joten
sudo nano /etc/X11/xorg.conf
gksudo gedit /etc/X11/xorg.conf
kdesu kwrite /etc/X11/xorg.conf
● gksudo ja kdesu graafisten ohjelmien käynnistämiseen pääkäyttäjän
oikeuksin
26. Windows ja Linux ne yhteen soppii
● Asennusvaiheessa tutkitaan, majaileeko koneella
muita käyttöjärjestelmiä, esimerkiksi Windows
● Puhtaassa asennuksessa ensin asennettava
Windows, sillä se ei tunnista koneelle asennettua
Linuxia
● Käynnistysvaihtoehdoiksi asennetaan Linux (eri
ytimineen ja levitysversioineen myös vikasietotilaan),
muut havaitut käyttöjärjestelmät (Windows) ja
memtest86+ muistien tarkistukseen
● Käynnistysvalintoja ylläpitävä ohjelma on Ubuntussa
nimeltään GRUB
27. No milloin kuin Mars ja Venus?
● Erilainen ja erilainen ja eRilainen ovat erilaiset
● Tiedostotyypit tunnistetaan MIME-tunnisteen, ei
kolmikirjaimisen tiedostopäätteen mukaan
● Symbolisilla linkeillä voidaan komento ohjata
tarvittaviin hakemistoihin ja tiedostoihin
● Yhä useammin järjestelmän merkistö on UTF-8
● mm. virtuaalityöpöydät kuuluvat useimpiin
jakeluversioihin automaattisesti, Windowsissa
se hoidetaan näytönohjaimen ajureitten ja
lisäohjelmien kautta
28.
29.
30. Työpöytäympäristöstä
● Ubuntun kehitystyön alkaessa
työpöytäympäristöksi valittiin Gnome
● Muita vaihtoehtoja ovat
– KDE (Kubuntu)
– XFCE (Xubuntu)
– Enlightement
– IceWM ...
● Eri ympäristöt saattavat käyttää eri
käyttöliittymäkirjastoja → ohjelmat näyttävät
erilaisilta tai käytössä on eri ohjelmat
31.
32. Ohjelmien asennus
● Linux-jakeluiden mukana tulee runsaasti
ohjelmia, mutta ne eivät useimmiten riitä
● Ubuntussa esim. mp3-tuki tai toinen
työpöytäympäristö on asennettava esim.
Internetistä
● Useimmilla jakeluversioilla on oma ohjelmien
asennusmenettely, -ohjelma ja -paketit
– Lähdekoodeja voi toki käännellä ja asentaa,
useimmiten se ei ole kuitenkaan tarpeellista eikä
aloittelijalle suositeltavaakaan
33. Paketinhallinta (ohjelmien asennus)
● Ubuntu perustuu Debianiin, joka käyttää
pakkausformaattinaan .deb -muotoisia
paketteja
● Paketinhallintaan kuuluu se, että tarkistetaan,
mistä ohjelmista ja käyttökirjastoista
asennettava ohjelma on riippuvainen, ja
asennetaan myös ne
● Ohjelmia voidaan asentaa usealla eri tavalla,
myös komentorivillä
● Graafinen synaptic aloittelijalle turvallinen
34.
35. Singlekoneen tietoturvapäivitykset
● Ubuntun päivitysten hallinta voidaan asettaa
ilmoittamaan päivityksistä tai asentamaan ne
automaattisesti
● Ubuntu 6.06 LTS ”Dapper Drake” on
nimilyhenteensä LTS mukaisesti tuettu kauan,
joten ”kriittisessä” yritysympäristössä /
palvelinympäristössä se on ainakin tällä hetkellä
suositellumpi kuin muut versiot
● Keskitetty tietoturvapäivityspalvelin on melko
triviaali tehdä – kuitenkin se on kannattava vain,
jos kaistaa on rajoitetusti tai ylempi ylläpito haluaa
valvoa mitä koneille asennetaan
36. Update-manager
● Update-manager
hoitaa riippuvuudet
aivan kuten muu
paketinhallinta
● Ohjaa käyttäjän
käynnistämään
sovelluksia tai laitteen
uudestaan
tarvittaessa
37. Verkon konfigurointi,
verkkoliikenteen työkalut
● Historiansa vuoksi *Nixeissa on loistavat verkon
konfigurointimahdollisuudet ja verkkotyökalut
● Ubuntussa ja nykyään yleensä kaikissa
*Nixeissa ei ole oletusasennuksen jälkeen
mitään palvelintoimintoja päällä ja portteja auki
● Linuxin ytimeen on sisäänrakennettuna iptables
- palomuuri, jota voi konfiguroida myös graafisin
työkaluin
● Joillekin langattomille verkkokorteille ei ole
olemassa kunnollisia ajureita → ei toimi
38. Verkkolaitteet
● Verkkolaitteitten
hallinnassa voi
määritellä laitteen
käyttämään staattisia
tai dynaamisia IP-
osoitteita
● Asetuksille voi tehdä
myös sijaintiprofiileja
● Kannettavissa, joissa
WLAN, ei kovin
hyödyllinen
39. NetworkManager
● Langattoman
verkkokortin kanssa
toimivan kannettavan
ehdoton valinta
● Verkot valittavissa
helposti listasta
● WPA/WEP
-salauksen salasana
helposti muistiin ja
käyttöön
40. Firestarter
● firestarterilla saa
palomuurisäännöt
nopeasti koneeseen,
● Komentoriviltä ohjattu
iptables on kuitenkin
huomattavasti
joustavampi ja
paremmin
konfiguroitava
42. Muut työkalut ja ohjelmat
● MS-VPN on saatavissa toimimaan Ubuntussa
ja Linuxissa
– Uusimmassa Ubuntun versiossa VPN-asetukset
yhdistetty NetworkManageriin
● SSH-palvelimen ja -asiakasohjelman välillä
voidaan helposti välittää salattuna myös kuvaa
● SSH, FTP yms. verkkoprotokollan yli kulkevat
tiedostojaot on liitettävissä osaksi järjestelmän
hakemistopuuta FUSE:n avulla
43. SAMBA
● Linuxin saa jakamaan tiedostojaan Windows-
koneiden ymmärtämällä tavalla ja lukemaan
Windows-palvelimien tiedostoja SAMBAlla
● Levyjaot voi liittää komennolla mount
liitoshakemistoon, joka ensin tehdään
sudo mkdir /media/samba
sudo mount /media/samba //palvelin/jako -t smbfs
-o username=työryhmätunnus, password=salasana,
gid=${USER}, uid=${USER}
● /media :n alle liitetyt näkyvät yleensä
työpöydällä
44. Peruskäyttö
● Yhä suurempi osa Linuxin peruskäytöstä
voidaan tehdä graafisia työkaluja käyttäen
– kuvankäsittely, multimedia, toimistosovellukset,
sähköposti, www-selaus, ohjelmistokehitys,
pelaaminen
● Useimmissa ohjelmissa on kuitenkin enemmän
asetusmahdollisuuksia komentoriviltä
käynnistäessä erilaisin parametrein kuin
graafisen käyttöliittymän kautta
● Tehokäyttäjän / ohjelmistokehittäjän on jollain
tasolla hallittava komentorivityöskentely
46. Komentorivivinkkejä
● Aiemmin käytetyt komennot löytyvät nuolinäppäilemällä
ylöspäin
● Komentoja ja tiedostonimiä voi yrittää täydentää
sarkaimella
● > ohjaa ohjelman tulosteen tiedostoon, esim.
ls /media/cdrom > biisit.txt
● >> ohjaa tiedoston loppuun tyhjentämättä olemassa
olevaa sisältöä
● | putkittaa toiselle ohjelmalle, esim.
ps axu|grep soffice
listaa kaikki käynnissä olevat prosessit ja hakee sieltä ne
rivit, joissa on ”soffice”
47. Peruskomentoja, 1
● pwd – tulostaa missä hakemistossa työskentelet
● ls – listaa työhakemiston tiedostot ja hakemistot
● cd – siirtyy hakemistoissa
● mv – siirtää tiedostot tai hakemistot
● cp – kopioi tiedostot tai hakemistot
● mkdir – tekee uuden hakemiston
● rm – poistaa tiedoston
● rmdir – poistaa tyhjän hakemiston
● touch – luo tyhjän tiedoston tai vaihtaa
olemassaolevan päiväyksiä
48. Peruskomentoja, 2
● du – ilmoittaa tiedoston tai hakemiston
levynkäytön
● file – kertoo tiedoston ominaisuuksista
● chown – vaihtaa tiedoston tai hakemiston
omistajan
● chgrp – vaihtaa tiedoston tai hakemiston
ryhmän
● chmod – vaihtaa tiedoston tai hakemiston
oikeuksia
49. Peruskomentoja, 3
● cat – lukee tiedoston ulostuloon (ruudulle,
tekstiksi)
● grep – etsii rivin, jossa esiintyy haettava
● less – sivuttaa tiedon näytettäväksi ruudullinen
kerrallaan
● head – näyttää tiedoston alkua
● tail – näyttää tiedoston loppua
50. Peruskomentoja, 4
● which – etsii ajettavan ohjelman hakupolulta
● locate – etsii tiedoston
– locate vaatii toimiakseen, että sen käyttämä
hakutietokanta päivitetään aika ajoin; se ei löydä
edellisen päivityskerran jälkeen tulleita uusia
tiedostoja. Se kannattaa päivittää vähintään kerran
viikossa ja uusien ohjelmien asennuksen jälkeen
– Hakutietokanta päivitetään pääkäyttäjän oikeuksin
komennolla sudo updatedb
(ja se vie sitä kauemmin, mitä enemmän sillä on
päivitettävää)
51. Peruskomentoja, 5
● top – päivittyvä lista järjestelmän eniten tehoja
vievistä prosesseista
● ps – näyttää tietoa ajossa olevista prosesseista
● kill – lopettaa prosessin
● reboot – uudelleenkäynnistää koneen
● shutdown – sammuttaa koneen
52. Linuxin prosessienhallinta
● Linuxin prosessit voidaan saada näkyville mm.
topin ja ps:n kautta (ja graafisesti)
● Suositulla yhdistelmällä ps axu|grep ohjelma
saadaan selvitettyä, millä id:llä prosessia
ajetaan
● Ohjelma voidaan sen jälkeen tappaa killillä
ps axu|grep xfce4-terminal
myrtti 6019 0.2 3.3 51336 8620 ? Ss 19:31 0:26 xfce4-terminal
kill -9 6019
● Kannattaa kokeilla myös killall xfce4-terminal
53. Tausta-ajo
● Komentoriviohjelmia voi siirtää ajettavaksi
taustalle, jolloin terminaali-ikkunaa voi käyttää
muuhun eikä tarvitse jäädä odottamaan
ohjelman suorittamisen loppumista
● Käynnistäessä se onnistuu &-merkillä
sudo updatedb&
● Käytössä olevan terminaalin ajossa olevat
ohjelmat voi listata komennolla jobs
● Taustalla olevat ohjelmat voi nostaa etualalle
komennolla fg ja takaisin taakse komennolla bg
54. Tehtävien ajoittaminen
● Ohjelmien ajoittaminen käynnistymään
Gnomen käynnistyttyä onnistuu sen
istunnonhallinnan kautta
– Järjestelmä - Asetukset - Istunnot: Käynnistyvät
ohjelmat
● Tiettyyn aikaan suorittamiseen at
at 5pm
at>tracepath google.com
● Toistuvasti suorittamiseen tiettyyn aikaan ja
tietyin aikavälein crontab
55. crontab
● crontab on ohjelma, joka lukee tiedostoa
/etc/crontab
● Sen muoto on
mm hh pp kk viikonpäivä käyttäjä komento
esim.
07 * * * * myrtti xterm -e echo ”kello on seitsemää yli”
7 13 * * * myrtti xterm -e echo ”kello on seitsemää yli yksi”
* * 13 * 5 myrtti xterm -e echo ”perjantai kolmastoista”
0 * */3 * * myrtti xterm -e echo ”muista kastella kukat”
56. Varmuuskopiointi
● *Nixien alkuperäisen käyttöympäristön vuoksi
varmuuskopiointiohjelmat ja -ominaisuudet ovat
yleensä paremmat kuin Windowsien
● Tärkeimmät varmuuskopioitavat ovat käyttäjien
kotihakemistot ja asetustiedostot
/home
/etc
/var (jos sähköposti- tai www-palvelinkäytössä)
● /etc mahtuu hyvin pienellekin USB-muistille
57. Varmuuskopiointi etäpalvelimelle
● Jos konetta käytetään paljon ja hakemistojen
sisältö vaihtuu taajaan, kannattaa harkita
varmuuskopioiden tekemistä etäpalvelimelle
● Työkaluina voidaan käyttää esim. rsync
-ohjelmaa, jonka voi asettaa käyttämään
tiedoston siirtoon ssh-salattua yhteyttä
● rsync voidaan asettaa siirtämään vain ne
tiedostot, jotka ovat muuttuneet
● Palvelimelle ajastettu pakkausskripti, joka
pyörittää pakkauksia uusimmasta vanhimpaan
58. Pakkausohjelmat
● Pakkausohjelmista yleisimmät ovat zip, gzip ja
bzip2
– harvinaisempia useimmat kaupalliset ja/tai suljetut
● Usein varsinkin gzipiä ja bzip2:sta käytetään
yhdessä tar -ohjelman kanssa, joka kokoaa
tiedostoja yhteen
● tar itsessään soveltuu myös nauhojen ja
muiden moniosaisten
varmuuskopiointimedioiden käsittelyyn
60. Windows -ohjelmat
● Jotkut Windows-ohjelmat on mahdollista saada
toimimaan Linuxissakin WINEn kautta
● WINE on rajapintaohjelmisto ja -kirjasto, joka
muuttaa Windows-ohjelmien kirjastokutsut
Linuxin vastaaviksi
● WINEstä kehitetty mm. Crossover Office, MS
Office Linuxille ja Cedega pelaajille
● Varmin (hitain) ratkaisu on jakaa Windowsin
työpöytä esim. VNC:n kautta
61. Vielä muuta?
● Tulostaminen voi olla haasteellista
– PostScriptiä ymmärtävät tulostimet toimivat varmasti
– PXL -tulostimet toimivat useimmiten
● Skannerien kanssa tarvitaan hyvää tuuria
● WLAN -korttia ostaessa oltava tarkkana
● 3D-kiihdytyksen saaminen voi epäonnistua vaikka
käytössä olisikin oikeat ajurit
● Matkapuhelimen ja Linuxin yhteistyö
● Eksoottisempia ongelmia ratkaistessa englannin kielitaito
välttämätön
62. Järjestelmän sammutus ja
käynnistys
● Suorituskykysyistä Linux tallettaa
tiedostojärjestelmään kohdistuvat
kirjoitusoperaatiot kiintolevyn sijasta
keskusmuistiin ja ”synkronisoi” levyt kerran 30
sekunnissa.
● Mm. tästä syystä järjestelmästä ei koskaan saa
katkaista virtaa ajamatta sitä hallitusti alas
● Valikoista tai komentoriviltä:
shutdown -h now
● Virransäästöominaisuudet eivät välttämättä
toimi halutulla tavalla!
63. Jos tiedot loppuvat kesken...
● http://www.ubuntu-fi.org
● http://help.ubuntu.com/
● http://linux.fi
64. Maksullista tukea on olemassa!
... ja jopa suomeksi
● Osuuskunta Sange - http://www.linux-tuki.fi
● Inoi - http://www.inoi.fi
● Radiant Bytes - http://www.radiant.fi
● Stinghorn - http://www.stinghorn.com
● Tksoft - http://www.tksoft.com
● Jopa esiasennettuja laitteita:
LinuxComp - http://www.linuxcomp.net
65. Kiitokset
● Timo Jyrinki, Mikko Huovila ja Ubuntu Suomi
-yhteisö
– http://www.ubuntu-fi.org
– http://fi.wikibooks.org/wiki/Ubuntu_tutuksi
● Manu Setälä
Tämä diasarja on julkaistu Creative Commons 2.5 Nimi mainittava – Sama lisenssi
-lisenssillä. Kuvituksena käytetyt kuvakaappaukset ovat käytössä Suomen
tekijänoikeuslain sitaattisäännöksen mukaisesti niitä käsittelevän tekstin tai esityksen osan
kuvituksena.