Linux miniläppäriin

Linux.fista
Versio hetkellä 14. lokakuuta 2009 kello 00.54 – tehnyt Pb (keskustelu | muokkaukset) (→‎Tiedostojärjestelmä ja sen asetukset: journaloinnin käytöstä poistaminen)
Siirry navigaatioon Siirry hakuun

Miniläppärit ovat pienikokoisia kannettavia tietokoneita, joille on tunnusomaista pienen koon lisäksi myös mm. halpa hinta, pitkä akkukesto ja liikkuvia osia sisältämätön SSD-massamuisti. Tässä artikkelissa käsitellään erilaisia yleisiä tapoja, joilla Linux-asennusta voi optimoida miniläppärikäyttöä ajatellen.

On olemassa myös joitain valmiita miniläppäreille suunnattuja jakeluita, joissa on valmiiksi toteutettu jotain tämän artikkelin vinkeistä.

SSD-levy

Monissa miniläppäreissä on SSD-kiintolevy, jolle tunnusomaisia piirteitä ovat äänettömyys, iskunkestävyys ja pieni virrankulutus. Lisäksi ainakin halvimmat mallit voivat olla hyvinkin hitaita kirjoittamaan tietoa levylle. Lisäksi on esitetty erilaisia arvioita levyjen kulumisesta: levy kestää vain tietyn määrän kirjoituksia ennen kuin "kuluu loppuun". Tästä johtuen on monesti hyvä tehdä erilaisia optimointeja, joilla vähennetään etenkin levylle kirjoittamista.

Tiedostojärjestelmä ja sen asetukset

Linuxissa yleisesti käytetty ext3-tiedostojärjestelmä ei ole paras mahdollinen miniläppärille, sillä vaikka se parantaakin tiedostojärjestelmän luotettavuutta, tiedostojärjestelmä pitää kirjaa levylle tehtävistä muutoksista (journalointi), mikä aiheuttaa ylimääräisiä kirjoitusoperaatioita. SSD-levylle varustetuissa miniläppäreissä kannattaakin poistaa journalointi käytöstä tai käyttää ext2-tiedostojärjestelmää, jossa kirjanpitoa ei ole.

Tiedostojärjestelmä voidaan yleensä valita jakelua asennettaessa. Asennuksen jälkeenkin ext3-levy voidaan muuttaa ext2-muotoon yksinkertaisesti liittämällä se ext2-osiona (ext3 ja ext2 ovat yhteensopivia, ja liitosasetuksilla määrätään kumpaa tiedostojärjestelmää käytetään). Tämä tapahtuu muuttamalla asetustiedostosta /etc/fstab juuritiedostojärjestelmän (/) osoittava rivi

UUID=007ad9f0-88bd-4d6c-b853-25bfb682111b /               ext3   (rivi jatkuu)

muotoon

UUID=007ad9f0-88bd-4d6c-b853-25bfb682111b /               ext2

alussa oleva UUID-numero vaihtelee koneiden välillä ja siihen ei tarvitse koskea. UUID-numeron sijasta voi tiedostossa olla myös levyn laitetiedosto, kuten /dev/sda1.

Journaloinnin poistaminen käytöstä olemassaolevassa ext3- tai ext4-tiedostojärjestelmässä onnistuu komentorivikomennolla

tune2fs -O ^has_journal

Uuden ext4-tiedostojärjestelmän luominen osiolle /dev/sda1 ilman journalointiominaisuutta:

mkfs.ext4 -O ^has_journal /dev/sda1

Ext2-tiedostojärjestelmän lisäksi kannattaa käyttää noatime-asetusta, joka kieltää tiedostojärjestelmää päivittämästä levylle tietoa siitä, milloin tiedosto on viimeksi avattu. Ilman tätä asetusta jokaisen tiedoston avaaminen aiheuttaa ylimääräisen kirjoitusoperaation eikä yleensä eteen tule tilannetta, jossa tälle tiedolle olisi käyttöä.

noatime-asetus lisätään myös /etc/fstab-tiedostoon tiedostojärjestelmän kertovan asetuksen (ext2) jälkeen tuleviin liitosasetuksiin pilkulla erotettuna. Lopullinen rivi voisi olla muotoa

UUID=007ad9f0-88bd-4d6c-b853-25bfb682111b /               ext2        noatime,errors=remount-ro   0   1

Lisätietoja tiedoston rakenteesta löytyy artikkelista fstab.

