Kiintolevyt, SMART ja Smartctl:n tulkinta

Tietokoneen lähes väsymättömänä työjuhtana toimivat kiintolevyt, jotka tallettavat arvokkaan ja arvottaman datan myöhempää ajankohtaa varten. Yleensä moderneissa kovalevyissä on SMART-ominaisuus (S.M.A.R.T. = Self-Monitoring Analysis Reporting Technology), jolla levyn kuntoa voidaan seurata. FTFM:ssä (Fuck the fucking manual) on selkeä ohje Smartctl:n tulkinnasta, jossa on selitetty sen toiminta, periaatteet ja tulkitseminen selkeästi ja ymmärrettävästi.

”On kuitenkin tärkeää ymmärtää, että SMART osaa ennustaa vain ongelmia, jotka oireilevat. Esimerkiksi kovalevyn sisältä irtoava ruuvi tai levyn elektroniikan yllättävä pettäminen ei kuulu SMARTin toimenkuvaan. Sen sijaan jatkuvasti lukuvirheitä tekevä lukupää, huonosti käynnistyvä levyn pyöritysmoottori tai liiallinen lämmöntuotto ovat asioita, jotka enteilevät levyn kuolemaa ja ovat helposti havaittavissa SMARTin avustuksella.” (FTFM)

Smartctl:n avulla voidaan lukea levyn keräämää dataa ja komentaa levylle kuntotestin, jolla saadaan erilaisia numeroarvoja levyn toiminnasta. Lisäksi levylle voidaan suorittaa levyn pintaa tarkisteleva testi, joka palauttaa hyväksytty/hylätty -arvon. Tulkitsemalla Smartctl:n arvoja voidaan päätellä levyn kunto, mutta SMART ei välttämättä ole lopullinen totuus, vaan arvoja tulisikin tulkita suuntaa antavina.

Lyhyesti kerrottuna smartctl:n käyttäminen ja oleellisten testitulosten saaminen menee seuraavasti (xxx = levyn tunnus esim. hda):
smartctl -t offline /dev/xxx, joka päivittää listauksessa merkityt ’Offline’-arvot.
smartctl -t long /dev/xxx, joka testaa levyn pinnan.
smartctl -a /dev/xxx, nähdään lopputulokset.

Lopputulosten tulkitseminen on teoriassa selkeää, sillä tuloksissa on merkitty testatut attribuutit, saadut arvot, riskirajat ja attribuutin tyyppi. Alla olevassa tulosteessa levyn lämpötila on 46 astetta (WHEN_FAILED -kenttä jätetty esittämättä).

ID# ATTRIBUTE_NAME       FLAG   VALUE WORST THRESH TYPE    UPDATED   RAW_VALUE
194 Temperature_Celsius  0x0022 046   055   000    Old_age Always    46

Smartctl:n tulosteen tulkitsemisessa kannattaa lukea FTFM:n artikkeli, joka kertoo eri arvojen merkityksen ja kuinka arvoja pitää ja kannattaa tulkita.

Debian-harrastajien FTFM:ssä on muitakin hyödyllisiä artikkeleita liittyen muun muassa RAID:n tekoon ja APT:n käyttöön. ”FTFM on kaikille avoin Unix-dokumentaatioprojekti, jonka tarkoituksena on kerätä kokoelma suoraan asiaan meneviä oppaita. FTFM:n toimintaperiaate muistuttaa Wikiä, joskin kaikki muutokset artikkeleihin ilmestyvät vasta ylläpidon hyväksynnän jälkeen.” (FTFM) FTFM-projekti on vielä sisällöltään niukahko, mutta oppaiden määrän toivoisi kasvavan, sillä käytäntöön painottuvia ja selkeitä tekstejä voisi lukea enemmänkin.

apt-get, apt-key ja gpg-key

Debianissa paketinhallintajärjestelmä Apt:ssa on versiossa 0.6 tullut vakiona allekirjoitusten tarkistus (signature) päällä. Näin varmistetaan, että Debiania peilaavilla palvelimilla on oikeita paketteja. Allekirjoitusten tarkistaminen voi kuitenkin aiheuttaa hieman ihmetetystä, jos käytetyistä Apt:n lähteistä ei ole GPG-avainta tallessa allekirjoitusten varmistamiseksi.

Tarvittavien GPG-avainten hakeminen onnistuu kuitenkin helposti, sillä Apt (apt-get update) antaa puuttuvan avaimen numeron, jonka perusteella haluttu avain voidaan hakea avainpalvelimelta. Ensin uusi avain haetaan avainpalvelimelta koneelle, jonka jälkeen avain voidaan lisätä Apt:n tietoisuuteen apt-key ohjelmalla. Tämän jälkeen voidaan suorittaa apt-get update uudestaan, jolloin kaiken pitäisi taas olla kunnossa.

