Linux miniläppäriin
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, pieni virrankulutus, hidas kirjoitusnopeus ja kuluminen (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, siinä tiedostojärjestelmä pitää kirjaa levylle tehtävistä muutoksista (journalointi) mikä aiheuttaa ylimääräisiä kirjoitusoperaatioita. SSD-levylle varustetuissa miniläppäreissä kannattaakin sen sijaan 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 olla myös levyn laitetiedosto, kuten /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 muistissa 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 Ubuntu-jakelun 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
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
Jonka 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 kohdan 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.