Linux ylläpito, kevät 10

Samankaltaiset tiedostot
Linux-ylläpito, kevät luentokalvosetti Jani Jaakkola

Linux-ylläpito, kevät luentokalvosetti Jani Jaakkola

KYMENLAAKSON AMMATTIKORKEAKOULU. Ubuntu. Yukun Zhou

Valppaan asennus- ja käyttöohje

Sisältö IT Linux 2001:n uudet ominaisuudet IT Linux 2001:n yhteensopivuus Red Hat 7.0:n kanssa Asennuksen valmistelu

HAMINETTI WLAN LIITTYMÄN KÄYTTÖÖNOTTO-OHJE

Kytkentäopas. Tuetut käyttöjärjestelmät. Tulostimen asentaminen. Kytkentäopas

Linux-ylläpito, kevät luentokalvosetti Jani Jaakkola Viimeksi päivitetty

TW- EAV510 ketjutustoiminto (WDS): Kaksi TW- EAV510 laitetta

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Unix-perusteet. Unix/Linux-käyttöjärjestelmä ja sen ominaisuudet

Lumon tuotekirjaston asennusohje. Asennus- ja rekisteröintiohje

TW- EAV510 JA TW- LTE REITITIN: WDS- VERKKO

Järjestelmän asetukset. Asetustiedostojen muokkaaminen. Pääkäyttäjä eli root. Järjestelmänhallinnan työkalut

eduroamin käyttöohje Windows

Linux - käyttöoikeudet

1. päivä ip Windows 2003 Server ja vista (toteutus)

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Ti LÄHIVERKOT -erikoistyökurssi. X Window System. Jukka Lankinen

erasmartcard-kortinlukijaohjelmiston käyttöohje

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka

Yleinen ohjeistus Linux tehtävään

LANGATON TAMPERE: CISCO WLAN CONTROLLER KONFIGUROINTI

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Ubuntu. 1. Yleistä. 2. Versiot. 3. Rinnakkaisjulkaisut. 4. Mukana tulevat ohjelmistot. 5. Root-käyttäjä ja sudo. 6. Pakettienhallinta. 7.

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi)

Office ohjelmiston asennusohje

TW- EAV510 v2: WDS- TOIMINTO TW- EAV510 V2 LAITTEEN ja TW- LTE REITITTIMEN VÄLILLÄ. Oletus konfiguroinnissa on, että laitteet ovat tehdasasetuksilla

Mobiililaitteiden ja sovellusten tietoturvallisuus mihin tulee kiinnittää huomiota?

Linux. Alkutarkistukset

erasmartcardkortinlukijaohjelmiston

SoundGate. Bernafon SoundGate. Näppäinlukko. Äänenvoimakkuuden ja ohjelman vaihtaminen. Puhelu. Musiikki/audio-painike. Bluetooth -painike

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Visma Avendon asennusohje

SISÄLLYS 1 YLEISTÄ VERSIOT Tukiaika Variaatiot OHJELMISTO Paketinhallinta Komentorivisyntaksi

DNS- ja DHCPpalvelut. Linuxissa. Onni Kytönummi & Mikko Raussi

Tietokoneet ja verkot. Kilpailupäivä 1, keskiviikko Kilpailijan numero. Server 2003 Administrator. XP pro Järjestelmänvalvojan

TUTUSTUMINEN LINUX-KÄYTTÖJÄRJESTELMÄÄN

Action Request System

Tulostimen asentaminen Software and Documentation -CD-levyn avulla

Laitteessa tulee olla ohjelmisto tai uudempi, tarvittaessa päivitä laite

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

AirPrint-opas. Tämä käyttöopas koskee seuraavia malleja:

KEMI-TORNIONLAAKSON KOULUTUSKUNTAYHTYMÄ LAPPIA LANGATON VIERAILIJAVERKKO 2(7) VERKKOYHTEYDEN MÄÄRITTELY WINDOWS XP:LLE (WINDOWS XP SP3)

HY:n alustava ehdotus käyttäjähallintotuotteesta

RICOH Ri 100/RICOH Ri 100 Pink/ RICOH Ri 100 Green Lisätietoja langattoman LANin käyttäjille

Työsähköpostin sisällön siirto uuteen postijärjestelmään

Foscam kameran asennus ilman kytkintä/reititintä

Yleistä tietoa Windows tehtävästä

TW- WLAN ac SOVITTIMEN ASENNUSOHJE

Ohje digitaalisessa muodossa olevan aineiston siirtoon ja allekirjoittamiseen vaadittavien avainten muodostamisesta

TW- EAV510 v2: WDS- TOIMINTO KAHDEN TW- EAV510 V2 LAITTEEN VÄLILLÄ

Käyttöohje Suomen Pankin DCS2-järjestelmään rekisteröityminen

Linux palomuurina (iptables) sekä squid-proxy

Asennusohjeet HIITed palvelun asentamiseen

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps

ANVIA ONLINE BACKUP ASENNUSOPAS 1(7) ANVIA ONLINE BACKUP ASENNUSOPAS 1.0

TeleWell TW-WLAN g/n USB

Linuxissa uusi elämä 1

