iBook ja muistin lisääminen

Mac OS X, kuten monet muutkin käyttöjärjestelmät, rakastavat muistia. Mitä enemmän, sitä parempi. OS X toimii ihan hyvin iBookin vakiomäärällä muistia 512MB, mutta useamman softan ollessa yhtäaikaa päällä on käyttö hieman tahmeaa. Onneksi muisti on kohtalaisen edullista ja ohjeita muistin omatoimiseen lisäämiseen on netissä tarjolla. Yksi hyvä sivusto on PB FixIt Guide, jossa on ohjeita Powerbookkien, iBookkien ja Mac Minien korjaamiseen selkeiden kuvien kera.

FixIt Guiden ohjeet eivät ole ihan ajantasalla. Alkuun hankalalta vaikuttanut muistinlisäys onnistuikin itseasiassa todella helposti. Ohjeista poiketen ei syksyllä julkaistussa iBookissa tarvinnut irroittaa Airport-korttia tai nykiä piuhoja. Akku pois, näppäimistö auki, suojalevyn ruuvit ja levy pois edestä ja muistipalikka sisään. Helppoa.

Yksinkertainen operaatio näytti seuraavalta:

muisti on nam muisti on nam muisti on nam muisti on nam muisti on nam muisti on nam

Kuten kuvista voinee sanoa, on digikamera nähnyt parhaat päivänsä. Toki oikea syyhän on aina kuvaajassa, mutta laitteen kierrättäminen lattian kautta ei ole elektroniikalle kovin terveellistä.

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ä.

MySQL:n käyttöönotto aloittelijoille

Reallylinux.comissa on hyvä artikkeli MySQL:n käyttöönotosta Linuxissa. ”So You’d Like To Use MySQL – Getting Started with the World’s Most Popular Open Source Database” esittelee lyhyesti MySQL tietokannan ja antaa ohjeita asennukseen (rpm, binaarit ja lähdekoodi) ja lyhyet vinkit toimenpiteistä, mitä pitää tehdä ennen käyttöönottoa.

Ihan hyvä artikkeli vähemmän Linuxia käyttäneille. Artikkeli mainitsee jakelupakettien kautta saatavat MySQL-paketit, mutta kehottaa käyttämään MySQL:n omia paketteja nopeamman päivitystahdin vuoksi. On silti syytä pysyä jakelupakettien pakettijärjestelmän (mm. apt-get, portage, YaST, yum, up2date) omissa MySQL-paketeissa, sillä yhteensopivuus järjestelmän kanssa on parempi (init-skriptit, logitus jne.)

Artikkeli on ihan hyvää luettavaa, jos MySQL ja tietokannat eivät ole tuttuja ja suunnittelmissa on tietokannan asentaminen nurkassa nököttävälle Linux-purkille.

MySQL ei ole ainoa olemassa oleva tietokanta, mutta ehkä se helpoiten alkuunpäästävä ja ohjelmien tuki on hyvää. Toinen mainio vaihtoehto on myös PostgreSQL. Tehokkuudesta ja nopeuseroista ja tuen laajuudesta en lähde tässä spekuloimaan. Molemmille on hyvät dokumentoinnit verkossa, joilla pääsee alkuun.

MySQL-tietokannan varmuuskopiointi

Elokuun tenttiviikosta on selvitty, lähes, joten on taas aikaa kirjoitella hieman.

Kuten kaikki tietävät on varmuuskopioiden tekeminen tärkeää, koska laitteistorikot ja muut sattumat voivat osua juuri pahimpaan mahdolliseen aikaan. Tällöin tietoa on toivottavaa ja mielekästä etsiä mahdollisimman tuoreista varmuuskopioista.

MySQL-tietokantaa on helppo varmuuskopioida Linux-maailmassa pienellä skriptillä. Tarvitaan vain muutamat mysqldump ja scp -lauseet ja kanta on tallennettu omalle koneelle ja toivottavasti vielä jollekin toiselle koneelle.

Lyhyesti: Teemme Bash-skriptin sisältäen muutamat muuttujat ja tarvittavat lauseet. Skripti kommentteineen löytyy täältä ja näyttää suurinpiirtein seuraavalta:

#!/bin/bash
#
# MySQL mysqldump + backup with scp

# We need user with enough privileges to dump (or use an user who has all privileges)
# grant select,reload,process,lock tables on *.* to db_user@localhost identified by 'password';

# For crontab 1 times a day,  add this to your crontab (crontab -e)
# remove the ">/dev/null 2>&1" if you want email if backup done ok
# 0 6 * * * /home/user/mysqldump.sh >/dev/null 2>&1

DB_USER='db_user'
USER='user'
PASSWD='password'
HOST='host.net'
DESTINATION='backups'

# backup with date (2005-08-24)
DATE=`date -I +%F`

# If you want to compress your backups directly even without hitting your HD. You can try this command:
#
mysqldump --opt -u $DB_USER --password="$PASSWD" --all-databases | bzip2 -c > db_backup-$DATE.sql.bz2

# Sending the backup file with scp
# You need to have ssh-keys used so that no passwords are asked
# Or use scp manually
scp db_backup-$DATE.sql.bz2 $USER@$HOST:~/$DESTINATION