Väliaikaiset tiedostot tmpfs-osiolle

Eräs helppo tapa vähentää levylle tehtäviä kirjoitusoperaatioita on siirtää väliaikaisia tiedostoja ja jatkuvasti päivittyviä lokitiedostoja sisältävät /tmp, /var/tmp ja /var/log -hakemistot tmpfs-osiolle. Tmpfs-osiolla olevia tietoja pidetään tietokoneen keskusmuistissa aina, kun se on mahdollista, ja vain muistin käydessä vähiin tai esimerkiksi siirryttäessä lepotilaan tiedot siirretään SSD-muistille ("kiintolevylle").

Nämä hakemistot asetetaan tmpfs-osioiksi lisäämällä /etc/fstab-tiedostoon rivit

tmpfs      /var/log        tmpfs        defaults           0    0
tmpfs      /tmp            tmpfs        defaults           0    0
tmpfs      /var/tmp        tmpfs        defaults           0    0

Nyt seuraavan käynnistyksen jälkeen kyseiset hakemistot sijaitsevat tmpfs-osiolla.

Tämä ei kuitenkaan välttämättä riitä, sillä lokitiedostoja ylläpitävä sysklogd ei välttämättä osaa käsitellä oikein tilannetta, jossa /var/log-hakemisto on tyhjä (ongelman virheraportti Ubuntun vianseurantajärjestelmässä). Tällöin on käynnistyksen yhteydessä luotava /var/log-hakemistoon hakemistorakenteen pohja. Ohjeet tähän löytyvät Ubuntun AcerAspire One -ohjeesta (katso kohta REDUCING SSD WEAR).

Firefoxin profiili tmpfs-osiolle

Firefox käyttää surffailun aikana melko paljon omaa tietokantaansa, joka sijaitsee .mozilla/firefox-hakemistossa. Tämän hakemiston siirtäminen tmpfs-osiolle nopeuttaa Firefoxia huomattavasti. Tällöin on kuitenkin muistettava tehdä sellaiset asetukset, että profiili otetaan talteen massamuistin puolelle koneen sammutuksen yhteydessä ja palautetaan se koneen käynnistyessä.

Aloitetaan varmuuskopioimalla Firefoxin profiili komennolla

cp -R ~/.mozilla/firefox ~/.mozilla/firefox_backup

Seuraavaksi luodaan skripti, joka sammutuksen yhteydessä kopioi Firefoxin profiilin hakemistoon .mozilla/fi ja käynnistyksen yhteydessä palauttaa nämä tiedostot käyttäen rsync-synkronointisovellusta. Luo tiedosto /etc/init.d/ffprofile ja kirjoita sen sisällöksi

#!/bin/sh

error=0
tunnus=tähän_käyttäjätunnuksesi
case "$1" in
start)
    echo "Calling rsync -av --delete /home/$tunnus/.mozilla/fi/ /home/$tunnus/.mozilla/firefox/"
    rsync -av --delete /home/$tunnus/.mozilla/fi/ /home/$tunnus/.mozilla/firefox/
    exit $error
    ;;

stop)
    echo "Calling rsync -av --delete /home/$tunnus/.mozilla/firefox/ /home/$tunnus/.mozilla/fi/"
    rsync -av --delete /home/$tunnus/.mozilla/firefox/ /home/$tunnus/.mozilla/fi/
    chmod -t /home/$tunnus/.mozilla/fi/
    chmod og-w /home/$tunnus/.mozilla/fi/
    exit $error
    ;;

*)
    echo "Usage: /etc/init.d/ffprofile {start|stop}"
    exit 1
    ;;

esac

Anna tiedostolle myös suoritusoikeudet ajamalla pääkäyttäjänä komento

chmod +x /etc/init.d/ffprofile

Seuraavaksi luodaan symboliset linkit tähän tiedostoon eri ajotasoille siirryttäessä läpikäytäviin /etc/rcX.d-hakemistoihin. Jotta synkronointi tehtäisiin sammutuksen ja uudelleenkäynnistyksen yhteydessä (ajotasot 0 ja 6), luodaan linkit komennoilla

ln -s /etc/init.d/ffprofile /etc/rc0.d/K01ffprofile
ln -s /etc/init.d/ffprofile /etc/rc6.d/K01ffprofile

Käynnistyksen yhteydessä taas siirrytään jakelusta riippuen eri ajotasolle. Debian-pohjaisissa jakeluissa (mm. miniläppäreissä usein käytetyssä Ubuntussa) se on 2, jolloin linkki luotaisiin komennolla