D-Link DSL-504T ADSL Reitittimen Asennusohje ver. 1.0

TW-EAV510AC mallin ohjelmistoversio

Tietoturvan perusteet - Syksy SSH salattu yhteys & autentikointi. Tekijät: Antti Huhtala & Asko Ikävalko (TP02S)

Asennusohje. 1. Laitteen asentaminen. 2. Ohjelmiston asentaminen. Käyttöpaneelisivu

OHJE Jos Kelaimeen kirjautuminen ei onnistu Mac-koneella Sisällys

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

1. Sähköinen tunnistautuminen KTJ-rekisterinpitosovellukseen

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Yhteydensaantiongelmien ja muiden ongelmien ratkaisuita

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE:

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

VMU-C EM. Asennus ja käyttö

T&M Autori Versio Series 60 -puhelimiin

Tiedostojen siirto ja FTP - 1

Asenna palvelimeen Active Directory. Toimialueen nimeksi tulee taitajax.local, missä X on kilpailijanumerosi

LINUX-HARJOITUS, MYSQL

Option GlobeSurfer III pikakäyttöopas

Ohje sähköiseen osallistumiseen

Febdok 6.0 paikallisversion asennus OHJEISTUS

ANVIA VARMUUSKOPIOINTI 2.3

SSH Secure Shell & SSH File Transfer

Tietoturvan Perusteet Yksittäisen tietokoneen turva

Unix-perusteet. Tiedosto-oikeudet

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Kytkimet, reitittimet, palomuurit

Tekninen Tuki. Access Point asennusohje

VERKON ASETUKSET SEKÄ WINDOWSIN PÄIVITTÄMINEN

Linux: Virransäästö. Jani Jaakkola

Reolink WiFi valvontakameran käyttöohje

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka. Joni Korjala APACHE WWW-PALVELIN Seminaarityö 2012

Yhteistyökumppanit kirjautuvat erikseen annetuilla tunnuksilla osoitteeseen

Elisa Oyj 1 (19) Pulse Secure VPN-sovelluksen asennus ja käyttö. Sisällys

Digikamera. Perustietoa digikamerasta ja kuvien siirtämisestä tietokoneelle

Opas Logitech Harmony 525 asennusohjelmistoon

Hallintatyökaluja Fujitsu-työasemille

ARKIPÄIVÄN SUOMEA-ohjelma vaatii toimiakseen multimedia-pc:n, jossa on seuraavat tekniset ominaisuudet ja ohjelmat asennettuna.

JOVISION IP-KAMERA Käyttöohje

Taitaja 2015 Windows finaalitehtävä

Linux ylläpitäjän opas. Tärkeimmät komennot, logit ja muuta hömppä *^_^* by Hannu Laitinen ETA14KT

Transkriptio:

Linux ylläpito, kevät 10 Jani Jaakkola jjaakkol@cs.helsinki.fi http://www.cs.helsinki.fi/u/jjaakkol/lyp2010/

Kalvosetin 3 asiat Ohjelmistopakettitietokannat RPM DEB Käyttäjätunnukset ja käyttäjien autentikointi Verkkolaitteet Bluetooth Audio 2

Ohjelmistopakettitietokannat Tyypillinen Linux distribuutio koostuu useista sadoista erilaisista ohjelmistoista ja oheistiedostoista Ohjelmistojen välillä on riippuvuuksia Ohjelmistot tarvitsevat toimiakseen kirjastoja, palveluita, tiedostoja, toisia ohjelmia, jne... Tavallisesti vielä jonkin tietyn version Distribuution mukana asentuu pakettitietokanta Jokainen tiedosto on osa jotain ohjelmistopakettia Ohjelmistopakettitietokanta pitää yllä tietoa asennetuista ohjelmistopaketeista, versioista, pakettien sisältämistä tiedostoista ja pakettien välisistä riippuvuuksista Pakettienhallintaohjelmat ylläpitävät tietokantaa ja voivat kieltäytyä asentamasta ohjelmistoja, jotka eivät puuttuvien riippuvuuksien vuoksi toimisi Metapaketit eivät itse tee mitään, mutta sisältävät ohjelmistokokonaisuuksia riippuvuuksinaan 3

Ajoaikaiset päivitykset Unixeissa auki olevan tiedoston voi poistaa tiedostojärjestelmästä Jos prosessilla on muistiavaruudessaan kirjastotiedosto, voi tiedoston poistaa näkyvistä tiedostoavaruudesta, ilman että prosessin muistiavaruudelle käy huonosti Paketinasennusohjelma kirjoittaa asentamansa tiedostot tilapäisillä nimillä, sitten suorittaa rename() systeemikutsun, jolla vanhat tiedosto mahdollisesti poistetaan tieltä Vanhat tiedostot siivotaan pois viimeiseksi Jos uudet tiedostot ovat yhteensopivia vanhan käynnissä olevan ohjelmiston kanssa tai jos vanha käynnissä oleva ohjelmisto ei edes yritä avata niitä, järjestelmä jatkaa toimintaansa normaalisti Vanhat tiedostot voivat jäädä roikkumaan; lopullisesti ne poistuvat vasta kun kone käynnistetään uudelleen 4