Lyhyesti sanottuna avaimen hakeminen ja lisääminen onnistuu seuraavasti:

# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys <pub_key_no>
# gpg --armor --export <pub_key_no> | apt-key add -
# apt-get update

Linuxin perustyökalut: Screen

Screen -ohjelma on yksi kätevimmistä työkaluista mitä Unix-pohjaisista käyttöjärjestelmistä löytyy. Screenillä voi laittaa ohjelman tausta-ajoon, jolloin ohjelma toimii, vaikket itse olisikaan yhteydessä tietokoneeseen. Erittäin kätevää ja yleistä muun muassa Irssien ajamiseen palvelimilla.

Screenin käyttäminen on suhteellisen yksinkertaista. Peruskäyttöön ei tarvitse opetella kuin muutama komento ja homma toimii. Kun screen-istunto on saatu tehtyä komennolla screen, voidaan sinne käynnistää esimerkiksi Irssi-ohjelma. Ohjelman saa jätettyä taustalle komennolla Ctrl+a d ja takaisin päästään kirjoittamalla screen -r tai screen -rd, jos istunto on jäänyt auki jollekin toiselle koneelle. Jos halutaan luoda useita Screen-istuntoja, voidaan eri istunnoille antaa eri nimet käynnistämällä Screen komennolla screen -S <nimi>. Haluttuun istuntoon päästään kirjoittamalla screen -r <nimi>.

Peruskomentojen lisäksi Screenissä on paljon muitakin toimintoja. Screen-ikkunoita voidaan luoda useita yhden Screen-istunnon sisään, istunto voidaan lukita ja ikkunasta voidaan kopioida alueita. Seuraavassa listassa on listattu muutamia peruskomentoja Screenin käyttämiseen.

  • Ctrl+a c, uusi ikkuna
  • Ctrl+a n, seuraava ikkuna
  • Ctrl+a p, edellinen ikkuna
  • Ctrl+a ”, valitse ikkuna listasta
  • Ctrl+a Ctrl+a, edellinen valittu ikkuna
  • Ctrl+a d, laita screen-ikkuna taustalle terminaalissa
  • Ctrl+a A, aseta ikkunalle otsikko
  • Ctrl+a x, lukitse screen-istunto
  • Ctrl+a [, voit kopioida alueita scrollbackista painamalla Enteriä aloittaaksesi ja lopettaaksesi kopioinnin.
  • Ctrl+a ], liitä kopioimasi teksti
  • Ctrl+a >, kirjoita kopioimasi teksti tiedostoon
  • Ctrl+a < , lue tiedostosta sinne kirjoittamasi teksti
  • Ctrl+a ?, näytä näppäinkomennot

Lisää Screenin toiminnasta voi lukea man-sivuilta kirjoittamalla terminaalissa man screen.

Debian ja puuttuva tiedosto

Debian Administration kirjoittaa keinosta löytää jokin tietty kirjasto tai tiedosto ja vastaava Debian-paketti, joka sisältää haetun tiedoston.

Tiedoston etsiminen paketista onnistuu käyttämällä dpkg:tä –search argumentilla. Toinen vaihtoehtoinen tapa on käyttää apt-file -komentoa.

Ensin apt-file pitää asentaa komennolla: apt-get install apt-file. Komennolla apt-file update haetaan data, josta apt-file etsii tiedostoja. Tämän jälkeen voidaan etsiä tiedostoa debian-paketeista komennolla: apt-file search <tiedosto> .

Toiminto näyttää esimerkiksi seuraavalta ja saamme selville, että alisp.h löytyy paketista libasound2-dev:

~$ apt-file search alisp.h
libasound2-dev: usr/include/alsa/alisp.h

Google Earth Linuxissa

Google Earth on saatavilla Windowsille ja Macille, mutta Linux versiota ei vielä ole julkaistu, vaikka Google Earth onkin toteutettu alustariippumattomasti käyttäen Qt-kirjastoja ja OpenGL:ää. Tai näin ainakin luin netistä. Ohjelma on kuitenkin mahdollista saada toimimaan Linuxilla käyttäen Wineä.

En ole juurikaan Winen kanssa aikaisemmin jaksanut leikkiä, sillä olen ollut tyytyväinen ilmankin ja Mac OS X on täyttänyt ne harvat ”windowsmaiset” tarpeet. Syksyllä Wine saavutti beta -asteen ja kehitystä toimivuuden suhteen oli tapahtunut, joten oli aika kokeilla miten eri ohjelmat sillä toimisivat.