ln -s /etc/init.d/ffprofile /etc/rc2.d/S99ffprofile

Nämä komennot vaativat pääkäyttäjän oikeudet.

Joissain jakeluissa oletusajotaso on 5, jolloin edellisessä komennossa luku 2 on korvattava luvulla 5. Oletusajotason näkee /etc/inittab-asetustiedostosta.

Enää on selviydyttävä tapauksesta, jossa kone ei sammukaan puhtaasti, jolloin Firefoxin profiili jää päivittämättä levylle. Luodaan tätä varten ajastettu tehtävä, joka kopioi tunnin välein Firefoxin profiilin samaan paikkaan kuin yllä luodut skriptit. Tämä onnistuu luomalla tiedosto /etc/cron.hourly/ffprofile johon sisällöksi tulee

#!/bin/sh
tunnus=tähän_käyttäjätunnuksesi
echo "Calling rsync -av --delete /home/$tunnus/.mozilla/firefox/ /home/$tunnus/.mozilla/fi/"
rsync -av --delete /home/$tunnus/.mozilla/firefox/ /home/$tunnus/.mozilla/fi/
chmod -t /home/$tunnus/.mozilla/fi/
chmod og-w /home/$tunnus/.mozilla/fi/

Nyt olemme valmiit siirtämään Firefoxin profiilin lopullisesti tmpfs:lle. Lisätään /etc/fstab-asetustiedostoon rivi

tmpfs     /home/käyttäjätunnuksesesi/.mozilla/firefox    tmpfs     defaults   0    0

ja littämällä uusi tmpfs-osio komennolla

mount -a

Kopioidaan tämän jälkeen vielä vanha profiili paikoilleen komennolla

cp -R ~/.mozilla/firefox_backup ~/.mozilla/firefox

Tämän jälkeen kaikki on valmista ja Firefox toimii huomattavasti nopeammin.

Ohjelmien sovittaminen pienelle näytölle

Miniläppäreiden korkeussuunnassa pienet näytöt aiheuttavat joskus ongelmia sovellusten kanssa.

Firefox

Oletuksena Firefox vie melko paljon turhaa tilaa näytöltä korkeussuunnassa. Ensinnäkin kannattaa vaihtaa yläpalkin kuvakkeet pienemmiksi napsauttamalla hiiren kakkospainikkeella vaikka seuraava- ja pysäytä-painikkeiden välistä, valitsemalla Muokkaa ja valitsemalla aukeavasta ikkunasta kohta Pienet kuvakkeet.

Firefoxin alareunassa oleva tilapalkki on yleensä täysin turha, joten sen piilottaminen on hyvä idea. Sen saa menemään automaattisesti piiloon asentamalla AutoHide Statusbar -liitännäisen.

Firefoxin palkkien viemää tilaa voi vielä pienentää asentamalla Classic Compact -teeman.

Compiz Fusion ja Gnome

Miniläppäreiden matalat näytöt aiheuttavat joskus ongelmia, jos ohjelmat eivät osaa sovittaa ikkunoitaan mataliin näyttöihin. Ongelmia tulee tilanteessa, jossa ikkunan yläreuna menee ulos näytöltä. Oletuksena Compiz Fusion ei Gnomessa anna siirtää tällaista ikkunaa vapaasti näppäinyhdistelmällä ALT+hiiren ykköspainike. Tämä voidaan kuitenkin sallia komennolla

gconftool-2 --set /apps/compiz/plugins/move/allscreens/options/constrain_y --type bool 0

Tämä asetus tallentuu Gnomen asetuksiin eikä sitä tarvitse enää myöhemmin asettaa.

Näytön tarkkuus (dpi)

Miniläppäreiden näytöt ovat kokoonsa nähden normaalia tarkempia, joten kirjasinten tarkkuutta (dpi, pistettä tuumaa kohden) voi olla hyvä muuttaa. Monesti oletusarvo on esimerkiksi 96 dpi, mutta parempaa laatua ja hieman pienempää tekstiä saa pudottamalla arvon esimerkiksi 82 dpi:hin.

Tämä onnistuu Gnomessa Ulkoasun asetukset -työkalussa valitsemalla kirjasimet-välilehdeltä Lisäasetukset" ja asettamalla haluttu tarkkuus aukeavassa ikkunassa.

Katso myös