Pakettivarasto (repository) Distribuution oletusasennuksen mukana tulee rajallinen määrä ohjelmistoja Distribuutio tarvitsee mekanismin ohjelmistopäivityksiin Ratkaisuna verkossa sijaitsevat pakettivarastot Pakettivarasto sisältää oletusasennuksen ulkopuoliset ohjelmistot ja myöhemmin tehdyt päivitykset Metatietona lista kaikista paketeista, pakettien riippuvuuksista ja versionumeroista Distribuution mukana tulee ohjelmisto, joka osaa hakea ja asentaa ja päivittää ohjelmistopaketteja pakettivarastoista Ohjelmisto myös ratkoo pakettien väliset riippuvuudet Debian: apt, Fedora: Yum, Suse: Yast Distribuution ulkopuoliset pakettivarastot Ohjelmistoille, joita ei voi jakaa distribuution mukana Multimediakoodekit, 3. osapuolen ohjelmistot, omat paketit 5

RPM pakettitietokanta RPM: Red Hat Package Manager Alunperin RedHat 1.0 distribuutiolle vuonna 94 RPM pakettitietokannan osat.rpm tiedostoformaatti Tietokanta asennetuista paketeista: /var/lib/rpm Komentoriviohjelmisto pakettien hallintaan: /usr/bin/rpm Kirjasto rpm paketteja tai tietokantaa käyttävien ohjelmistojen käyttöön RPM paketin sisältö: Paketin varsinaiset tiedostot (pakattu cpio arkistotiedosto) Konfiguraatio ja dokumentaatiotiedostot on erikseen merkattu Paketin metatiedot (tags): versio, arkkitehtuuri, jne Paketin vaatimat ja tarjoamat riippuvuudet Ja konfliktit: kaikki ohjelmistot eivät ole yhteensopivia Lista vanhoista paketeista, jotka uusi paketti korvaa kokonaan Asennuksen ja poiston yhteydessä suoritettavat skriptit 6

RPM: Digitaaliset allekirjoitukset Ohjelmistopaketteja asennettaessa on jotenkin voitava varmistua paketin sisällöstä ja alkuperästä RPM paketit voivat sisältää osanaan digitaalisen allekirjoituksen Distribuutioiden pakettivarastojen paketit sisältävät aina allekirjoituksen Järjestelmän pakettitietokantaan taas on talletettu distribuution julkinen avain Paketteja asennettaessa paketin sisäistä allekirjoitusta verrataan julkiseen avaimeen 7

Yum pakettivarastonhallinta Fedoran pakettivaraston ja päivitykset toteuttaa yum Yum hakee pakettivarastosta ajantasaisen listan ohjelmistopaketeista ja asentaa sen pohjalta päivitykset ja halutut uudet ohjelmistot Yum ratkoo myös ohjelmistoriippuvuudet ja automaattisesti asentaa tarvitut ohjelmistot Yum tallettaa pakettivarastosta haetun metadatan ohjelmistoriippuvuuksista välimuistiin Jos metadata ei ole muuttunut, ei turhaan ladata sitä uudelleen Oletusarvoisesti yum suostuu asentamaan vain allekirjoitettuja paketteja Kuka tahansa voi peilata (mirror) pakettivaraston: allekirjoitus kertoo onko paketti luotettava Pakettivarastot listataan konfiguraatiohakemistossa /etc/yum.repos.d/ 8

RPM paketit komentorivillä Paketin asennus: rpm i <paketti> Paketin päivitys: rpm U <paketti> Paketin poisto: rpm e <paketti> Tietoja paketista: rpm qi <paketti> Paketin sisältämät tiedostot: rpm ql <paketti> Mikä paketti sisältää tiedoston: rpm qf <paketti> Paketin asennus ja poistoskriptit: rpm q scripts <paketti> Asennettujen pakettien listaus: rpm qa Järjestelmän päivitys ajan tasalle: yum update Ohjelmistopaketin asennus varastosta: yum install <paketti> Kaikkien saatavilla olevien pakettien listaus: yum list available Päivitysten listaus: yum list updates 9

.deb paketit Debian distribuution käyttöön kehitetty pakettiformaatti.deb paketti on ar kirjastotiedosto, jonka sisältä löytyy kolme tiedostoa debian binary: pakettiformaatin tunnistus ja versionumero control.tar.gz: paketin metadata Asennuksessa ja poistossa suoritettavat skriptit Control: paketitn kuvauksen ja metadatan sisältävä tekstitiedosto Tarkastussummat Listan konfiguraatiotiedostoista Konfiguraatiotiedostoja ei ylikirjoiteta pakettia päivitettäessä data.tar.gz: paketin sisältämät varsinaiset tiedostot 10

dpkg paketinhallinta /usr/bin/dpkg on.deb pakettien matalan tason hallintatyökalu Pakettien asennus Pakettien poisto Pakettitietokannan hallinta Dpkg osaa varmistaa, että pakettien asennus tai poisto täyttää pakettien väliset riippuvuusvaatimukset Mutta ei automaattisesti hakea tarvittavia uusia paketteja Kuten /usr/bin/rpm Asennettujen pakettien tietokanta /var/lib/dpkg Metatiedot isoissa tekstitiedostoissa Asennusskriptit ja listat talletettuna /var/lib/dpkg/info hakemistoon erillisiin tiedostoihin Daemonien hallinta /sbin/start stop daemon asennusskripteille 11