AMD64 ja 64 bittinen Gentoo ei ole se helpoin alusta testailla eri ohjelmia ja varsinkin Winen kanssa oli aikaisemmin ongelmia. Nyt kuitenkin Wine 0.9.7 asentui ongelmitta. Winelle on saatavissa erilaisia apuohjelmia muun muassa ohjelmien asennukseen ja lähdinkin liikenteeseen WineToolsilla. Winetoolsin voi asentaa itse hakemalla sivuilta tar-pallon tai Gentoossa portagen avulla hakemalla ensin WineTools ebuildin, eli Bugin numero 46390.

Aluksi asentelin ”Fake Windowsin”, ”DCOM98:n”, muutamat Truetype fontit ja sitten Internet Explorer 6:n. Tämän jälkeen olikin aika kokeilla Winetoolsissa listattuja ohjelmia, jotka on testattu toimiviksi Winellä. Google Earth asentuikin ongelmitta, mutta toiminta jätti toivomisen varaa. Heti alkuruudun jälkeen konsoliin tuli virhe ”X connection to :0.0 broken (explicit kill or server shutdown)” ja Wine kaatui. Koska Winetoolsin toiminta on testattu vain Winen versioilla 0.9[123], oli siis kokeiltava vanhempaa versiota. Ensin 0.9.3, jolla ongelma pysyi samana, mutta 0.9.2 versiolla Google Earth toimi mainiosti, tai ainakin melkein. Maapalloa pystyi ”selaamaan”, mutta valikot eivät toimineet.

gearth

Ongelmaan löytyi kuitenkin ratkaisu Googlettamalla esiin Gentoo Wiki, jossa Google Earthin asennus ja ongelmatilaneet oli kuvattu. Muokkaamalla ”Program Files/Google/Google Earth/kvw/default_lt.kvw” tiedostoa Wikin ohjeilla, alkoivat myös valikot näkymään. Kauneusvirheeksi jäi vielä fonttien toimivuus. Wikissä oli kuvattu muutamia keinoja fonttien korjaamiseksi, mutta en niitä jaksanut testata. Myös toimivuus 0.9.3, 0.9.4 ja 0.9.5 versioillakin oli mainittu.

gearth 2

Pakettienhallinta Debianissa

Eri Linux jakelupaketeissa on ohjelmistojen jakelu ja päivitys toteutettu hieman erilailla. Nykyään lähes jokaisessa distribuutiossa on jonkinlainen hallittu pakettimanageri, joka hallitsee ohjelmien riippuvuudet, helpon asennuksen ja päivittelyn. FreeBSD:ssä on Ports, Gentoossa Portage, Susessa Yast, Fedora Coressa Yum ja Debianissa Apt.

Debianin Apt on toimiva kokonaisuus, ainakin omasta mielestäni. Ehkä sen toimivuus voisi olla hieman samanlaisempaa kuin Gentoon Portagen, mutta ulkonäölliset asiat ovat sivuseikkoja. Aptin käyttäminen onnistuu ”apt-get” ohjelmalla. Perustoiminnot onnistuvat komennoilla ”apt-get install foopacket” ja ”apt-get remove foopacket”.

Koska poistamalla paketin, ei riippuvuuksina asennettuja paketteja poisteta, voidaan poistetun ohjelman riippuvuuksia tarkastella komennolla ”dpkg -p foopacket” ja sitten poistaa apt-getillä. Lisäksi konfiguraatiotiedostot pitää mahdollisesti poistaa käyttämällä komentoa ”dpkg -P” eli ”–purge” lippua.

Lähdekoodeista asentamiseen komento ”apt-get source foopacket” hakee ohjelman lähdekoodit ja kääntäminen onnistuu menemällä lähdehakemistoon ja komentamalla ”./debian/rules”. Paketin riippuvuudet on helppo asentaa ”apt-get build-dep foopacket” -komennolla.

Systeemin asennetut paketit näkee komennolla ”dpkg -l” ja tiettyä pakettia voi etsiä komentamalla ”dpkg -l \*foopacket\*” joka listaa paketit joissa on sana ”foopacket”. Listaus näyttää kaikki järjestelmän paketit, ei vain asennettuja, joten kätevä myös pakettien etsimiseen. Listauksesta näkee myös paketin tilan; asennettu, asennettu ja poistettu vai poistettu mutta ei purgetettu. Paketteja voi etsiä myös ”apt-cache search foopacket” komennolla.

Paketin informaation näkee komennolla ”dpkg -p foopacket” ja ”dpkg -L foopacket” näyttää paketin asennetut tiedostot. ”dpkg -S foo.sh” voi etsiä tiedostoa ja mihin pakettiin kyseinen tiedosto kuuluu.