Debconf Monia deb paketteja konfiguroidaan debconf järjestelmällä Paketin mukana tulee tiedosto, joka sisältää kysymyksiä, joihin ylläpitäjän täytyy vastata Vastausten perusteella erillinen skripti konfiguroi paketin (tyypillisesti muokkaamalla konfiguraatiotiedostoja) Kysymyksiin voi kuitenkin vastata etukäteen: täysin automaattiset asennuksen ovat mahdollisia /usr/bin/dpkg reconfigure komennolla voi myöhemmin konfiguroida paketit uudelleen 12

APT paketinhallinta Kuten yum (apt toki oli olemassa ensin) Hakee pakettilistat ja pakettien metadatan debianpakettivarastosta Ratkoo riippuvuudet ja asentaa riippuvuuksien vuoksi tarvittavat lisäpaketit Välimuistissa olevat tieto pakettien metadatasta pitää päivittää erikseen Pakettivarastojen konfiguraatiotiedosto /etc/apt/sources.list Käyttö: apt get update: pakettilistojen päivittys apt get install <paketit>: pakettien asennus apt get remove <paketit>: pakettien ja niistä riippuvien pakettien poisto apt get u upgrade: päivitysten asennus ja niiden listaus 13

Apt secure allekirjoitukset Apt pakettivarasto sisältää Release tiedoston, joka sisältää kaikkien pakettivaraston tiedoston tarkastussummat Tiedosto Release.gpg sisältää Release tiedoston gpgallekirjoituksen Apt tarkastaa allekirjoituksen ja suostuu asentamaan vain paketteja, joiden tarkastussumma on sama kuin Releasetiedostossa listattu tarkastussumma debian archive keyring paketti sisältää debianpakettivarastojen luotetut julkiset avaimet ubuntu archive keyring ubuntu paketeilla Mahdollistaa avainten automaattisen päivityksen 14

RPM vs DEB RPM käyttää indeksoituja binääritiedostoja, deb suoria tekstitiedostoja Rpm on nopeampi deb ongelmia on helpompi ratkoa Molemmat tukevat symbolisia riippuvuuksia RPM tukee riippuvuuksia myös tiedostoista RPM paketit sisältävät digitaalisen allekirjoituksen Debianin mallissa vain pakettivarastot allekirjoitetaan RPM pakettien asennus ei (lähes) koskaan edellytä ylläpitäjän interaktiota Debconf järjestelmä taas usein alkaa kysellä tyhmiä kesken pakettien asennuksen 15

Käyttäjien hallinta Työasemakäyttäjä tarvitsee: Kotihakemiston Rivin /etc/passwd tiedostossa Kotihakemisto, UID, GID, SHELL Rivin /etc/shadow tiedostossa Yksisuuntaisen hash funktion läpi ajettu salasana ja salasanan ja tunnuksen voimassaoloaika Ryhmän /etc/group tiedostossa Nykyään on tapana perustaa jokaiselle käyttäjällä oma ryhmä /usr/sbin/adduser ja /usr/sbin/addgroup Käyttäjätunnusten ja ryhmien lisäys /usr/sbin/deluser ja /usr/sbin/delgroup Vastaavasti tunnusten ja ryhmien poisto /usr/sbin/chage Shadow tiedoston käsittely /usr/bin/passwd Salasanan vaihto 16

Shadow tiedosto sp_lstchg: Päivä jolloin salasana edellisen kerran vaihdettiin Mitattuna päivinä vuoden 1970 alusta sp_min Minimimäärä päiviä, joiden on kuluttava ennen kuin salasanan voi vaihtaa uudelleen sp_max Monenko päivän jälkeen salasanan vaihtoon pakotetaan sp_warn Monenko päivän jälkeen varoitetaan salasanan vanhenemisesta sp_inact Monenko päivän jälkeen salasanaa ei voi enää vaihtaa ja tunnus vanhenee sp_expire Päivä jolloin tunnus vanhenee 17

PAM Pluggable Authentication Modules Plugin mekanismi autentikoinnin konfigurointiin Kirjasto sovellusten käyttöön Olettaa, että sisäänkirjautuvan käyttäjän kanssa voi kommunikoida (tekstipohjaisesti) Näyttää käyttäjälle tiedotuksia ja virheilmoituksia (esim. Password has expired) Kysellä käyttäjältä asioita (tavallisesti käyttäjätunnus ja salasana) Salasanan vaihto tapahtuu pam kommunikaatiolla Mahdollisesti pakotetusti sisäänkirjautumisen yhteydessä Voidaan käyttää myös ei interaktiiviseen autentikointiin Tällöin tavallisesti oletetaan, että salasana tiedetään ilman erillistä kyselyä (esim. HTTP basic auth) 18

PAM: konfigurointi /etc/pam.d/ hakemiston alla konfiguraatiotiedosto jokaiselle pam sovellukselle Konfiguraatiotiedostossa autentikoinnissa käytettävät pam modulit (ja modulien argumentit) niiden suoritusjärjestyksessä Required moduli: modulin on hyväksyttävä autentikointi, mutta kirjautumisen epäonnistuessa myös muut modulit silti suoritetaan järjestyksessä Requisite moduli: kuten required, mutta muita moduleja ei suoriteta Sufficient moduli: Jos tämä moduli hyväksyy autentikoinnin, ei muita moduleja ei enää suoriteta Include direktiivillä toteutetaan systeemin laajuinen autentikointikonfiguraatiotiedosto Fedora pohjaisissa /etc/pam.d/system auth Ubuntussa /etc/pam.d/common auth, /etc/pam.d/common account jne 19

PAM: konfigurointi Pam konfiguraatiotiedostossa neljä eri lokeroa Auth: autentikointimodulit Autentikointimodulit varmistavat käyttäjän identiteetin Tavallisesti kysymällä salasanaa Account: käyttäjätunnusmodulit Varmistaa käyttäjätunnuksen voimassaolon Password: salasanan vaihtomodulit Pakotettu ja vapaaehtoinen salasanan vaihto Session: istunnon aloitus ja lopetus Istunnon aloituksessa ja lopetuksessa suoritettavat toimenpiteet Tyypillisesti suoritetaan ylläpidon oikeuksin pam_unix moduli toteuttaa passwd/shadow autentikoinnin ja salasanan vaihdon pam_console moduli antaa konsolioikeudet konsolilta kirjautuvalle käyttäjälle 20

Sisäänkirjautuminen Sisäänkirjautumisen toteuttavat erilliset root oikeuksin pyörivät sovellukset Display Manager X palvelimen alla toimiva graafisen pam autentikoinnin toteuttava Ssh sovellus Gnome projektilla gdm, KDE projektilla kdm ja vielä vanha perinteinen xdm Pam käytettävissä vain interaktiivisessa ssh autentikoinnissa ssh protokollassa on pam autentikoinnin lisäksi omat autentikointimekanismit (näistä lisää myöhemmin) Getty Virtuaalikonsolin alustus ja pam autentikointi konsolilla /bin/su Käyttäjätunnuksen vaihto komentoriviltä (suid bitillä) 21

D Bus Rajapinta ja daemoni prosessien väliseen viestinvälitykseen Yksi järjestelmän daemoni Yksi daemoni jokaisella käyttäjäistunnolla C ja python kirjastot Mekanismi rajapintojen tyyppiturvalliseen määrittelyyn ja listaukseen Palvelua pyytävän prosessin identiteetin varmistus Käytetään työpöytäohjelmistojen väliseen viestinvälitykseen KDE ja Gnome Esim. Työpöydän lukitseminen Käyttäjärajat ylittävään viestinvälitykseen Desktop ohjelmistot voivat pyytää ylläpitäjän oikeuksin toimivilta daemoneilta palveluita Laitteiston ja virransäästön hallintaan (HAL), verkonhallinta (network manager), Bluetooth laitteet... 22

HAL daemon Deprekoitu! D bus rajapinta käyttäjän työpöydän ja laitteiston välillä Laitteiston ja sen ominaisuuksien listaus ilman ylläpitäjän oikeuksia Toimittaa työpöytätasolle tiedon uusista laitteista ja niiden poistumisesta Tarjoaa rajapintoja laitteisto operaatioihin, jotka normaalisti tarvitsisivat ylläpitäjän oikeuksia Tiedostojärjestelmien liittäminen Linuxin sammutus, suspendointi, hibernointi CPU:n virransäästö Jokaiselle laitteelle annetaan oma dbus objekti, joka sisältää kenttinään laitteen tiedot Kenttien sisältö tulee freedesktop standardista http://www.freedesktop.org/hal 23

HAL / DeviceKit / Udev rajapinnat Käyttäjätason ja laitteistotason rajapintojen toteuttavat daemonit ovat vaihtumassa Udev tulee lähitulevaisuudessa toteuttamaan käyttäjätasolle laiterajapinnat Nyt distribuutiosta ja rajapinnasta riippuen toteuttaja on HAL, DeviceKit tai Udev 24

Verkkolaitteiden konfigurointi Kernel ei osaa itse konfiguroida verkkolaitteita lainkaan IP osoitteet, reitit, langattomat verkot ja niiden avaimet annetaan käyttäjätasolta DHCP asiakas on normaali käyttäjätason prosessi Kernel ei tallenna verkkoasetuksia mihinkään: Linuxin käynnistyessä käyttäjätason on konfiguroitava asiat uudelleen Jokaista kernelin tuntemaa verkkolaitetta kohden on (tyypillisesti) yksi verkkoliitäntä (network interface) /proc/net/dev listaa kernelin tuntemat liitännät Kaikki verkkolaitteet eivät ole fyysisiä oikeita verkkokortteja PPP linkit (tästä lisää bluetooth laitteiden yhteydessä) VPN linkit Liitännät nimetään löytymisjärjestyksessä (eth0, eth1) Udev varaa pysyvän nimen MAC osoitteen perusteella 25