Lisää ohjelman käytöstä voi lukea vaikkapa Apt manuaalista.

Paketeista voi etsiä tietoa myös Debianin pakettisivulta. Web-käyttöliittymä on hieman ystävällisempi kuin konsolipohjainen liittymä.

WLAN-verkon havainnointia

Langattomien verkkojen määrä on kasvanut ja nykyään useasta kaupungista voi löytää ilmaisen Internet-yhteyden joko käyttämällä kaupungissa tarjolla olevaa avointa verkkoa tai kuljeskelemalla ja haistelemalle tarjolla olevia verkkoja. Langattomia verkkoja voi haistella autolla (wardriving) ja kävellen (warwalking).

Kannettavien tietokoneiden myynti on lisännyt avoimien WLAN-verkkojen määrää. Tietämätön käyttäjä ei välttämättä tiedä avoimen verkon vaaroja tai osaa suojata omaa Internet-yhteyttään. Läppärin sisäänrakennetun WLAN-antennin kanssa sohvalta koneen käyttäminen onnistuu huomattavasti helpommin kuin viiden metrin ethernet-kaapelin kanssa. Suojaamaton WLAN-verkko kuuluu kuitenkin myös muuallekin kuin kotisohvalle ja on tarjolla kaikille ohikulkijoille. Vaikka verkon suojaaminen on kohtalaisen yksinkertaista, näkee usein langattomien tukiasemien käyttävän tehdasasetuksia ja lähettävän SSID tunnuksia kuin kutsukortteina.

Langattoman verkon havainnointiin on tarjolla useita eri ohjelmia. Perusominaisuuksiltaan ohjelmat tarjoavat samanlaisia toimintoja: verkon havaitseminen, signaalin voimakkuus, graafinen signaalinvoimakkuus, tukiaseman tiedot jne. Ohjelmia on tarjolla niin Windowsille (Netstumbler), Linuxille (Kismet) ja Macille. Koska omistan kokemusta vain iBookista, seuraavaksi lyhyt katsaus Mac OS X:lle tarjolla olevista stumbler/haistelu-ohjelmista.

MacOS X:lle on tarjolla useampiakin graafisia kilkkeitä langattomien verkkojen ja signaalien havainnointiin.

  • KisMAC: Tuki Airport korteille ja useille kolmannen osapuolen korteille Orinoco ja PrismII piireillä ja Cisco Aironet korteille. Voidaan käyttää GPS:n ja kartan kanssa esimerkiksi hot spottien metsästykseen ja merkkaamiseen. Ominaisuuksina lisäksi SSID:den ja loggautuneiden Clienttien paljastaminen, verkon peiton visualisointi, kryptattujen verkkoja vastaan hyökkäykset (bruteforce against LEAP, WPA ja WEP; weak scheduling against WEP, Newsham 21-bit against WEP) ja tuki Apple Scriptille.
  • iStumbler: Stumbleri, jonka ominaisuuksina mm. pluginit AirPort verkkojen, Bluetooth laitteiden ja Bonjour palvelujen löytämiselle. Signaalinvahvuuden esitys graafisella widgettinä.
  • MacStumbler: Tukee vain Airport kortteja ja mahdollistaa GPS:n kanssa yhteistoiminnan WLAN-verkkojen kartoittamiseen.

En toki kannusta ketään hyödyntämään vieraita WLAN-verkkoja. Kannattaa huomioida myös tietoturvallisuus, jos vierasta langatonta verkkoa hyödyntää. Liikenne salattuna, jos vain mahdollista, sillä eihän sitä koskaan tiedä mitä pakettikaappareita tukiaseman omistajalla on pyörimässä. Avoimia kaupunkiverkkoja on tarjolla muun muassa Lappeenrannassa Wlpr.net, Turussa SparkNet, Oulussa panOULU ja Lahdessa Mastonet. Usein myös hotellit ja kahvilat tarjoavat langatonta verkkoa asiakkailleen. Haistelutyökaluja voi hyödyntää myös oman WLAN-verkon kuuluvuuden havainnointiin.

Hotspottien löytämiseen on tarjolla myös apusivustoja. Wardrivingin ja karttojen yhteiskäyttö on toteutettu WiFimaps.com -sivustolla. Sivuston avulla voi paikantaa hotspotteja USA:n eri kaupungeissa. Wardriverit lähettävät löydöksensä ja sivusto piirtää hotspotit kartalle. Jos ei satu Amerikan mantereella matkustelemaan niin googlettamalla löytyi palvelu, jossa on listattuna Suomessa löytyviä hotspotteja kaupungeittain, mutta tuollaista karttaa hyödyntävää palvelua en löytänyt.