Verkkoliitännät komentoriviltä /sbin/ifconfig: Verkkoliitännän nostaminen ylös ja ajaminen alas Käytössä olevien linkkien ja niiden asetusten listaus Osoitteiden konfigurointi /sbin/route Reitityksen konfigurointi Olemassa olevien reittien listaus /sbin/ethtool Ethernet verkkokortin fyysinen tila ja kortin mielipide liitännän tilasta /sbin/ip Uudempi yleiskäyttöinen työkalu verkkoasetuksien säätöön 26

NetworkManager Daemoni verkkoliitännän konfigurointiin Toteuttaa dbus rajapinnan, jolla tavallinen käyttäjä voi konfiguroida verkkoliitännän työpöytätasolta Verkkoliitännän alustus ja sulkeminen Langattomien verkkojen skannaus Langattoman verkon valinta Tunnettujen verkkojen valinta automaattisesti DHCP asiakkaan käynnistys ja sulkeminen, kun langallinen verkko on aktivoitu tai langaton verkko on valittu ja neuvoteltu ylös Mukana tulee käyttöliittymän toteuttava gnome sovelma nm applet Osaa tallettaa langattomien verkkoliitäntöjen salasanat käyttäjän henkilökohtaiseen avainrenkaaseen Myös VPN ja PPP verkkojen konfigurointi 27

Distribuution verkkokonfiguraatio Distribuution käynnistysskriptien tehtävänä on verkkoliitäntöjen konfigurointi Verkkokonfiguraatio RedHat pohjaisissa: /etc/sysconfig/network: globaali konfiguraatio /etc/sysconfig/network scripts/ifcfg *: liitäntöjen konfiguraatio Debian/Ubuntu: /etc/network/interfaces Nimipalvelimet: /etc/resolv.conf Staattinen liitäntöjen konfigurointi on nykyään harvinaista DHCP asiakas (/sbin/dhclient) selvittää verkosta koneen IPosoitteen, reitin ulkomaailmaan ja nimipalvelimet Joskus käytössä on myös paikallinen proxy nimipalvelin, jolloin resolv.conf tiedostoa ei tarvitse editoida Proxy voi osata fiksummin päätellä, mihin nimipalvelukyselyt oikeasti kannattaa lähettää 28

Langattomat verkot: WiFi Langattomat wlan verkkoliitännät käyttäytyvät pitkälti kuten ethernet liitännät, mutta: Langattoman verkon tukiasemalla on ESSID (Service Set Identifier), jolla päätetään mihin mahdollisesti monesta verkosta liitytään Samalla ESSID:llä voi näkyä useampia tukiasemia eri taajuuksilla: ajuri päättää mille (parhaiten kuuluvalle) tukiasemalle jutellaan Ajurin on tuettava verkon skannausta, jotta käyttäjä voisi valita sopivan tukiaseman Ja tarvitaan rajapinta, millä tämä voi tapahtua käyttäjän työpöydältä Langattomat verkot ovat tyypillisesti (ja hyvästä syystä) kryptattuja Vanha, mutta heikoksi havaittu WEP kryptaus Uudempi WPA kryptaus (Wi Fi Protected Access) 29

WLAN komentoriviltä /sbin/iwconfig: Langattoman verkkoliitännän tila ja konfigraatio /sbin/iwconfig essid: verkkotunnisteen vaihto Ad hoc verkkojen konfigurointi WEP avainten asettaminen /sbin/iwlist: näkyvien langattomien verkkojen listaus Toiminnan täsmälliset yksityiskohdat ovat vaihdelleet Ajurista riippuen palautetaan tila välimuistista, odotetaan ja skannataaan uudelleen tai aloitetaan uusi skannaus eikä palauteta mitään... Nykyään kernelissä on WLAN laiteajureista riippumaton toteutus WLAN protokollasta Edelleen voi löytyä ajureita, jotka eivät sitä käytä 30

Linux ja WPA wpa_supplicant daemon toteuttaa (mahdollisesti vaihtuvien) tukiasemien kanssa WPA protokollan Toteuttaa salausavainten hallinnan ja kryptauksen /usr/sbin/wpa_cli asiakasohjelma keskustelee daemonin kanssa Normaalisti NetworkManager keskustelee wpa_supplicantin kanssa 31

Point to Point yhteydet: PPP Aikoinaan käyttiin aidoilla lankamodemeilla Joskus aidoilla sarjapiuhoilla Nykyään käytössä: USB 3G mokkuloissa Näyttävät sarjamodemilta Linuxin kannalta Kännyköissä Bluetoothin yli ja langallisesti Erillinen daemoni /usr/sbin/pppd neuvottelee yhteyden avaamisen Toteuttaa neuvotteluosuuden PPP protokollasta Neuvottelun jälkeen kerneli välittää paketit kuten normaalia 32

Bluetooth Bluetooth on 2.4GHz alueella toimiva tiedonsiirtoprotokolla vähävirtaisille laitteille Radiotekniikkamagian ansiosta WLAN ja BT eivät juuri häiritse toisiaan Bluetooth 2.0 nimellisnopeus on 3Mbit/s Käytännön kaista on n. 200KB/s ihanneolosuhteissa; Pakkaamaton CD tasoinen audio vaatii ~1.5Mbit/s kaistaa Yhteyksien autentikointi pariuttamalla bt laitteet Autentikoitujen yhteyksien kryptaus BT protokollat Palveluiden listaus (Service Discovery Protocol) Viestien ja tiedostojen siirto OBEX protokollalla 2 suuntainen audio kännyköille, 1 suuntainen stereo audio Internet yhteys kännykän kautta (Modemiemulaatio ja PPP) HID näppäimistöille, hiirille ja peliohjaimille 33

Bluez: Linuxin bluetooth pino Kernelissä: bt laitteen ajuri: tyypillisesti erillinen ulkoinen bt dongle tai koneeseen sisäänrakennettu bt pistokerajapinta sovelluksille rfcomm laitetiedostot, joilla bt pistokkeet naamioidaan näyttämään sarjaportilla Kännykkämodemit ja ppp tarvitsevat rfcomm laitetiedoston Input laite tuki bt näppäimistöille ja hiirelle bluetoothd daemoni Toteuttaa parituksen ja kryptausavainten hallinnan Vastaanottaa Linuxille lähetetyt palvelupyynnöt mm. ottaa paritetun näppäimistön käyttöön Käynnistää SBC koodekin käytettäessä bt audiolaitteita Dbus rajapinta PIN koodien kysely työpöytätasolta Luotettujen laitteiden valinta ja yhteyksien hyväksyminen 34

Bluez: paritus Parituksessa kaksi bt laitetta neuvottelevat jaetun salaisen avaimen, jota myöhemmin käytetään salausavaimen generointiin ja laitteiden autentikointiin Pariutuessa laitteet ovat alttiita salakuuntelulle ja MITMhyökkäyksille PIN koodi antaa lisäsuojaa, mutta on murrettavissa brute forcehyökkäyksellä Bluez aloittaa paritusprosessin automaattisesti Jos bt laitetta yritetään käyttää linuxista Tai jos bt laite yrittää ottaa yhteyden linuxiin PIN koodi ja varmistuskyselyt tulevat käyttäjätasolle dbusrajapinnan kautta Bt laitteen voi merkitä luotetuksi, jolloin sen annetaan jatkossa automaattisesti aloittaa bt yhteys Paritus on laitekohtainen! 35

Bluez komentorivillä Konfiguraatiohakemisto: /etc/bluetooth Tunnetut ja paritetut laitteet: /var/lib/bluetooth /usr/sbin/hciconfig BT liitäntöjen (donglen) konfigurointi /usr/bin/hcitool BT laitteiden etsintä BT yhteyksien listaus ja konfigurointi /usr/bin/sdptool Service Discovery Protocol Bt palveluiden etsintä 36

OBEX tiedostonsiirto Bt viestien välitys ja tiedostonsiirto tapahtuu OBEXprotokollalla Obex oli (ja on) myös käytössä infrapunalaitteilla Openobex kirjasto toteuttaa protokollan linuxissa Komentorivillä obexftp ja obexftpd KDE:ssä ja Gnomessa työpöytätyökalut tiedostojen lähettämiseen ja työpöydän virtuaalitiedostojärjestelmätuki tiedostojen selailulle 37

Linux ja audio Linuxin ikääntyessä on jo useamman kerran käynyt niin, että käytössä olevasta audiorajapinnasta on tullut esiin isompia ja pienempiä puutteita Ratkaisuksi on tavallisesti keksitty kokonaan uusi audiorajapinta Linux 1.0: OSS ajurit ja API ESD äänidaemoni ja API tukemaan ääntä verkon yli ja useamman äänilähteen yhteen miksausta 2.4 kerneliin ALSA ajurit ja ALSA kirjastorajapinta Fedora 8: Pulseaudio daemoni korjaamaan ALSA:n puutteita Lisäksi: gstreamer ja xine rajapinnat median toistoon SDL audio peleille Openal kirjasto surround ja ääniefekteille peleissä 38

Erilaiset audioliitännät PCI kortit ja emolle integroidut äänikortit Emolta löytyy nykyään aina integroitu äänikortti: erilliset äänikortit käyttävät lähinnä hifistit ja audio alan ammattilaiset USB äänilaitteet USB äänikorttien laitteistorajapinta on standardoitu Langattomat USB kuulokkeet Bluetooth audiolaitteet Audion siirto verkon yli WLAN protokollat langattomaan audiosiirtoon Liitäntä voi tukea Ainakin 16 bit 44100kHz stereoaudiota (CD levyillä) Useampia kanavia: tyypillisesti 2.1, 5.1 ja 7.1 Digitaalista SPDIF ulostuloa Passthrough audio: PCM, AC 5.1 ja Dolby Digital Midilaitteet 39

OSS Open Sound System Vanha ja perinteinen kernelin audiorajapinta Hannu Savolaisen Linuxille toteuttama rajapinta Myöhemmin OSS rajapinnasta tuli kaupallinen tuote Vanhan OS Linux ajurin kehitys lakkasi OSS rajapinta on edelleen käytössä FreeBSD, Solaris Vanhat Linux ohjelmistot tuntevat vain OSS rajapinnan Laitetiedostot: /dev/dsp: PCM audiolaite /dev/mixer: Audiomikseri 40

ALSA Advanced Linux Sound Architecture ALSA on Kernelin sisäinen rajapinta äänikorttiajureille Varsinaiset äänikorttiajurit Kirjastorajapinta ohjelmistojen käyttöön Teoriassa tämä kirjastorajapinta olisi siirrettävä myös muille käyttöjärjestelmille Plugin rajapinta, jolla käyttäjätasolla voidaan toteuttaa audioliitäntöjä Kernel tason yhteensopivuus OSS:n kanssa (/dev/dsp) Konfiguraatio, jolla käyttäjätasolla voidaan luoda virtuaalisia ääniliitäntöjä ohjaamalla audio data erilaisten suotimien läpi ja vasta lopuksi (mahdollisesti) varsinaiselle äänilaitteelle Dmix softamikseri on toteutettu käyttäjätason suotimilla 41

ALSA komentoriviltä Alsamixer Äänikortin kanavien äänenvoimakkuuden säätö Äänikortin säädettävät ominaisuudet Aplay Fyysisten äänikorttien ja audio ulostulojen listaus PCM audion (wav) soitto Lshal: audiolaitteiden listaus Pulseaudio daemoni hakee äänilaitteet hal:in listalta Konfiguraatiohakemisto /etc/alsa tai /usr/share/alsa /dev/snd Hakemisto, joka sisältää alsan laitetiedostot 42

Audiolaitteiden pääsyoikeudet Jotta käyttäjätason prosessi voisi päästä käsiksi fyysiseen audiolaitteeseen, sillä täytyy olla luku ja kirjoitusoikeus audiolaitteen laitetiedostoihin /dev/snd/* ja /dev/dsp Debian ja Ubuntu distribuutioissa laitetiedostoon pääsee käsiksi vain audio ryhmään kuuluvat käyttäjät Ylläpitäjän täytyy käsin tehdä audio ryhmään lisäys halutuille käyttäjille Ubuntussa oletusarvoisesti daemonien käyttö on pakollista Fedora ja RedHat distribuutioissa laitetiedoston omistaja vaihdetaan konsolikäyttäjäksi Kerran annettuja ryhmäoikeuksia ei Unixissa voi helposti ottaa pois Verkosta kirjautuneet käyttäjät eivät pääse tekemään käytännön piloja (tai kuuntelemaan mikrofonia) 43

Pulseaudio daemon Pa on keskitetty audiodaemoni, jonka kautta on tarkoitus kierrättää kaikki Linux audio Pa:lla on oma kirjastorajapinta Pa:n mukana tulee alsa plugin, jolla voi ohjata alsa rajapintaa käyttävien ohjelmien audion pa daemonille Fedorassa ja Ubuntussa tämä alsa plugin on oletusaudiolaite Toteuttaa suoraan esd daemonin vanhan rajapinnan Pa toteuttaa: Eri softilta tulevan audiodatan miksauksen yhteen Softakohtaisen äänenvoimakkuuden säännön Verkkoprotokollan audion siirtämiseen verkon yli Audion ohjaamisen lennossa laitteelta toiselle Protokollan jolla konfiguroida daemonia lennossa Ja tähän käyttöliittymät Lisää latenssia Ei ole yhteensopiva passthrough surround audion kanssa 44

Pulseaudio komentorivillä /usr/bin/pulseaudio Itse daemoni Tyypillisesti käynnistetään sisäänkirjautumisen yhteydessä tai automaattisesti kun ensimmäinen pa:ta käyttävä sovellus käynnistyy Suid binääri, jotta pääsisi käsiksi audio laitteisiin (debian ja ubuntu) ja jotta voisi toimia reaaliaikaprioriteetilla (latenssin vähentämiseksi) /usr/bin/pactl Audiodaemonin ohjaaminen komentoriviltä /etc/pulse Daemonin konfiguraatiotiedosto 45

OpenAL 3D ääniefektien tuottamiseen (lähinnä peleissä) Edellyttää äänikortilta tukea useammalle kuin kahdelle kanavalle Rajapinnalle annetaan äänilähteet, niiden sijainti 3Davaruudessa ja kuulijan nopeus äänilähteen suhteen Äänen miksauksen lisäksi toteuttaa myös doppler efektin Käytössä lähinnä peleissä Doom3, Quake4, jne Mac OS X peleillä sama rajapinta 46

Bluetooth audio bt:n kaista ei riitä cd tasoiseen audioon Audio siirretään bt:n yli kompressoituna SCO audio (Synchronous Connection Oriented) on kaksisuuntainen audioprotokolla puhelukäyttöön Mono, äänen laatu on huono, latenssi on pieni Kaikki bt handsfree laitteet toteuttavat SCO audion A2DP audio on SBC koodekilla pakattua lähes CD tasoista stereo audiota (~300kbit/s) A2DP löytyy stereo handsfree laitteista, erillisistä audio gateway laitteista ja joistain autostereoista Bt audio näkyy prosesseille alsa pluginin kautta Plugin kommunikoi bt daemonin kanssa, joka toteuttaa audiokoodauksen Pulseaudio daemoni näkee aktiiviset bt audio laitteet ja osaa välittää audion suoraan niille 47