Windowsista® Linuxiin®
abc

Päivitetty viimeksi: 22.04.08

Sisällysluettelo

Esipuhe
Kiitokset
1. Johdanto
2. Pari linkkiä alkuverryttelyksi
3. Ja tästä on hyvä aloittaa...
Mitä tarkoittaa distro?
Mistä näitä distroja sitten voi hankkia?
Pikaohjeet SuSE Linux 8.2 ftp-asennukseen
Iso-tiedoston polttaminen CD:ksi
md5sum.exe
Minkä nimiset paketit pitäisi imuroida?
Mitä paketteja eri distrot sisältävät?
Mitä ovat laitenimet?
Mitä osioita (partitioita) pitäisi tehdä?
Kotihakemiston siirtäminen toiselle osiolle
Linuxin hakemistorakenne (tiedostojärjestelmä)
Tiedostojärjestelmän ja osion ero?
Mitä tiedostojärjestelmää kannattaisi käyttää?
ext3-tiedostojärjestelmän luonti ja korjaus
4. Windows ja Linux samalla koneella
Tärkeä tiedotus!
Voiko Linuxin asentaa koneelle, jossa on Windows XP:n OEM-versio?
Windows XP jollakin muulla kuin C-asemalla
Haluan säilyttää Windowsin oman boot loaderin!
Käynnistyssektorin kuvatiedoston kopionti
Ei vaan asennu valmiille osiolle, ei!
Windowsin asennus jäkeenpäin Linux-koneelle
Jos jäi pienikin epävarmuuden tunne...
Miten Linux poistetaan koneelta, jossa on Windows XP?
Miten asennetaan Grub (Lilon korvaava graafinen käynnistyslataaja) jälkikäteen?
Miten lisätään käynnistyviä osioita Grubiin?
Kaksi kiintolevyä
Windows ensimmäisellä ja Linux toisella kiintolevyllä
Linux ensimmäisellä ja Windows toisella kiintolevyllä
Mihin Grub tulisi asentaa, kun asennan useita distroja?
Windows XP:n asennus kadotti Grubin, mitäs nyt tehdään?
Tee Grubista buuttidisketti!
Miten tehdään Linuxin buuttikorppu?
Systeemin palautus Knoppix-CD:n avulla
Toimivatko Windows-ohjelmat Linuxissa?
Toimivatko Dos-ohjelmat Linuxissa?
Toimivatko Windows-pelit Linuxissa?
Voiko Linuxin kautta etäkäyttää Windowsia ja toisinpäin?
Voiko Windowsia ajaa Linuxin kautta?
Kuinka FAT32- ja NTFS-osio (Windows) saadaan näkyviin Linuxissa?
Mount, mtab, mounts, fstab?
Voivatko virukset levitä Linuxissa kuten Windowsissa?
Palomuuri ja NAT
Älä tee rootina (root = pääkäyttäjä) muita kuin huoltotoimenpiteitä ja asennuksia!
Miten saan Linuxin ja Windowsin näyttämään samaa aikaa?
5. Linuxin ohjelmista ja laitteistovaatimuksista
Onko Linuxille varteen otettavaa toimisto-ohjelmistoa?
What about business?
Onko Linuxille CAD-ohjelmaa?
Miksi kaikki sivut eivät näy Linuxissa 'oikein'?
Linux & Bluetooth
Gprs ja bluetooth
Linux & USB-muisti
Linux & WLAN
Toimivatko Ultra ATA/100, Ultra ATA/133 ja Serial-ATA kiintolevyt Linuxissa?
CD ja CD-RW Linuxissa
CD-ROM
CD-RW
DVD-levyn poltto Linuxissa
Mp3, VCD, DVD, ...?
Toimiiko tulostimeni Linuxissa?
Digitaalikamera?
Webcam?
Skanneri?
Nettipuhelin?
Minkälaiseen konepakettiin Linux asentuu?
Näytönohjaimet: ATi ja nVidia
Esimerkki wanhan näytön konfiguroinnista
Linux kannettavaan?
6. Hyödyllistä tietoa
Konsoli ja komennot, käyttövinkkejä
Kiintolevyn kloonaus
Superman?
Tiedostonhallinta, editorit
Virtuaalikonsoli
Näyttötilan vaihto ja virtuaaliresoluutio
Mikä ihmeen X (X, ikkunamanagerit ja työpöytäympäristöt)?
Monta X:ää
X ei käynnisty!
X ei käynnisty Debianissa!
Usean Linuxin ajaminen yhtäaikaisesti
Näppis ei toimi Lilossa
Linux jumittui?
Linuxin pikasammutus
Disketin formatointi
En ymmärrä, miten saan disketin näkymään Linuxissa
Unohdin rootin salasanan - mitä voin tehdä?
Linuxin päivittäminen
Onko Linuxissa GetRightin tapaista Download-ohjelmaa?
P2P-ohjelma Linuxille?
Miten päivitän BIOSin, kun Linuxissa ei ole Dosia?
Ohjelmien asentaminen
Ohjelmien asentaminen APT-ohjelmalla
Lämmöt näkyville!
Mikä on Linuxin autoexec.bat (omat skriptit)?
Iso-tiedoston sisällön katsominen Linuxissa
Apuva!
Pelkkää viivaako (--)?
7. Asennuskokemuksia ja -ohjeita
Red Hat 8.0 ja 9
SuSE 8.1 (ja päivitys 8.2:een)
Debian 3.0
Mandrake 9.0 ja 9.1
Spectra 1.2
8. Ohjelmien päivitys ja lisääminen valikkoon
Mozilla 1.3b päivitys esimerkkinä (SuSE 8.1)
Mozillan lisääminen menuun
9. Yhteenveto
LIITE

Huom! pääsivu on niin suuri, että se ei ehdi hitailla modeemeilla latautua kokonaan. En toistaiseksi ehdi jakaa sivua pienempiin osa-alueihin, joten tein pääsivusta tar.gz-paketin, jonka voi ladata sivultani http://tapsa.terae.net/linux/programs/index-05-04-09.tar.gz. Pura paketti:

tar zxvf index-05-04-09.tar.gz

Esipuhe

Ohitan tässä Linux-oppaassa lähes täysin kysymyksen, mikä on Linux. Miksi? Koska suomalaisille on itsestään selvää, että Linus Torvalds on Linuxin 'keksijä' ja Linuxin tarinan pitäisi olla suomalaisille yhtä tuttu kuin Kalevala, sillä erotuksella, että Linux ei ole tarua ;-)

No jos jollekulle Linuxin syntyvaiheet ovat epäselviä, niin lyhyesti sanottuna Linux on ilmainen, yleisellä GNU-lisenssillä levitettävä, Unix-klooni, jonka isä on Linus Torvalds. Teknisesti puhuen Linux taas on monen käyttäjän moniajojärjestelmä.

Jos ollaan oikein tarkkoja, niin Linux on pelkkä kerneli (käyttöjärjestelmän ydin), jonka ympärille lisätyt komponentit vasta muodostavat varsinaisen käyttöjärjestelmän, jota yleisimmin kutsumme Linuxiksi. Ja monet näistä komponenteista ovat olleet olemassa jo ennen Linuxin syntyä osana Free Software Foundationin (FSF) käynnistämää GNU-projektia, joten Linuxista voidaan käyttää myös nimitystä GNU/Linux.

Linuxin syntyvaiheista saa hyvän kuvan lukemalla lyhyen katsauksen Linus Torvaldsin elämästä sivulta About Linus Torvalds, johon on otettu mukaan myös Linusin jo lähes legendaariseksi muodostunut viesti 25.8.1991 comp.os.minix-uutisryhmässä: "I'm doing a (free) operating system...". Pingviinin valinta Linuxin logoksi ja miksi pingviinin nimenä on Tux, selviää taas sivulta http://www.sjbaker.org/tux/.

Täydellisimmin Linuxin historiaa on käsitelty sivulla http://www.linux.org/, jossa myös selvitetään yleisen GNU-lisenssin (GNU General Public License = GPL) merkitystä. GNU muuten tulee sanoista "GNU's Not Unix" :-) Olennaisinta tuossa lisenssissä on, että kuka tahansa voi aivan laillisesti kopioida ja levittää ohjelmaa, tehdä siihen muutoksia ja saada käyttöönsä ohjelman lähdekoodin. Siksi puhutaan usein avoimen lähdekoodin ohjelmista (open source). Omaa muokattua ohjelmaa voi vieläpä myydä tietyin edellytyksin, ks. sivu http://www.gnu.org/copyleft/gpl.html. Myös kokonaista Linuxia voi muokata vapaasti ja siitä voi tehdä vaikkapa oman version GPL-lisenssin ehtoja noudattaen.

Kiitokset

Tämän sivun sisältöön ovat merkittävästi vaikuttaneet sfnet.atk.linux -viestialueella kirjoittaneet henkilöt, joiden neuvoista ja vinkeistä olen yrittänyt muodostaa jonkinlaisen yhteenvedon yleistä kiinnostusta herättäneistä ja ongelmia aiheuttaneista asioista. Yritän parhaani mukaan seurata viestialueen keskusteluja ja ottaa sivustolleni mukaan asioita, joita kysytään toistuvasti.

Haluan kiittää kaikkia kirjoittajia yhdessä ja erikseen kunnioitusta herättävästä auttamisen halusta (jotkut käyttävät suunnattomasti aikaa 'vääntääkseen rautalankamallin' jollekin vasta-alkajalle) sekä hyvistä neuvoista ja vinkeistä. Ilmoitathan myös ystävällisesti mahdollisista virheistä sivuillani :-)

Lähtökohtani sivuston tekemisessä on ollut koota yhdelle sivustolle talteen asiat, joiden kanssa Linuxiin tutustuva joutuu tekemisiin lähinnä ensimmäisen käyttövuoden aikana. Sen jälkeen lähes jokaisella asiasta kiinnostuneella onkin jo jonkinlainen perusta olemassa - ja voi keskittyä enemmänkin expert-puolen asioihin, joita oma sivustonikin on pullollaan mutta mukavasti muun tekstin sekaan ujutettuna ;)

Suosittelemani suomenkielinen Linux-opetussivusto on edelleenkin sfnet.atk.linux-FAQ (eli useimmin kysytyt kysymykset Linuxista), jota kannattaa ehdottomasti hyödyntää Linuxiin tutustumisessa. Myös Ilpo Kuivasen Linux-kurssia http://cs.stadia.fi/~kuivanen/linux/ voin suositella. Lisäksi merkistöongelmien kanssa taistelevien (ne ikuiset skandiongelmat) kannattaa vierailla ensitöikseen Ari Mäkelän http://arska.org/finnish-howto/html/ -sivulla. No Samban skandiongelmien ratkaisua tuolta ei löydy mutta se löytyy em. mainitsemaltani sfnet.atk.linux-FAQ-sivulta http://sal-faq.sourceforge.net/other-formats/sal-faq.html#SAMBAN-SKANDIT.

Suomessa on kokonaisia Linux-portaaleja toistaiseksi hyvin vähän mutta ainakin sivuston Raja-antura http://raja-antura.org/ voisi lukea sellaiseksi.

Tulossa on myös täysverinen Linux-portaali www.linux.fi/ (linux.fi/), jonka tarkoituksena olisi olla ensisijainen kosketuspinta suomenkieliselle Linux-käyttäjälle kaikkeen Linuxiin liityvään maassamme. Myös sivustoon wiki.linux.fi/ MediaWiki kannattaa tutustua. Sivustolla voi kuka tahansa kirjoittaa tai muokata toisen kirjoittajan artikkeleita.

Linux-tekijä 2004 Kiitokset myös FLUG ry:n valtuuttamalle palkintolautakunnalle, joka myönsi minulle Linux-tekijä 2004 -arvonimen tunnustuksena merkittävästä työstä Linuxin hyväksi.

Johdanto

Tämän sivuston tarkoituksena on auttaa etenkin Windowsin käyttäjiä Linuxiin tutustumisessa ja siirtymisessä, ja toimia näin jonkinlaisena asennus-FAQ-tiedostona tai ensiapuna. Tarkoitus ei ole 'kilpailla' minkään muun sivuston kanssa vaan antaa aivan käytännön läheisiä ohjeita asennuksesta ja Linuxin peruskäytöstä.

Tämän joulukuussa -02 alkaneen yhden miehen vapaa-ajan projektin työnimi 'Windowsista Linuxiin abc' ei tietenkään tarkoita, että kaikkien pitäisi nyt siirtyä Windowsista Linuxin käyttäjiksi, mutta koska Linux kiinnostaa yhä useampia ja sille alkaa löytyä Windows-versioita vastaavia ohjelmia - jopa parempiakin - niin haluan omalta osaltani auttaa kiinnostuneita pääsemään sisälle tähän Windowsista monessa kohden poikkeavaan käyttöjärjestelmään.

Haluan erityisesti painottaa, että nykyiset Linux-jakelut eivät ole vain pelkkiä käyttöjärjetelmiä vaan sisältävät gigatavuittain erinomaisia hyöty- hupi- ym. ohjelmia, joista Windowsin ostajat voivat vain haaveilla. Ja kun tämän kaiken saa lisäksi täysin ilmaiseksi... Miksiköhän jotkut vielä ihmettelevät Linuxin saamaa suosiota, ihmettelen itse ;-)

Lisäksi virukset, madot ym. eivät ainakaan toistaiseksi ole olleet Linux-käyttäjien riesana (edellyttäen tietoturvasta huolehtimista), ja itse panenkin myös sille asialle paljon painoa selaimia ja sähköpostia käytettäessä. Mutta liialliseen turvallisuuden tunteeseen ei kannata tuudittautua. Pahin virhe aloittelijalle on käyttää Linuxia root-tunnuksella (pääkäyttäjän tila) ja jättää tietoturvapäivitykset hakematta. Myös palomuurin (firewall) tarpeellisuuden ymmärtänee jokainen tietokoneen käyttäjä. Linux-jakeluissa on ohjelmallinen palomuuri valmiina ja se kannattaa ottaa ehdottomasti käyttöön ainakin oletusasetuksilla, ks. kuva Fedoran asennuksen yhteydessä valittavat palomuuriasetukset.

Olen asentanut kiintolevylle (tai vaihtoehtoisesti kahdelle kiintolevylle) mm. seuraavat Linux-versiot:

Kuten huomataan, niin asentamani Linux-versiot ovat hieman vanhoja (vuosilta 2002-2004), ja uutta asennusta suunnittelevan kannattaakin tietysti hankkia uusimmat versiot ohjelmista (parempi rautatuki ym.). Kuitenkin asennusohjeistani selviää melko hyvin, mitä ongelmia Linuxin kanssa voi tulla vastaan ja mikä taas on lastenleikkiä muiden käyttöjärjestelmien asennukseen verrattuna. Toki päivitän sivujani sitä mukaa kuin aika antaa myöten ja yritän jakaa kokemuksiani asennuksesta, käytöstä ym. muillekin, kun mielestäni jotain kirjoittamisen arvoista tulee mieleen ja josta uskon olevan aloittelijoille hyötyä.

Monet ovat toivoneet ohjeita myös muillekin suosituille distroille kuten MEPIS, Gentoo, Ubuntu ja Slackware. Yritän testata näiden Linux-jakeluiden uusimpia versioita vielä kesän 2005 aikana. Ja rh-pohjaisen Slackwaren puuttuminen sivuiltani on vaivannut minuakin pitkään - siitähän nimittäin itsekin aloitin Linuxin käytön joskus 90-luvun puolivälissä ;-)

Uskoisin sivuistani olevan apua myös jo pidemmälle ehtineille Linux-käyttäjille, koska olen käsitellyt (ja tulen käsittelemään) asioita, jotka herättävät jatkuvasti kysymyksiä Linuxin eri uutisryhmissä. Olen kiinnittänyt erityisesti huomiota eri Linux-versioiden lisäämiseen Grub-käynnistyslataimeen (GRUB = GRand Unified Bootloader), koska se näyttää tuottavan monille ongelmia. Olen käsitellyt myös jonkin verran Linuxin toisen käynnistyslataimen, Lilon (LILO = LInux LOader), käytön ongelmia. Käynnistyslataimesta (engl. boot loader) käytetään myös nimitystä alkulatausohjelma.

Voit tutustua myös GRUB Manual -sivuun, joka sisältää Grubin käyttöohjekirjan html-muodossa.

Edellä mainittujen distribuutioiden lisäksi olen tutustunut myös Spectra Linuxiin - onhan se asennusta myöten suomenkielinen ja kirjastoista lainattavissa hyvän asennusoppaan kera!

Esitän myös malliksi kuinka helppoa (tai vaikeaa!) 2.4-sarjan kernelin kääntäminen on! Saat myös vinkkejä mm. Bluetooth ja gprs -yhteyden muodostamisesta sivuiltani!

Mainittakoon vielä, että samalla 40 gigan levyllä on ennestään OS/2:n Boot Manager (siitä en luovu!), Win 98 (tai vaihtoehtoisesti Win ME) sekä Warp 4 (tai MCP2), ja eri Linux-versiot käynnistetään Boot Managerista käynnistyvällä Grub-käynnistyslataajalla. Joten jos minun koneessani eri käyttöjärjestelmät ovat sulassa sovussa keskenään, niin kyllä ne toimivat myös Sinun koneessasi - kunhan vain tiedät oikeat niksit.

Ikävä kyllä - en millään ehdi pitää mammuttimaiseksi paisunutta pääsivua ajan tasalla, etenkin kun uusia Linux-jakeluita tulee niin tiuhaan tahtiin. Onneksi uudet jakelut vaativat yleensä aikaisempaa vähemmän käsityötä, joten odotan vain aikaa, jolloin voin poistaa sivuni netistä tarpeettomina ;-) Tällä hetkellä kuitenkin kannattaa seurata vasemmalla olevassa menussa olevia yksityiskohtaisempia ohjeita kokeilemistani distroista ym. ja käyttää pääsivun alussa olevaa hakupalvelua sivuiltani avuksi. Muistathan myös, että voit etsiä haluaasi tekstiä selaimella aktiivisena olevalta sivulta Ctrl-f -näppäimillä.

Linuxin käyttäminen palvelimena ei kuulu tämän esityksen piiriin (tutustu news:sfnet.atk.linux.palvelimet-uutisryhmään, jos asia on sinulle ajankohtainen). Myös sivusta RedHat 9.0 + Apache + PHP + PostgreSQL (Palveluiden peruskonfigurointia) lienee paljon apua aloittelijoille.

Kiitollisena otan myös vastaan palautetta ja vinkkejä sähköpostitse :)

Pahoittelen myös, etten ole ehtinyt vastailla kaikkiin sähköpostiviesteihin. Aikani ei yksinkertaisesti ole riittänyt kaikkeen mahdolliseen. Tämä on kuitenkin itselleni vain harrastus monen muun joukossa. Mutta innostus tietokoneisiin on kuitenkin säilynyt jo 80-luvun puolivälistä alkaen, kun ensimmäisen kerran sain tutustua IBM:n 4.77 MHz:n 8086-prosessorilla varustettuun PS/2-koneeseen, jossa oli 20 Mt:n kiintolevy, keskusmuistia ruhtinaalliset 640 kt ja DOS 3.2 -käyttöjärjestelmä!

Ja vielä kielenkäytöstä: vaikka yritänkin vaalia hyvää suomenkieltä kaikissa kirjallisissa esityksissäni, olen tämän sivuston kanssa joutunut tekemään hieman myönnytyksiä mm. hakupalvelujen takia. Yllätyksekseni Googlen hakukoneeseen syötetty hakusana tapsa on ensimmäisenä hakutuloksissa mm. ennen Tapsa Rautavaaraa tai Tapsa Kansaa (tarkistetty syksyllä 2004). Sivujeni saaman suuren suosion takia tunnen vastuuni vierailijoita kohtaan ja siksi, etsintää helpottamaan, sivuiltani löytyy samoja asioita eri nimityksillä kuten esim. disketti, levyke, korppu ja floppy - eihän sitä nimittäin koskaan tiedä, mitä hakusanaa tietoa etsivä sattuu käyttämään ;)

Toinen jatkuvaa pohdintaa aiheuttava asia on eri termien kirjoitusasu. Pitäisikö siis kirjoittaa Lilo, LiLo vai LILO? Koska lyhennys tulee sanoista 'LInux LOader' voitaisiin oikeana kirjoitusasuna ajatella sanaa 'LILO'. Kuitenkin 'Lilo' on enemmän suomenkielen mukainen asu, jota itse käytän. Sama koskee tietysti myös muita erikoisia kirjoituasuja kuten nVidia. Ja mitä itse Linuxiin tulee, niin toivoisin suomenkieliseksi kirjoitusasuksi yleistyvän muodon Linuks tai linuks ainakin arkikäytössä, jolloin genetiivimuoto olisi Linuksin tai linuksin eikä suomalaisittain outo Linuxin ;-)

Voit tarkistaa sanojen oikeat kirjoitusasut sivulta http://lokalisointi.org/sanakirja/.

Pari linkkiä alkuverryttelyksi ei-missään-järjestyksessä:

Mikä on Linux?
www.linuxbase.org
www.linuxiso.org/
http://loll.sourceforge.net/linux/links/
Linus Torvalds
sfnet.atk.linux FAQ
Finnish HOWTO
sfnet.atk.linux
Suomen Linux-käyttäjien yhdistys
Linux-aktivaattori
www.linuxlinks.com/
www.nordicos.org
LDP (The Linux Documentation Project) HOWTO-INDEX
MuroBBS - Linux FAQ aloittelijoille
Raja-antura - GNU/Linuxia suomeksi
Bittivuoto: Linux-vinkkejä ja -uutisia
RedHat Linux
SUSE LINUX
Debian GNU/Linux
Mandrake Linux
United Linux
Linspire (ent. Lindows)
DistroWatch
Linux Terminal Server Project (LTSP)
K12 Linux Terminal Server Project
Skolelinux (Universal)
www.linuxguruz.org
Linux kannettavaan
Linux ja PDA
Etsivä löytää
Linux-romput edullisesti
Huutokaupastakin voisi löytyä...
Linux-opas (engl.)
Linux-related documents...
...kuten Linux Newbie Administrator Guide
Linux Tutorials
SuSE Linux Guide for Geeks
Linux Frequently Asked Questions with Answers
LinuxQuestions-foorumi
Tärkeää Linux-dokumentaatiota
LinuPlanet: Tutorials
KDE:n dokumentaatio
KDE-ohjelmat
Pingviinejä edestä ja takaa...

Ja tästä on hyvä aloittaa...

Mitä tarkoittaa distro?

Distro tarkoittaa Linuxin levitys- eli jakeluversiota (pakettia), engl. distribution. Nimitys distro on yleistynyt myös kansainväliseen kielenkäyttöön eli joka maassa tiedetään, mitä tarkoitetaan, kun puhutaan 'distrosta'. Distro ei ole pelkkä käyttöjärjestelmä Windowsin tapaan ajateltuna vaan alun perin joihinkin erityistarpeisiin luotu kokonaisjärjestelmä tiettyine apuohjelmineen.

Linuxeista puhutaan yleensä Red Hat -pohjaisina tai Debian-pohjaisina. Tunnetuinpia rh-pohjaisia Linuxeja ovat Fedoran lisäksi SUSE LINUX ja Mandriva. Debian-pohjaisia ovat Debianin lisäksi esim. Ubuntu ja Linspire.

Eri distrot eivät siis ole kokonaan eri käyttöjärjestelmiä vaan kerneli (ydin) on periaatteessa kaikissa sama (ja tätähän vain tarkasti ottaen pitäisi kutsua Linuxiksi), joten eri distroja ei siis voi verrata esim. Windows 98:n ja XP:n välisiin eroihin. Toki kernelin käännön yhteydessä voidaan ottaa vain haluttuja komponentteja mukaan, joten vaikka kerneli on sama niin se ei kuitenkaan ole sama! Eri distroilla on myös paljon muitakin yhteisiä komponentteja (kuten työpöytäympäristöt KDE tai Gnome), joten kun tutustuu yhteen Linux-versioon, niin toisen omaksuminen on helppoa.

Linuxiin vasta tutustuvalle distrojen runsaus aiheuttaa hämminkiä, mutta pidemmälle ehtinyt harrastaja pitää runsautta rikkautena. Jotkut distrot ovat hyvin pitkälle erikoistuneita, mutta myös yhdistämispyrkimyksiä on ollut esillä, esimerkkinä United Linux -projekti. Ja mikäpä estää Sinua tekemästä vaikkapa aivan omaa distroa, ks. ohjeet sivulta http://www.linuxfromscratch.org/ - kun nyt ensin pääset Linuxin perusteista jyvälle. No jaa, lue nyt kuitenkin ensin kirja http://www.linuxfromscratch.org/view/stable/ huolellisesti läpi ennen kuin innostut liikaa :) Voit myös kokeilla sivun http://www.linux-live.org/ ohjeen mukaan oman Live-CD:n tekemistä!

Mistä näitä distroja sitten voi hankkia?

Eri Linux-versioita voi hankkia CD:lle poltettuina edullisesti esim. linkistä http://koti.mbnet.fi/sankalah/ tai http://www.halvalla.net/. Myös Dataclubin tarjontaan kannattaa tutustua (huom, club-alennus ja jäsenalennus FLUG ry:n jäsenille!), josta voi hankkia valmistajan alukuperäiset versiot manuaaleineen päivineen (hinta on silloin tietysti hieman korkeampi kuin 'kotipolttajilla'). Samoin Huuto.netissä näyttää Linuxeja olevan kaupan. Lisäksi monet tietokoneliikkeet myyvät Linuxeja. Kannattaa myös vertailla hintoja MBNetin hintaseurannasta. Kirjoita hakusanaksi vaikkapa Linux.

Jos on nopea internet-yhteys, niin toki Linuxin iso-imaget voi myös imuroida itse ja sitten polttaa CD:iksi. Fedoran (entinen Red Hat) uusimmat versiot saa Fedoran sivulla mainituista peileistä (mirror sites) http://fedora.redhat.com/download/mirrors.html, esim. ftp://ftp.funet.fi/pub/mirrors/ftp.redhat.com/pub/fedora/linux/core/.Mene alihakemistoon /3/i386/iso/, josta löytyy neljä iso-loppuista tiedostoa. Uutuutena on mukana myös DVD:n iso-tiedosto. Imurointiaikaa laskettaessa kannattaa siis pitää mielessä, että tiedostoja joudutaan imuroimaan noin 2.4 gigaa. Red Hat (nykyinen Fedora) on ollut pitkään yleisin Linux-versio, joten on luonnollista, että siinä on helppo ja selkeä asennusohjelma ja itse Linux on kaikin puolin viimeistellyn tuntuinen.

Tiedotus! Tuki Red Hat Linux 7.1, 7.2 ja 8.0 -versioille on lakannut 31.12.2003 ja tuki 9.0-versiolle lakkasi 30.4.2004. Business-puolella Red Hat jatkaa Red Hat Enterprise Linux -nimisenä (RHEL) ja ilmaisen Red Hat -version nimi on jatkossa Fedora Core Linux.

Suomalaisille on tullut tutuksi myös IT Linux 2002, joka perustuu jo hieman vanhempaan Red Hat 7.2 Linuxiin. Suomennetun asennusohjelman vuoksi (sis. myös hyvän kirjasen Linuxista ja asennuksen yksityiskohdista) ja kirjastoista lainattavissa olevana, se on ollut hyvinkin hyödyllinen valinta ensimmäiseksi Linuxiksi englantia huonosti osaaville tai Linuxiin vasta tutustuville. Raimo Koskelta on ilmestynyt myös uudempi versio ohjelmasta ja samalla IT Linux -nimi on jäänyt historiaan, nyt pakettia myydään Spectra Linuxina (Linux - Asentajan käsikirja 2003) edulliseen hintaan. Spectra Linux 1.2:n seuraaja on Lineox Enterprise Linux (LEL), joka on täysin Red Hat Enterprise Linux 3.0 (RHEL) -yhteensopiva. Huom. Lineox jatkoi myös Spectra Linux 1.2:n ja Red Hat 7.3:n tuotetukea ja päivityspakettien tarjoamista paljon virallisen tuen loppumisen jälkeen, ks. lisätietoa sivulta http://www.raimokoski.com/.

Mandriva (ent. Mandrake) sisältää helpon asennusohjelman, jonka takia se on ollut suosittu ja hyvä valinta Linuxiin tutustuvalle.

Debiania pidetään ehkä teknisesti edistyksellisimpänä Linuxina, joten sitä ei voi suositella aivan aloittelijalle. Suurin vaikeus on ollut aloittelijalle hieman vieras asennusohjelma vielä 3.0-versiossa (parannusta on tulossa). Mutta jos on aikaisemmin tutustunut esim. Red Hatiin ja asennuksen periaatteet (osiointi jne.) ovat tutut, niin siitä vaan yrittämään! Ei se nyt niin vaikeata ole, etenkin, jos on kakkoskone, jossa voi testata ensin ohjelmia ennen kuin ottaa ne käyttöön ykköskoneeseen. Debianin iso-imaget vievät seitsemän 650 MB:n CD:tä. Perusasennukseen tarvitaan vain ensimmäinen CD, joten yhdenkin CD:n imuroinnilla tulee hyvin toimeen. Loput (mahdollisesti) tarvittavat ohjelmat voi hakea suoraan netistä Debianin kätevällä Apt-ohjelmalla.

SUSE LINUX on myös hyvä distro Windowsista Linuxiin siirtyvälle, jonka lähes täydellisen version voi imuroida netistä ftp:llä, ks. sivu http://www.novell.com/products/linuxprofessional/downloads/. Vaihtoehtoisesti voi myös tutustua DVD:llä olevaan live-versioon (1.5 Gt), SUSE LINUX live-DVD.

SuSE 8.2:n voi asentaa myös ftp-asennuksena (siis ilmaiseksi) sivun http://www.distrowatch.com/dwres.php?resource=review-suse ohjeiden mukaan muuttamalla versionumerot 8.0:sta 8.2:ksi (ks. myös pikaohjeet alla).

Myös SuSEn 9.0 -versio on ilmestynyt 24.10.03. Uusin versio (kirjoitushetkellä 4.4.04) on SUSE LINUX 9.1.

Tutustu myös yhdelle CD:lle mahtuviin Linuxin kokeiluversioihin, ks. MikroBitin Linux live-CD -esittely http://www.mikrobitti.fi/nettijatkot/2003/03/linux/. Itse olen tutustunut Knoppixiin ja SuSE Linux 8.2 LiveEval CD (ja 9.0) esittelyversioihin ja todennut molemmat erinomaisiksi. Knoppix tunnistaa laitteiston automaattisesti nettiä myöten, joten se on kaikkein helpoin tapa tutustua Linuxiin. SuSE pitää erikseen asentaa, mutta kiintolevyn osiointia ei tarvita (esittelyversio osaa tehdä tarvittavat parin sadan Mt:n tiedostot myös Windows-osioille), joten kokeilu on täysin riskitöntä. NordisKNoppix jopa sisältää suomenkielisen Open Officen Soikko-oikolukuohjelmaa myöten! SuSEn esittely-CD on taas lähes vastaava kuin täydellinen SuSEkin asennusohjelmaa myöten, joten sillä on hyvä harjoitella SuSEn asennusta ja tutustua SuSEen. Kumpikaan ei vaadi erillisten Linux-osioiden tekoa, joten niiden käyttö on täysin turvallista.

Myös Slackwareen pohjautuva SLAX-LIVE CD vaikuttaa mielenkiintoiselta. Jos Mandrake on tuttu, niin MandrakeMove saattaa myös kiinnostaa (asetukset voi tallentaa usb-muistille). Voit myös kokeilla sivun http://www.linux-live.org/ ohjeen mukaan oman Live-CD:n tekemistä :)

Peilattuja yleisempiä Linux-levitysversioita saa useammastakin paikasta, esim. kotimaiselta palvelimelta: ftp://ftp.song.fi/pub/ tai ruotsalaiselta palvelimelta ftp://ftp.sunet.se/pub/Linux/distributions/.

Haluatko luettelon kaikista distroista? Linkistä www.linux.org/dist/list.html löytyy täydellinen luettelo eri Linux-versioista. Paina vain Go-näppylää ja ihmettele!

Pikaohjeet SuSE Linux 8.2 ftp-asennukseen

Oletuspaketit vievät levytilaa asennettuina n. 1.7 Gt (X ja KDE mukana), joten hitaalla modeemiyhteydellä ftp-asennusta ei kannata harkita. Lisäksi asennuksen aikana sattuvat yhteyskatkokset saattavat aiheuttaa vaikeasti korjattavia ongelmia levyjärjestelmän osiointitaulukkoon (partition table). Puhun kokemuksesta!

Asennus on hyvin helppo. Ainoa 'hämäävä' kohta oli aluksi, kun pyydettiin Please make sure that CD number 1 is in your drive!. Asennuksessa pääsee etenemään painamalla joko Esc-näppäintä tai asennusohjelman Back-nappulaa.

Asennusohjelmassa valitaan ensin kieli (englanti) ja sitten näppäimistö (suomi). Seuraavaksi esiin tuleva Main menu on hyvin yksinkertainen:

Laitteisto tunnistettiin muuten automaattisesti (hpt370-liitäntää myöten!) paitsi nettikortti piti itse valita (minulla 3c90x), ja koska en käytä dhcp:tä, syötin ip-osoitteet käsin. Itse asennuksen ei pitäisi tuottaa ongelmia. Katso kuitenkin yksityiskohtaisempi selonteko omasta ftp-asennuksestani.

Iso-tiedoston polttaminen CD:ksi

Iso-loppuinen tiedostoa ei saa kopioida suoraan CD:lle vaan se pitää polttaa asennus-CD:ksi. Nerolla se tehdään Tiedosto -> Polta image -> Valitaan poltettava .iso-tiedosto -> Kirjoita CD. Iso-tiedostoa ei siis tarvitse purkaa minnekään vaan siitä poltetaan asennus-CD suoraan. Jos Neron käynnistyksen jälkeen käynnistyy Wizard, niin klikkaa se pois käytöstä (Peruuta).

Tuon saman voi hoitaa myös Nero Express -ohjelmalla ja siinä se on hyvin yksinkertainen toimenpide: Käynnistä Nero Express -> Levyn image tai tallennettu projekti -> Valitaan tyypiksi 'Image-tiedostot' tai 'Kaikki tiedostot', josta voi valita .iso-loppuisen tiedoston.

Lisätietoa Nerolla polttamisesta saat sivulta http://www.linuxiso.org/viewdoc.php/neroburning.html.

Nerosta on tullut myös Linux-versio http://www.nero.com/en/NeroLINUX.html.

md5sum.exe

Ennen CD:lle polttoa kannattaa tarkistaa md5sum-ohjelmalla, että md5-tarkistussumma ((Message Digest 5) on oikea. Jos olet Windowsissa, käynnistä md5sum.exe Dos-ikkunassa ja kirjoita perään imuroidun paketin nimi. Tuloksena saat numerosarjan, jonka pitää olla täsmälleen sama kuin palvelimelta löytyvässä tekstitiedostossa. Malliksi vielä Spectra Linux md5 checksum.txt

Installation Disk 1: a1a74ff69a7448133c96f4e1b0c04bf4
Installation Disk 2: ff0a33e585ff0232a9a998f0bd4b8995
Installation Disk 3: f437d15811637cd36aa9eceaa7e567f2
uDevix: 88637df5cfa8f29b37b99b1f5733c4a0
uOffix: 9a86ddbd03c358a7cac67f9ed54cfba8

Linux sisältää jo valmiina md5sum-ohjelman ja sitä käytetään vastaavasti kuin Dos-ohjelmaakin, esim. uuden Debianin 3.0 rc1 update-CD tarkistetaan seuraavasti: md5sum debian-update-3.0r1-i386.iso ja verrataan saatua lukua tiedostossa MD5SUMS-update.txt olevaan. Molempien lukujen pitäisi olla samat, c3e92e12fc607dde8e0aec7b4c12bfd0.

Red Hatissa on sitten vielä erikseen Media Check, jolla voi tarkistaa asennuksen alkaessa CD:n oikeellisuuden. Yleensä ensimmäisen CD:n tarkistus riittää.

Minkä nimiset paketit pitäisi imuroida?

X86 tarkoittaa normaaleissa kotikoneissa käytettyä Intel x86 -arkkitehtuuria ja helpointa onkin etsiä i386-hakemisto (tai i586) ja imuroida iso-loppuiset imaget, jotka sitten pitää polttaa CD:lle. Esim. Nerolla se käy helposti (Record a disc from disc image). Iso-loppuinen tiedosto on siis eräänlainen paketti, joka pitää purkaa tiedostoiksi CD:lle luettavaan muotoon (polttosoftat osaavat kyllä homman!). Pelkän iso-imagen poltto datatiedostona ei siis tee siitä asennus-CD:tä.

Jos hakemistossa on myös SRPMS iso-imaget, niitä ei tarvitse imuroida. Ne sisältävät lähdekoodit (SRPMS = Source RPMS). Jos netistä löytyy i686-hakemisto, niin paketit voi huoletta asentaa esim. AMD:n Athlon tai Duron-prosessorilla varustettuihin koneisiin Intelin prosessoreiden lisäksi. Niin, tuo i386 tarkoittaa 80386-koneita ja sitä uudempia (aina P4 ja Athlon / Duron -koneisiin asti); i586 Pentium I koneita ja sitä uudempia; i686 Pentium II ja sitä uudempia koneita. NOARCH-hakemistossa on taas arkkitehtuurista riippumattomia paketteja, jotka käyvät eri prosessorityypeille. Eli jos haluat asentaa Linuxin vanhaan 386- tai 486-koneeseen, niin imuroi i386-hakemiston iso-imaget. Jos palvelimella on myös i586- tai i686-hakemistot, niin kannattaa valita uudemmille prosessoreille optimoidut paketit. Joskus käytetään Athlonille optimoituja paketteja (athlon.rpm-loppuiset tiedostot).

Voit myös törmätä IA32- ja IA64-arkkitehtuureihin (IA = Intel Architecture), jotka tarkoittavat 32- ja 64-bittisiä prosessoreja.

Mitä paketteja eri distrot sisältävät?

Sivulla http://www.distrowatch.com/ on luettelo eri distrojen mukana tulevista paketeista.

Mitä ovat laitenimet?

Linuxissa eri laitteita kutsutaan laitenimillä (engl. devices). Kiintolevyt nimetään Linuxissa (IDE-levy) seuraavasti: 1. levy = /dev/hda, 2. levy = /dev/hdb, 3. levy = /dev/hdc, 4. levy = /dev/hdd, 5. levy = /dev/hde jne. Jos asentaa Linuxin ensimmäiselle kiintolevylle (monillahan ei muita levyjä olekaan), niin laitenimi on silloin /dev/hda.

Laitteet pitää ensin liittää (mount) järjestelmään ennen kuin ne ovat käytettävissä. Laitetiedostot (device files) ovat /dev-hakemistossa ja esimerkiksi levyke (fd = floppy disk) liitetään (mount) ja irrotetaan (umount) seuraavasti:

mount /dev/fd0
umount /dev/fd0  

Samoin kiintolevyt (hd = hard disk) ja eri osiot (hda1, hda2 jne.) liitetään hakemistopuuhun (directory tree). Esimerkiksi ensimmäisessä ide-liitännässä oleva kiintolevy on hda1 ja se liitetään seuraavasti:

mount /dev/hda1

Liitokset ovat /etc/fstab-nimisessä tiedostossa, jossa niiden nimiä voidaan muuttaa halutessa toisenlaisiksi. Seuraavassa esimerkissä Slackwaresta Windowsin C-asema (hda1) onkin nimetty disc0part1:ksi:

/dev/discs/disc0/part1 /mnt/disc0part1 vfat defaults 0 0

Voit tietysti muuttaa sen takaisin Linuxissa yleisesti käytettyyn muotoon:

/dev/hda1 /mnt/windows vfat defaults 0 0

Tietysti /mnt-hakemistossa pitää olla valmiiksi tehtynä windows-niminen hakemisto, jos se halutaan liittää hakemistopuuhun. Muutoksien jälkeen ei edes konetta tarvitse käynnistää uudelleen, kun vain liittää osiot uudelleen mount -a. Edellä olevasta esimerkistä huomataan kuinka rajattomat mahdollisuudet käyttäjällä on muokata Linux-käyttöjärjestelmä halutunlaiseksi - toisin kuin Windowsissa.

Huomaa vielä, että osiolle voidaan siirtyä (cd) vasta kun osio on liitetty (mount) hakemistopuuhun:

 
tapsa@TeraeNet:~$ mount /dev/hda1
tapsa@TeraeNet:~$ cd /mnt/hda1/My*
tapsa@TeraeNet:/mnt/hda1/My Documents$

Edellä siis ensin liitettiin laite (/dev/hda1) ja sitten siirryttiin sinne (/mnt/hda1) cd-komennolla (hda1-hakemiston pitää olla luotu valmiiksi /mnt-hakemiston alihakemistoksi - muuten sinne ei voi siirtyä).

Käynnistyksen yhteydessä liitettävät laitteet ovat /etc/fstab-tiedostossa ja ne rivit, joissa on defaults liitetään jo valmiiksi käynnistyksen yhteydessä, joten mount-komentoa ei enää tarvita. Fstab-tiedostoon tutustumme myöhemmin perusteellisemmin.

Seuraava ongelma onkin sitten löytää oikea osio (engl. partition), joka vastaa Windowsin asematunnuksia (esim. C, D, E jne.) ja jolle Linux asennetaan. C-asemaa vastaava laitenimi on yleensä /dev/hda1, joten älä asenna Linuxia samalle osiolle, jos siellä on ennestään Windows! Linux kyllä tunnistaa käytössä olevan Windows-aseman ja osaa jopa lisätä sen automaattisesti Grubiin (Linuxin käynnistyslataajaan).

Linuxin nimeämiskäytäntö on selkeämpi kuin Windowsin (Dos), koska esimerkiksi ensimmäisen kiintolevyn osion lisääminen (tai poistaminen) ei vaikuta toisen levyn asematunnuksiin. Jos Windows on ensimmäisellä levyllä, jolla on kaksi asemaa (C ja D) ja lisäätkin toisen levyn, niin toisen levyn ensimmäinen asema onkin D (jos se on valittu ensiöosioksi - primary partition) ja ensimmäisen levyn D-asema muuttuu E:ksi, jolloin sillä olevat ohjelmat eivät enää käynnisty muuttuneen asematunnuksen takia. Linuxissa ei vastaavaa voi tapahtua, koska 1. levy (1. ide-liitäntä) on aina /dev/hda ja toinen levy /dev/hdb. Huomaa, että Linuxissa ensimmäinen ensiöosio (primary partition) on /dev/hda1 ja ensimmäinen looginen asema (logical drive) jatko-osiolla (extended partition) on /dev/hda5.

Lisäksi Linuxin hakemistorakenne on joustavampi, koska käyttöjärjestelmä voidaan hajauttaa usealle eri osiolle tai jopa eri levyille ja tarpeen mukaan muuttaa hakemistojen sijaintia.

Ensimmäisen levykeaseman laitenimi on /dev/fd0 (Windowsissa A-asema).

Ide-väyläiset CD-asemat näkyvät Linuxissa samoin kuin kiintolevytkin ja yleensähän 1. asema on toisessa kaapelissa masterina, jolloin sen laitenimi on /dev/hdc. Toinen asema samassa kaapelissa (slave) on silloin /dev/hdd. Huom! Polttava asema näkyy Linuxissa kuitenkin scsi-laitteena, esim. /dev/scd0 ja aseman vaihto scsi-laitteeksi tehdäään käynnistyslataajan parametrilla hdc=ide-scsi (jos siis toisessa kaapelissa masterina), jos sitä ei ole jo ytimessä (kernelissä) määritelty valmiiksi.

Huom. Uudessa 2.6-sarjan kernelissä ei scsi-emulointia enää tarvita ja mahdolliset lisäparametrit ide-laitteen muuntamiseksi scsi-laitteeksi (hdx=ide-scsi) ohitetaan käynnistyksen yhteydessä.

Scsi-laitteet nimetään vastaavasti /dev/sda, /dev/sdb, /dev/sdc jne.

Lisätietoa laitenimistä näet sivulta http://www.faqs.org/docs/lnag/lnag_basic_conf.html#devices.

Mitä osioita (partitioita) pitäisi tehdä?

Pakolliset osiot ovat /-osio (root-osio) ja swap-osio. Erillistä boot-osiotakaan (/boot) ei tarvita, jos asentaa käynnistyslataajan (Lilo tai Grub) MBR:ään (pääkäynnistyslohkoon = Master Boot Record). Huomaa kuitenkin, että MBR:ään asennetut Linuxin käynnistyslataimet käyttävät Linux-osiolla olevia tiedostoja, jos erillistä boot-osiota ei ole tehty. Jos Linux nyt poistetaan koneelta, ei Lilo enää toimi. Erillisen boot osion teko ja käynnistyslataimen asennus sinne poistaa tämän ongelman.

Jokaiselle käyttäjälle luodaan asennuksen yhteydessä oma kotihakemisto (esim. /home/tapsa), johon käyttäjällä on täydet oikeudet ja johon voi tallentaa omia tiedostojaan ja jossa on käyttäjän omat ohjelmien asetustiedostot (esim. sähköpostiasetukset). Kotihakemiston voi tehdä myös halutessaan omalle osiolleen (/home-osio), jolloin käyttäjäasetukset ym. säilyvät distron päivityksen yhteydessä. Mutta jos asentaa samalle levylle useita Linux-jakeluita (distroja), erillisen (ja kaikille jakeluille yhteisen) /home-osion tekeminen voi aiheuttaa odottamattomia ongelmia, koska asetukset voivat mennä päällekkäin. Tavalliselle käyttäjälle riittää siis /-osion ja swap-osion (ja halutessa myös /home-osion) teko.

Osioinnista on olemassa monia mielipiteitä ja etenkin kokeneet käyttäjät tekevät vielä erikseen /tmp-osion (väliaikaiset tiedostot; tyhjennetään yleensä käynnistyksen yhteydessä) ja /var-osion (muuttuva data, esim. lokitiedostot) omiksi osioikseen, jotta järjestelmä ei pääsisi missään olosuhteissa tukkeutumaan. Kuitenkin lisäosioiden tarpeellisuus on sidoksissa koneen käyttötarkoitukseen eikä vasta-alkajan kannata kotikäyttöön tarkoitetun koneen kanssa vaivata päätään turhan monimutkaisilla osioinneilla vaan antaa Linuxin asennusohjelman tehdä tarpeelliset osiot.

Tilantarve vaihtelee sen mukaan, mitä paketteja asentaa. Esimerkiksi Red Hat 8:n täysasennus vie n. 3 Gt levytilaa. Swap-osion koko on yleensä 2 x ram-muistin määrä. Jos koneessa on paljon keskusmuistia, esim. 512 Mt, niin 2 x 512 Mt = 1024 Mt swap-osion kooksi on selvästi ylimitoitettu eikä sääntöä enää kannata kirjaimellisesti noudattaa. Jos muistia on vielä tuotakin enemmän, niin swap-osiota ei mielestäni tarvita enää lainkaan.

Kotihakemiston siirtäminen toiselle osiolle

Kotihakemistolla (/home) on tapana paisua ajan myötä, joten monelle on tullut mieleen ajatus sen siirtämisestä omalle osiolleen tai jopa toiselle kiintolevylle. Tämä on tosiaankin mahdollista ja vieläpä hyvin helppo tehdä /etc/fstab-tiedostoa muokkaamalla ja mounttaamalla uuden osion /homeksi. Muutoksien tekemiseen tarvitset superuserin (su -) oikeuksia.

Esimerkissämme merkitään osioita seuraavasti:

  1. Ensimmäinen asia on uuden osion luonti (jos sitä ei ole valmiina) joko Linuxin osiointityökaluilla (fdisk, cfdisk, qtparted) tai vaikkapa FreeDOSin fdiskillä, jos koneessa ei ole Windowsia eikä Dosia.

  2. Seuraava vaihe on tiedostojärjestelmän luominen tehdylle osiolle (joka vastaa Linuxissa Dosista tuttua formatointia). Linuxissa nykyisin yleisimmin käytetään ext3-tiedostojärjestelmää, joka luodaan seuraavasti:

    mke2fs -j /dev/hdaY
    

    Katso lisätietoa luvusta Mitä tiedostojärjestelmää kannattaisi käyttää? Muuta esimerkissä käytetyn /dev/hdaY:n tilalle oman uuden osiosi tyyppi (ks. luku Mitä ovat laitenimet?).

  3. Sitten liitetään uusi osio jonnekin (jollain muulla nimellä kuin '/home'), esim.

    mount  /dev/hdaY /mnt/tmp
    

    Muista, että liitettävä osio pitää olla jo valmiiksi olemassa (esimerkissä /mnt/tmp) - muuten sitä ei tietenkään voida liittää.

  4. Seuraavaksi kopioidaan vanha /home-hakemisto kokonaisuudessaan liitetylle osiolle:

    cp -a /home/* /mnt/tmp
    

    Valitsin -a (--archive) on siitä hyvä, että sitä käytettäessä symboliset linkit, käyttöoikeus (mode), omistuoikeus (ownership) ja aikaleimat (timestamps) säilyvät (ks. Alphabetical Directory of Linux Commands: cp), ('cp -a' = 'cp -dpR').

    Voit käyttää kopioimiseen myös esim. mc:tä (Midnight Commander), jolloin kaikki oikeudet ym. tulevat automaattisesti kopioiduiksi oikein. Tarkista vielä, että kaikki on varmasti kopioitu oikein - myös pisteellä alkavat tiedostot (piilotiedostot).

  5. Seuraavaksi editoidaan /etc/fstab-tiedostoa:

    /dev/hdaY       /home   ext3    defaults        1 2
    

    Voit myös käyttää lisäparametreja (ks. 'man fstab'), jos haluat muuttaa oikeuksia, esim.

    /dev/hdaY /home auto rw,auto,user,exec 0 0
    
  6. Tallenna tiedosto ja buuttaa kone. Uudelleen buuttaus tarvitaan vanhan /home-hakemiston (tai osion) ja uuden /home-osion irrottamiseen (umount) ja uuden /home-osion liittämiseen (mount) uudelleen.

    Nyt kotihakemistosi pitäisi olla uudella osiolla. Tarkista asia vielä kirjoittamalla konsolissa

    mount
    

    .. ja enter, jolloin näet käytössä olevat liitokset. Tässä vaiheessa vanha /home on vielä tallessa eikä sieltä ole kadonnut mitään tietoa. Saat sen halutessasi uudelleen käyttöön palauttamalla vanhan fstab-tiedoston.

  7. Jos liitokset ovat oikein, niin voit poistaa vanhan kotihakemiston halutessasi ja vapauttaa levytilaa muuhun käyttöön. Varo kuitenkin, ettet tyhjennä vahingossa uutta /home-osiota.

    Voit poistaa vanhan kotihakemiston turvallisesti esim. käynnistämällä koneen Knoppix-CD:ltä ja toimimalla sivun How to move your /home to a separate partition ohjeen mukaan:

        * Avaa konsoli-ikkuna ja liitä vanha osio:
          sudo mount /dev/hdaX /mnt/hdaX
        * Vaihda Knoppixin juurihakemistoon:
          cd /mnt/hdaX/
        * Poista vanha /home-hakemisto:
          sudo rm -rf /home/*
        * Reboot
    

Huom. Ole erityisen varovainen * (tähti) -merkin kanssa! On aivan eri asia poistaa tiedostoja rm doku* kuin rm doku * (tyhjä väli ennen tähteä). Ensimmäinen poistaa kaikki doku-alkuiset tiedostot - jälkimmäinen poistaa ensin doku-alkuiset tiedostot ja sitten kaikki muutkin tiedostot!

Linuxin hakemistorakenne (tiedostojärjestelmä)

Linuxin hakemistorakenteen (directory structure) perusta on Filesystem Hierarchy Standard (FHS), josta Markku Immonen on tehnyt hyvän suomenkielisen yhteenvedon Linuxin hakemistorakenne. Linuxin hakemistorakennetta on käsitelty myös esim. The Linux System Administrator's Guide -oppaassa .

FHS-standardin mukaan juurihakemiston (/, root) tulee sisältää seuraavat hakemistot tai symboliset linkit hakemistoihin:

Hakemisto Kuvaus
bin Välttämättömät komentobinäärit kaikille käyttäjille (Essential command binaries)
boot Käynnistyslataimen pysyvät tiedostot (Static files of the boot loader)
dev Laitetiedostot (Device files)
etc Systeemin konfigurointitiedostot (Host-specific system configuration)
lib Vättämämättömät jaetut kirjastot ja kernelin moduulit (Essential shared libraries and kernel modules)
media Liitospiste siirrettävällä medialle (Mount point for removeable media)
mnt Liitospiste tiedostojärjestelmän väliaikaiseen liittämiseen (Mount point for mounting a filesystem temporarily)
opt Lisäsovellusten ohjelmapaketit (Add-on application software packages)
sbin Välttämätöttömät järjestelmäbinäärit root-käyttäjälle (Essential system binaries)
srv Järjestelmän palvelujen tuottama data (Data for services provided by this system)
tmp Väliaikaistiedostot (Temporary files)
usr Toiseksi tärkein hakemistopuu juurihakemiston jälkeen (Secondary hierarchy)
var Muuttuva data (Variable data)

Linuxissa on edellisten lisäksi myös:

Linuxista taas puuttuu kokonaan Unixin /srv-hakemisto. Kaiken kaikkiaan Linux noudattaa melko pitkälle FHS-standardia. Linuxille räätälöity muoto FHS:stä on FSSTND.

Linuxin tiedostojärjestelmä vaikuttaa aluksi hyvin sekavalta mutta kaikelle on kuitenkin tarkoin määritelty paikkansa. Seuraavia asioita kuitenkin kysytään usein:

Tiedostojärjestelmän ja osion ero?

Linuxin tiedostojärjestelmä (File System) koostuu liitettävistä (mount) laitteista (devices), jotka voivat olla laitetiedostoja, hakemistoja tai tiedostoja. Laitteet voivat olla myös kokonaisia osioita ja usein puhutaankin tiedostojärjestelmistä tarkoittaen osioita. Osiointi tarkoittaa kiintolevyn jakamista osiin, jolloin käyttöjärjestelmä ei vie koko levyä. Windowsissa osiot näkyvät asematunnuksina kuten C: D: jne. ja Linuxissa laiteniminä kuten /dev/hda1 /dev/hdb1.

Periaatteessa Linuxin ydin (kerneli) näkee kaiken tiedostoina: esimerkiksi DVD-asemat ovat vain laitetiedostoja, jotka otetaan käyttöön ajurien avulla; hakemistot ovat erilaisista tiedostoista koostuvia suurempia koko naisuuksia; ohjelmat ovat lähdekooditiedostoista käännettyjä binääritiedostoja jne. Kaikki on tiedostoa ja siksi kernelin kannalta katsottuna voidaan puhua pelkästään eri suhteessa toisiinsa olevista tiedostoista tai hierarkisesta tiedostojärjestelmästä.

Koska tiedostojärjestelmällä ymmärretään kuitenkin yleensä massamuistin käyttöön liittyvää asiaa, kuten kiintolevyn tiedostojärjestelmää (ext3, FAT32 jne.), hakemistopuun (directory tree) käyttäminen olisi ehkä järkevämpää hakemistoista ja tiedostoista puhuttaessa väärinkäsitysten välttämiseksi. Hakemistopuusta kuulee usein myös käytettävän nimeä tiedostojärjestelmäpuu. Onneksi asiayhteydestä voi aina päätellä, mistä on kysymys.

Jotta asia olisi mahdollisimman sekava, niin esimerkiksi tmpfs on tiedostojärjestelmä (filesystem), jolle ei tarvitse tehdä 'tiedostojärjestelmää' mkfs-komennolla (mkfs vastaa Windowsin format-komentoa) vaan on heti valmis käytettäväksi liittämisen (mount) jälkeen - tmpfs on muuten virtuaalinen tiedosto, joka osaa käyttää sekä RAM-muistia että swap-osiota hyväkseen.

Toisaalta taas lohkolaite (block device) - kuten kiintolevy - vaatii aina tiedostojärjestelmän luonnin (making a filesystem), esim. ext3, ennen kuin sitä voidaan käyttää. Toisin sanoen ohjelmat eivät osaa käyttää levyä, jolle ei ole luotu tiedostojärjestelmää. Sama selvällä suomen kielellä: ennen kuin osiota tai levyä voidaan käyttää tiedostojärjestelmänä, se pitää alustaa, ja levylle pitää tehdä kirjanpito ja kirjoittaa datan rakenne levyn mbr:ään. Tätä prosessia kutsutaan tiedostojärjestelmän luonniksi.

Mistä moinen sekavuus on sitten saanut alkunsa? Täytyy muistaa, että Linux on Unix-klooni ja hakemistorakenne on siksi peräisin Unixista. Ja Unix vaati osiojakoa jokaiselle yksittäiselle tiedostojärjestelmälle: root- eli juuritiedostojärjestelmälle (/) yhden osion, /usr, /tmp, /var, /home, -tiedostojärjestelmille kullekin oman osionsa jne. Unix-versiosta riippuen. Syynä tähän oli käsittääkseni kiintolevyjen kokorajoitukset (korjatkaa, jos olen väärässä). Näin ollen osioita ja ylätason hakemistoja voidaan kutsua myös tiedostojärjestelmiksi. Juurihakemisto on tiedostojärjestelmän ensimmäinen taso ja muut hakemistot ovat sen alatasoja.

Toisin sanoen esimerkiksi Windows-osiota (yleensä /dev/hda1) voidaan kutsua tiedostojärjestelmäksi, jonka tiedostojärjestelmänä on vfat (FAT32) tai ntfs. Hetkinen Tapsa, tätä täytyy nyt hieman sulatella... Kaikessa rauhassa vaan :) OK, ehkä on kuitenkin paras puhua osioista, hakemistoista, tiedostoista ja tiedostojärjestelmistä normaalisti (Windowsistakin tutulla tavalla) ja antaa kernelin nähdä asia miten itse hyväksi näkee ;)

Seuraavassa malliksi listaus Debianin juurihakemistosta (/), josssa on myös mukana päähakemistossa olevat hakemistot ja tiedostot (sekä symboliset linkit, kuten vmlinuz ja initrd.img):

tapsa@TeraeNet:/$ ls
bin      dev     home        lost+found  proc  tmp      vmlinuz.old
boot     dvd     initrd      mnt         root  usr
cdaudio  etc     initrd.img  none        sbin  var
cdrom    floppy  lib         opt         sys   vmlinuz
tapsa@TeraeNet:/$

Edellä olevassa listauksessa usein kummastusta herättää /proc (process information) ja /lost+found -hakemistot. Tässä niille selitys:

Mitä tiedostojärjestelmää kannattaisi käyttää?

Perinteinen Linuxissa käytetty ext2-tiedostojärjestelmä alkaa olla jo vanhahtava ja uudet journaloivat tiedostojärjestelmät (ext3, JFS, XFS, ReiserFS) ovat nykyisin korvanneet sen lähes täysin. Monet distrot käyttävät oletuksena ext3:a, joka onkin yleisin uusista tiedostojärjestelmistä. Itse olen formatoinut SuSEn ReiserFS:ksi (oletus SuSElla). Muut distrot olen asentanut ext3:lle. Debian 3.0r0 kyllä käyttää edelleen ext2:sta (Linux native), jos sen asentaa 2.2-sarjan kernelillä (F3:lla voi valita myös 2.4-sarjan kernelin). Mahdollinen erillisen /boot-osion tiedostojärjestelmänä käytetään edelleen yleisesti ext2:sta.

Mielestäni kannattaa valita asennuksen yhteydessä oletuksena oleva tiedostojärjestelmä, jos ei ole perusteltua syytä vaihtaa sitä joksikin toiseksi.

Asennuksen yhteydessä valittu tiedostojärjestelmä luodaan automaattisesti. Jälkeenpäin voi tiedostojärjestelmän luoda osiointityökalulla, esim. fdisk-ohjelmalla, jonka perään kirjoitetaan levyn tunnus. Tämän voi tehdä luonnollisestikin vain pääkäyttäjän eli rootin oikeuksilla (su - ja rootin salasana):

# fdisk /dev/hda

Edellä on kyse ensimmäisen ide-levyn (master) ensimmäisestä osiosta (/dev/hda). Uusi osio luodaan näppäilemällä kirjain n (seuraavassa ohjeet):

Komento (m antaa ohjeen): m
Komento  merkitys
   a    aseta käynnistettävyyslippu päälle/pois
   b    muokkaa bsd-levynimiötä
   c    aseta dos-yhteensopivuuslippu päälle/pois
   d    poista osio
   l    listaa tunnetut osiotyypit
   m    näytä tämä valikko
   n    lisää uusi osio
   o    luo uusi tyhjä DOS-osiotaulu
   p    näytä osiotaulu
   q    lopeta tallentamatta muutoksia
   s    luo uusi tyhjä Sun-levynimiö
   t    vaihda osion järjestelmä-id:tä
   u    vaihda näkymä/syöteyksiköt
   v    varmista osiotaulu
   w    kirjoita taulu levylle ja poistu
   x    lisätoiminnot (vain asiantuntijoille)

Voit katsoa huoletta osioita ja kokeilla eri vaihtoehtoja kunnes painat näppäintä w, jolloin vasta muutokset tehdään. Jos et tiedä tarkalleen, mitä olet tekemässä, poistu fdiskistä q-kirjaimella, jolloin mitään muutoksia ei kirjoiteta levylle!

Fdiskillä voi määritellä useita tiedostojärjestelmätyyppejä (ks. listaus l-näppäimellä). Linuxin oletustyyppi on 83, joka on ext2 (linux native). Swap-osion tyyppi on 82.

ext3-tiedostojärjestelmän luonti ja korjaus

Vanhemman ext2:n voi vaihtaa jälkeenpäin kätevästi ext3:ksi seuraavasti:

tune2fs -j /dev/hdXX

No miten ext3-osio sitten tehdään jälkeenpäin?

mke2fs -j /dev/hdXX

Edellä olevassa -j-valitsin osoittaa, että kyse on ext3-järjestelmästä, joka on sama kuin journaloitu ext2-tiedostojärjestelmä! Katso lisätietoa tiedostojärjestelmien luonnista 'Alphabetical Directory of Linux Commands' -oppaasta mke2fs (= mkfs.ext2) ja mkfs

Vioittuneen ext3-tiedostojärjestelmän voi korjata seuraavasti:

e2fsck -fy /dev/hdXX

Windows ja Linux samalla koneella

Tärkeä tiedotus!

Uusissa distroissa, jotka on asennettu 2.6-sarjan kernelillä, on ilmennyt ongelmia käynnistää Windows Grubista, jos Grub on asennettu MBR:ään. Ongelmia on ollut vain ensimmäisten 2.6-sarjan kerneleitä käyttävien Linux-jakeluiden kanssa (kuten Fedora Core 2, Suse 9.1). Myöhemmissä versioissa ei ongelmia enää ole.

Käynnistettäessä saadaan seuraava tai vastaavantapainen ilmoitus:

root (hd 0,0)
Filesystem type unknown, partition type 0x7
chainloader +1

Ongelman aiheuttaa vioittunut osiotaulu (partition table) ja se ilmenee, jos BIOS ja Linux näkevät levyn geometrian eri tavalla JA jos levy on > 8 Gt.

SUSEn sivulla http://portal.suse.com/sdb/en/2004/05/fhassel_windows_not_booting91.html on tarkemmin selvitetty, mikä ongelman aiheuttaa ja miten sen voi korjata. Yleensä LBA:n käyttöönotto Biosista auttaa ja kiintolevyn koon määritys käsin - ei siis valita AUTO-vaihtoehtoa. Huomaa, että Windows XP:n FIXMBR tai FIXBOOT ei korjaa ongelmaa. Lisäksi osiotaulun (partition table) korjausyritys sopivilla työkaluilla voi tuhota koko osiotaulun!

Huomaa myös varoitus http://mlf.linux.rulez.org/mlf/ezaz/ntfsresize.html-sivulla:

WARNING! Be careful when partitioning on Linux 2.6 kernels! Partitioning softwares using Parted or libparted MIGHT corrupt the partition table, that MIGHT break the Windows boot process, moreover you MIGHT even lose access to your data from all installed or rescue operating systems.

Itse suosittelisin asentamaan Linuxin 2.4-kernelillä, jos ei ole mitään perusteltua syytä käyttää 2.6-kerneliä, jolloin ongelmia ei tule. Toinen vaihtoehto on olla asentamatta Grubia mbr:ään (asenna Grub joko juuriosion käynnistysektorille tai älä asenna ollenkaan - käynnistä Linux disketiltä). Kolmas vaihtoehto on asentaa Linux normaalisti uudella kernelillä, mutta ottaa LBA käyttöön Biosista kuten edellä mainittiin. Huomaa, että ongelmia on esiintynyt vain ensimmäisten 2.6-sarjaa käyttävien distrojen kanssa eikä uudemmissa versioissa ole enää vastaavaa ongelmaa.

Fedora Core 2:ssa on ilmennyt vastaava ongelma, joka sivun Dual Booting Issues With Fedora Core 2 and Windows: Prevention & Recovery aiheutuu Windowsin virheellisestä tavasta käyttää CHS-taulua (cylinders, heads, sectors) eikä LBA-taulua kuten pitäisi. Toisin sanoen - osiotaulu ei olekaan oikeasti vioittunut. Windowsinkaan ei pitäisi käyttää CHS:ää mutta jostain syystä se käy ainakin tarkistamassa CHS-arvot ja vertaa arvoja LBA:han ja estää käynnistymisen, jos arvot eivät vastaa toisiaan. Linux taas käynnistyy, koska se käyttää ainoastaan LBA-arvoja. Selityksen makua tai ei, mutta Fedorakin myöntää kysessä olevan bugin, koska dualboot ei tämän takia toimi ilman ennakoivia- tai jälkeenpäin tehtäviä korjaustoimenpiteitä, jotka myös on selostettu em. sivulla.

Väliviiva

Huom. Joskus Windows XP haluaa ajaa System Recoveryn (järjestelmän palautus) Linux-asennuksen jälkeen. Sitä ei kuitenkaan tarvitse tehdä. Linux ei sotke Windowsin toimintaa millään tavoin, mutta Windows on vain havainnut, että sen reviirille on astuttu ;)

Joidenkin erikoisten konepakettien kanssa saattaa tulla vastaan yllättäviä ongelmia (kuten Compaq Presario 6560 FI), kun kone vaatii järjestelmän palautuslevyjä ja järjestelmän uudelleen asennus käynnistyy. Toimenpiteen voi kuitenkin peruuttaa huoletta tekemättä mitään muutoksia (vaihtoehto: "Asennus tietoja kadottamatta"). Mutta jos Lilo tai Grub on asennettu mbr:ään, palautuslevyllä voidaan haluttaessa palauttaa Windowsin oma käynnistyslataaja (jolloin Lilo tai Grub häviää - jolloin Linuxin voi käynnistää vain disketiltä). Muuten järjestelmän palautuslevyjä ei tarvitse käyttää vaan koneen pitää antaa käynnistyä itse normaalisti - ja se tekee sen kyllä. Kiitoksia Nina Lindénille vinkistä.

Voiko Linuxin asentaa koneelle, jossa on Windows XP:n OEM-versio?

Kyllä voi, mutta aloittelijan ei kannata siihen ryhtyä. Ongelma ei ole itse asennus vaan ylimääräisen partition (osion) luonti Linuxia varten (Windows-osion kokoa pitää pienentää). Se onnistuu tietääkseni Windowsissa vain Partition Magic tai BootIt NG -nimisillä ohjelmilla. Jos koneessa on Windows 95/98/ME, niin FAT16- ja FAT32-osion voi pienentää lähes kaikkien Linux-jakeluiden perinteisesti mukana tulleella FIPS.EXE-ohjelmalla. Ohjelma on tosiaankin DOS-ohjelma. Ennen sen käyttöä tulee Windowsissa ajaa scandisk- ja defrag-ohjelmat.

Jos Windows on FAT32-osiolla, niin silloin osion kokoa voi toki pienentää myös Linuxin Parted-ohjelmalla tai Qtparted-ohjelmalla turvallisesti (ei yleensä tule valmiiksi asennettuna) tai uutena vaihtoehtona NTFS resizer -ohjelmalla, ks. http://sourceforge.net/projects/ntfsresizer/.

Jos kiintolevyllä taas on valmiina yksi vapaa osio, niin Linuxin voi helposti asentaa sinne. Tällöin käynnistyslataaja (Grub tai Lilo) tulee mbr:ään ja siitä voi sitten käynnistää Windowsin tai Linuxin. Jos kiintolevylle on ennestään asennettu myös jokin toinen Windows-versio XP:n lisäksi (esim. 98 SE), niin Grubista voi käynnistää joko Linuxin tai sitten Windowsin oman käynnistyslataajan, josta voi valita käynnistettävän Windows-version. Yksinkertaista?

No kaikista yksinkertaisinta ja varminta aloittelijalle on tietenkin asentaa Linux kokonaan toiselle kiintolevylle. Mutta jos muutat jossakin vaiheessa levyjen järjestystä, niin muista, että Linuxissa ensimmäinen ide-kiintolevy on /dev/hda ja toinen /dev/hdb jne., ks. Mitä ovat laitenimet? Käynnistyslataajaan täytyy silloin tehdä tarvittavat muutokset, ks. Kaksi kiintolevyä.

Jos haluat asentaa Linuxin samalle levylle Windows 98:n kanssa, niin on muistettava, että Windows 98 pitää asentaa primääriosiolle (ensiöosio) ja C-asemalle (yleensä /dev/hda1 Linuxista käsin katsottuna), koska se ei asennu jatketun osion (extended partition) loogisille asemille (logical drive). Toki XP:n voi asentaa C-asemalle ennen vanhoja Windowsseja mutta silloin tiedostojärjestelmän on oltava NTFS, jota vanhat Windowsit eivät näe (vanhat Windowsit kuvittelevat olevansa C-asemalla). Linuxin voi asentaa mille osiolle tahansa.

Vielä varoitus NTFS-osioiden käytöstä. Linuxissa on yleensä NTFS-tuki valmiina kernelissä (paitsi RH 9:ssä se on jätetty pois), jolloin NTFS-osioita voi turvallisesti lukea (read-only) Linuxista käsin. NTFS-osiolle ei missään tapauksessa saa kuitenkaan kirjoittaa, koska NTFS-osion kirjoitustuki on Linuxissa edelleen puutteellinen. FAT32-osioiden kanssa vastaavaa ongelmaa ei ole.

Jos NTFS-tuki puuttuu kernelistä (esim. RH 9), sen voi lisätä joko kääntämällä kernelin uudestaan NTFS-tuella tai asentamalla Red Hatiin rpm-pakettina sivulta http://linux-ntfs.sourceforge.net/info/redhat.html.

Windows XP jollakin muulla kuin C-asemalla

Windows XP on asennuksen suhteen huomattavasti joustavampi kuin aikaisemmat Windows-versiot. Jos koneessa on jo ennestään Linux, voi XP:n asentaa jälkeenpäin mille tahansa vapaana olevalle osiolle. Mutta XP:ssä on eräs ärsyttävä piirre: jos XP asennetaan muulle kuin C-asemalle, se tekee pienen boottiosion (FAT16) automaattisesti C-asemalle edes viitsimättä ilmoittaa, että entinen osio ylikirjoitetaan! Toisin sanoen Linuxisi on käyttökelvoton XP:n asennuksen jälkeen, jos tuo C-asema (yleensä /dev/hda1 Linuxissa) oli Linuxin käytössä.

Suunniteltaessa sekä Linuxin että Windows XP:n asennusta samalle levylle, kannattaa XP:lle varata valmiiksi pieni C-osio (100 Mt riittää vallan mainiosti Xp:n käynnistyslataimelle). Muuten asennusjärjestyksellä ei ole väliä. Tietysti jos haluat XP:n oman käynnistyslataimen käyttöön, asenna Linux ensin. Jos taas haluat Linuxin lataimen käyttöön, asenna XP ensin. Näin menetellen saadaan molemmat käyttöjärjestelmät käynnistettyä valitulta lataimelta ilman lisätoimenpiteitä.

Haluan säilyttää Windowsin oman boot loaderin!

Jos haluaa säilyttää W2k:n oman käynnistyslataajan ja käynnistää Linuxin sieltä, niin Windowsin suojattua tiedostoa boot.ini muokataan käsin (esim. Notepadilla) lisäämällä tiedoston loppuun Linuxin käynnistyssektorin kuvatiedoston sijainti. Yksityiskohtaiset ohjeet kuinka se tehdään, on seuraavassa luvussa Käynnistyssektorin kuvatiedoston kopiointi.

Linuxin asennuksen yhteydessä ei tarvitse luoda erillistä boot-osiota vaan Lilo tai Grub voidaan asentaa käynnistyssektorille. Huom! Liloa (tai Grubia) ei saa asentaa mbr:ään, jos haluaa säilyttää XP:n oman käynnistyslataajan. Jos nyt kuitenkin ehdit tehdä sen (nopea kun olet!), niin Lilon saa palauttamaan vanhan boottisektorin käskyllä

# lilo -u

Saat lisätietoa Lilon poistamisesta sivulta How To Remove LILO So the System Boots DOS Again?.

Tuo # tarkoittaa rootin tunnusta, jonka saat väliaikaisesti kirjoittamalla konsolissa su -. Et siis voi poistaa Liloa tavallisen käyttäjän oikeuksilla. Grubia et taas voi erikseen poistaa vaan se pitää korvata toisella käynnistyslataajalla. Windows 98:ssa voit tehdä sen kirjoittamalla (Start -Run) fdisk /mbr. Windows XP:ssä Windowsin oma käynnistyslataaja palautetaan buuttaamalla asennus-CD:ltä ja kirjoittamalla Recovery Console:ssa (se vanha tuttu Dosin komentorivi) fixmbr. Kokonaan puuttuvan käynnistyslataajan voit luoda samoin komentorivillä fixboot. Täydellinen ohje Recovery Consolen käytöstä on sivulla Description of the Windows XP Recovery Console. Jos käytät vielä OS/2:sta, niin siinä kirjoitetaan fdisk /newmbr.

Käynnistyssektorin kuvatiedoston kopiointi

Käyttöjärjestelmä käynnistetään lataamalla kiintolevyn ensimmäinen sektori eli MBR:n boottisektori RAM-muistiin (Master Boot Record = pääkäynnistyslohko). Vaihtoehtoisesti voidaan käynnistyslataimesta käynnistää käyttöjärjestelmä juuriosion ensimmäiseltä sektorilta.

MBR:n boottisektori on 512 tavun kokoinen ja käynnistää käyttöjärjestelmän. MBR:n lopussa on osiotaulu (Partition Table), johon on merkitty osioiden paikat ja tyypit. MBR:n (tai käynnistyslataimen) tehtävänä on boottisektorin lataamisen jälkeen ladata jonkin osion boottisektori jatkamaan käyttöjärjestelmän latausta. Jos levyllä on useita käyttöjärjestelmiä, käyttöjärjestelmän valinta voi myös tapahtua suoraan MBR:stä.

Vastaavasti levykkeen ensimmäinen sektori on nimeltään boottisektori ja sen tehtävänä on lukea käyttöjärjestelmä tai käynnistyslatain keskusmuistiin.

Yleensä Linuxin käynnistyslatain, Grub tai Lilo, sijaitsee juuri MBR:ssä (esim. /dev/hda). Linuxista puhuttaessa (Red Hat) boottisektori lataa /boot/map-tiedoston, jossa on tarkat tiedot kernelin kuvatiedoston (yleensä /boot/vmlinuz) fyysisestä sijainnista levyllä. Huomaa, että MBR:ään asennetut Linuxin käynnistyslataimet käyttävät Linux-osiolla olevia tiedostoja (tai erillisellä boot-osiolla olevia tiedostoja). Jos nyt Linux poistetaan koneelta, ei Lilo enää toimi. Erillisen boot osion teko ja käynnistyslataimen asennus sinne, jolloin MBR käynnistää vain käynnistyslataimen, poistaa tämän ongelman. Huomaa myös, että samasta syystä käynnistyslatain pitää aina asentaa uusiksi kun kiintolevy vaihdetaan.

Seuraava tehdään Linuxissa

Kopioidaan Linuxin käynnistyssektorin kuvatiedosto (tässä esimerkissä bootsect.win-nimellä - nimi voi olla mikä tahansa) kiintolevylle Windowsin juurihakemistoon:

root@ttyp0[knoppix]# dd if=/dev/hda bs=512 count=1 of=/mnt/hda2/bootsect.win
1+0 tietuetta sisään
1+0 tietuetta ulos
512 bytes transferred in 0,051209 seconds (9998 bytes/sec)
root@ttyp0[knoppix]#

Muuta edellä oleva lähde /dev/hda ja kohde /dev/hda2 omaa kokoonpanoasi vastaavaksi (scsi-levy on /dev/sda).

Käynnistyssektorin kuvatiedoston sijainti näkyy lilo.conf-tiedostossa (/etc/lilo.conf) ensimmäisellä rivillä kohdassa "boot=". Yleensä Lilo on asennettu ensimmäisen kiintolevyn MBR:ään, jolloin Lilon ensimmäinen rivi on:

boot="/dev/hda"

Jos Lilo on asennettu esim. ensimmäisen kiintolevyn viidennelle osiolle (ensimmäinen extended-osio), Lilon ensimmäinen rivi on silloin:

boot="/dev/hda5"

Jos Lilo on asennettu toisen kiintolevyn MBR:ään Lilon ensimmäinen rivi on boot="/dev/hdb".

Kuvatiedoston kopiointiin käytetty dd tulee englannin kielen sanoista disk dump ja sitä käytetään täydellisen kopion tekemiseen jostakin (if = input file) johonkin (of = output file). Eli if on aina lähde ja of on aina kohde. Komento dd on vastaava kuin Dosin diskcopy, mutta paljon monipuolisempi.

Seuraava tehdään Windowsissa

Muokataan boot.ini-tiedostoa esim. Notepadilla seuraavasti:

cd \
attrib -h -r -s boot.ini
copy boot.ini boot.old
notepad boot.ini 

Tiedoston loppuun lisätään Linux käynnistyväksi (malliesimerkissä SuSE 8.1 pro):

c:\bootsect.win="SuSE 8.1 Professional"

Boottaa kone. Nyt Windowsin käynnistyslataajassa on myös Linux käynnistyvänä!

Tässä vielä malliksi XP:n boot.ini, johon on lisätty käynnistyväksi "SuSE 8.1 Professional":

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect
c:\bootsect.lnx="SuSE 8.1 Professional"

Väliviiva

Tähän yhteyteen sopii hyvin myös vinkki Windowsin MBR:n varmuuskopioinnista disketille (/dev/fd0) dd:llä:

root@TeraeNet:~# dd if=/dev/hda of=/dev/fd0 bs=512 count=1
1+0 tietuetta sisään
1+0 tietuetta ulos
512 bytes transferred in 1,278462 seconds (400 bytes/sec)
root@TeraeNet:~#

Nyt disketillä on Windowsin MBR ja kun asetat disketin koneeseen, niin siitä käynnistyy Windows normaalisti! Kokeile :)

Jos nyt haluat palauttaa alkuperäisen MBR:n disketiltä, se onnistuu

root@TeraeNet:~# dd if=/dev/fd0 of=/dev/hda bs=512 count=1

Voit tietysti ottaa backupin myös kiintolevylle tiedostoon (vaikkapa mbr.backup-niminen):

dd if=/dev/hda of=mbr.backup bs=512 count=1

Ja palauttaa mbr:n kiintolevyltä:

dd if=mbr.backup of=/dev/hda bs=512 count=1

Muista, että if = input file (lähdetiedosto) ja of = output file (kohdetiedosto). Äläkä unohda irrottaa diskettiä (umount /dev/fd0) ennen sen poistamista asemasta, koska etenkin pienet tiedostot kirjoitetaan välimuistista disketille vasta sen irrottamisen yhteydessä.

Ei vaan asennu valmiille osiolle, ei!

Monilla on ollut vaikeuksia asentaa Linuxia Windowsin valmiiksi tekemälle osiolle. Syynä ongelmaan pidetään yleisesti vanhojen Windows-versioiden osiointityökaluja (Windows XP:llä tehtyjen osioiden kanssa ei pitäisi olla ongelmia). Itse olen kerran joutunut 'siivoamaan' Windowsin fdiskin jälkiä OS/2:n uudella fdiskillä (IBM julkaisi sen elokuussa -2002), jotkut taas ovat osioineet levyn Windowsin jäljiltä onnistuneesti Partition Magicilla, jonka kokeiluversion voi imuroida netistä. Asiasta on ollut jonkin verran keskustelua sfnet.atk.linux -alueella. Myös BootIT NG -ohjelmaan kannattaa tutustua.

Myös FreeDOSin fdisk tunnistaa Linux-osiot ja kiintolevyt 128 Mt asti, ks. http://www.23cc.com/free-fdisk/. Itse pidän sitä luotettavana osiointityökaluna.

Windowsin asennus jälkeenpäin Linux-koneelle

Joillakin saattaa olla tarve myös asentaa Windows jälkeenpäin koneeseen, jossa on ennestään vain Linux. Asennuksessa kannattaa olla tarkkana, ettei vain asenna Windowsia Linuxin päälle. Linuxissa voit katsoa ensin olemassa olevat osiot ja vapaan levytilan kirjoittamalla konsolissa df (Disk Free). Tärkein muistettava asia on varmistaa, että juuri oikea osio on aktiivisena, johon Windows asennetaan (Windowsin fdisk näyttää sen kohdalla kirjaimen a). Linux käyttää kirjaimen tilalle nimitystä flag - lippu - (eräänlainen kytkin, joka on joko päällä tai pois), ks. kuva Cfdiskistä.

Jos jäi pienikin epävarmuuden tunne...

Ennen kuin tekee mitään muutoksia nykyiseen toimivaan systeemiinsä, kannattaa seurata jonkin aikaa sfnet.atk.linux news-aluetta ja kysyä rohkeasti itselle epäselviä asioita. Kielitaitoiset voivat etsiä vastauksia kysymyksiinsä myös muilta viestialueilta esim. Googlesta http://groups.google.com/ sopivilla hakusanoilla. Kaikkiin asennusongelmiin on olemassa looginen ratkaisu, mutta aloittelija (newbie, n00b, nyypiö, nyypii - rakkaalla lapsella on monta nimeä) ei tietenkään voi tietää kaikkea, mitä pitkälle edennyt alan harrastaja tietää.

Miten Linux poistetaan koneelta, jossa on Windows XP?

Ensinnäkin täytyy poistaa Grub tai Lilo mbr:stä (master boot record) fdisk /mbr (Windows 98 ja Dos) tai fixmbr (Windows XP).

Seuraavaksi pitää poistaa Linux-osiot käynnistämällä Linux asennus-CD:ltä ja kirjoittamalla komentokehotteessa (boot:) linux expert ja sitten käynnistämällä fdiskin, jolla poistetaan osiot. Sivulla http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/install-guide/ch-x86-uninstall.html on annettu yksityiskohtaiset ohjeet Linux-osioiden poistamiseksi. Ohjeet ovat RH 8:lle, mutta pätevät useimmille muillekin Linux-versioille.

Ohjeet pähkinänkuoressa: käynnistetään kone asennus-CD:ltä eksperttinä ja edetään osiointivaiheeseen asti, jolloin valitaan fdisk (joissakin distroissa cfdisk). Osionumerot saat näkyviin fdiskissä näppäilemällä p (print), d (delete) poistaa valitun osion ja w (write) tallentaa muutokset levylle. Lisätietoa saa näppäilemällä m, ks. luettelo fdiskin ohjeista. Jos tulet katumapäälle, niin paina näppäintä q (quit) äläkä w, niin mitään muutoksia ei tallenneta. Ctrl-Alt-Del käynnistää tietokoneen uudelleen. Huom. Ole varovainen fdiskin kanssa, koska poistettuja osioita ei enää voi palauttaa normaalikonstein, jos olet kirjoittanut ne levylle näppäilemällä w!

Fdiskillä voi kätevästi listata tunnetut osiotyypit:

root@TeraeNet:~# fdisk -l
Levy /dev/sda: 9105 Mt, 9105018880 tavua
255 päätä, 63 sektoria/ura, 1106 sylinteriä
Yksiköt = 16065 * 512 = 8225280 -tavuiset sylinterit
    Laite Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         637     5116671   83  Linux
/dev/sda2             638         701      514080   82  Linux-sivutus
/dev/sda3             702        1106     3253162+   5  Laajennettu
/dev/sda5             702        1106     3253131   83  Linux
Levy /dev/hda: 4303 Mt, 4303272960 tavua
255 päätä, 63 sektoria/ura, 523 sylinteriä
Yksiköt = 16065 * 512 = 8225280 -tavuiset sylinterit
    Laite Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         523     4200966    b  W95 FAT32
root@TeraeNet:~#

Huom. Et voi poistaa Linux-osioita Windowsin (95, 98, ME) tai Dosin fdiskillä! Uuden mbr:n toki voi luoda (tai palauttaa vanhan mbr:n, jolloin Grub tai Lilo poistuu samalla) komennolla: fdisk /mbr. Mutta se ei poista Linux-osioita vaan ainoastaan mahdollisen Linuxin käynnistyslataajan. Windows XP:ssä vanha XP:n mbr palautetaan Recovery Consolessa* komennolla: fixmbr ja tarvittaessa kokonaan uusi mbr luodaan fixboot. Linuxista taas Lilon saa palauttamaan vanhan boottisektorin käskyllä /sbin/lilo -u.

* Recovery Consoleen (komentoriville) pääset seuraavasti: käynnistä XP ja valitse 'Start - Run - CD-aseman_tunnus_tähän:\i386\winnt32 /cmdcons' ja pane asennus-CD asemaan ja paina OK. Toinen tapa (jos et saa XP:tä käyntiin) on käynnistää kone asennus-CD:ltä komentoriville (Recovery Console) ja kirjoittaa fixmbr. Täydellinen ohje Recovery Consolen käytöstä on sivulla Description of the Windows XP Recovery Console.

C:\fixmbr

FreeDOSin fdiskillä voit myös poistaa Linux-osiot, ks. s. http://www.23cc.com/free-fdisk/.

Miten asennetaan Grub (Lilon korvaava graafinen käynnistyslataaja) jälkikäteen?

Jos haluaa asentaa grubin jälkeenpäin, niin
/sbin/grub-install /dev/hda (asentaa Grubin mbr:ään = pääkäynnistyslohkoon)
/sbin/grub-install /dev/hda3 (asentaa Grubin hda3:lle; hda1, hda2 jne. ovat Linuxissa käytettyjä kiintolevyn osioiden nimiä)

Nämä käskyt annetaan tietystikin konsolissa.

Jälkeenpäin käynnistyslataajan asetuksia voi muuttaa tiedostosta
/boot/grub/grub.conf

Joissakin distroissa asetukset ovat tiedostossa/boot/grub/menu.lst.

Lisätietoa Grubista löytyy sivuilta: http://www.gnu.org/software/grub/grub-faq.en.html ja http://www.tldp.org/HOWTO/Linux+Win9x+Grub-HOWTO/

Miten lisätään käynnistyviä osioita Grubiin?

Itselläni on edelleen käytössä Mandrake 9.0:n tekemä hyvin yksinkertainen viritys (ja kaikki Linuxit käynnistyvät oikein!):

timeout 7
color white/blue black/light-gray
i18n (hd0,9)/boot/grub/messages
altconfigfile (hd0,9)/boot/grub/menu.once
default 1

title Mandrake 9.0
kernel (hd0,9)/boot/vmlinuz-2.4.19-16mdk root=/dev/hde10  rw vga=791
initrd (hd0,9)/boot/initrd-2.4.19-16mdk.img

# title Mandrake9.1_b_2
# kernel (hd0,11)/boot/vmlinuz-2.4.21-0.pre3.1mdk root=/dev/hde12 rw vga=791 hdc=ide-scsi
# initrd (hd0,11)/boot/initrd-2.4.21-0.pre3.1mdk.img

title Mandrake 9.1 beta 3
kernel (hd0,11)/boot/vmlinuz-pre4-1mdk root=/dev/hde12 devfs=mount hdc=ide-scsi vga=791
initrd (hd0,11)/boot/initrd-pre4-1mdk.img
# Spectra Linux alkuper. kerneli

# title Spectra Linux 1.2
# kernel (hd0,10)/boot/vmlinuz-2.4.18-6pro root=/dev/hde11 rw vga=791 hdc=ide-scsi
# initrd (hd0,10)/boot/initrd-2.4.18-6pro.img

title Spectra Linux 1.2
kernel (hd0,10)/boot/vmlinuz-2.4.18-24.7.x rw root=/dev/hde11 hdc=ide-scsi vga=791
initrd (hd0,10)/boot/initrd-2.4.18-24.7.x.img

title SuSE 8.1 Professional
kernel (hd0,12)/boot/vmlinuz root=/dev/hde13 vga=788
initrd (hd0,12)/boot/initrd

# title Red Hat 8.0 alkuper. kerneli
# kernel (hd0,13)/boot/vmlinuz-2.4.18-14 ro root=/dev/hde14 hdc=ide-scsi vga=791
# initrd (hd0,13)/boot/initrd-2.4.18-14.img

# title Red Hat 8.0 tammikuu -2003 kerneli
# kernel (hd0,13)/boot/vmlinuz-2.4.18-19.8.0 ro root=/dev/hde14 hdc=ide-scsi vga=788
# initrd (hd0,13)/boot/initrd-2.4.18-19.8.0.img

title Red Hat 8.0
kernel (hd0,13)/boot/vmlinuz-2.4.18-24.8.0 ro root=/dev/hde14 hdc=ide-scsi vga=788
initrd (hd0,13)/boot/initrd-2.4.18-24.8.0.img

title Red Hat 8.1 beta
kernel (hd0,14)/boot/vmlinuz-2.4.20-2.2 ro root=/dev/hde15 hdc=ide-scsi vga=791
initrd (hd0,14)/boot/initrd-2.4.20-2.2.img

title Debian 3.0r0
kernel (hd1,0)/bt-usb-2.4.20 ro root=/dev/hda5 vga=788

title Windows 98
root (hd0,0)
chainloader +1

title OS/2 Boot Manager
root (hd0,1)
chainloader +1

Käynnistyslataajan tiedot edellä ovat hieman vanhoja (olen päivittänyt RH 9:iin, Mandrake 9.1:een jne.), mutta periaate on sama. Kommentilla (#) merkityt tiedot eivät näy käynnistysvalikossa, mutta halusin säästää ne kuitenkin valikossa toistaiseksi mukana.

Mikään näistä Linuxista ei osaa lisätä 'kilpailevia' distroja Grubin käynnistysvalikkoon, joten minun piti lisätä ne käsin. Sinänsä kummallista, koska kaikki distrot taas osaavat lisätä Windowsin tai Dosin automaattisesti mukaan. Outo juttu.

Grubin sisältö voi vaihdella eri distrojen kesken, mutta aina siinä on seuraavat osa-alueet:

Älä anna kiintolevyni nimen (dev/hde) hämätä, koska minulla on kiintolevy viidennessä HPT370-liitännässä ja siksi levy näkyy hde:nä normaalin hda:n asemasta. Nimethän menevät Linuxissa (IDE-levy) näin: 1. levy = /dev/hda, 2. levy = /dev/hdb, 3. levy = /dev/hdc, 4. levy =/dev/hdd, 5. levy = /dev/hde jne.

Vielä lisää optioita käynnistysvalikosta:
default 1 Mikä ohjelma käynnistetään oletuksena (itselläni Mandrake 9.1 beta 2). Numerointi alkaa nollasta, joten default 0 käynnistäisi itselläni Mdk 9.0:n, default 2 Spectra Linuxin jne.
timeout 7 Kuinka monen sekunnin kuluttua oletuksena oleva järjestelmä käynnistetään. Itselläni käynnistetään siis Mdk 9.1 b 2 seitsemän sekunnin kuluttua.
title Mandrake 9.0 Grubin valikossa näkyvä nimi (voi vapaasti editoida).

Huom. Jos haluat lisätä Windowseja käynnistettäväksi Grubista, niin siinä käytetään chainloaderia seuraavasti:

title Windows XP
    rootnoverify (hd0,0)
    chainloader +1
    
title Windows 98
    rootnoverify (hd0,1)
    chainloader +1

Tässä esimerkissä Windows XP on osiolla 1 ja Win 98 osiolla 2.

Seuraavassa vielä selvennykseksi itselläni joskus aikaisemmin ollut Red Hatin Grub:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,6)
#          kernel /vmlinuz-version ro root=/dev/hda11
#          initrd /initrd-version.img
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,6)/grub/splash.xpm.gz

title Red Hat Linux (2.4.18-17.8.0)
  root (hd0,6)
  kernel /vmlinuz-2.4.18-17.8.0 ro root=LABEL=/1
  initrd /initrd-2.4.18-17.8.0.img

title Red Hat 8.0
  root (hd0,9)
  kernel /vmlinuz-2.4.18-14 ro root=/dev/hda10
  initrd /initrd-2.4.18-14.img

title Red Hat 7.2
  root (hd0,10)
  kernel /vmlinuz-2.4.9-34 ro root=/dev/hda11
  initrd /initrd-2.4.9-34.img

title Windows 98
  rootnoverify (hd0,0)
  chainloader +1

Vertaa tätä entistä:

title Red Hat 8.0
  root (hd0,13)
  kernel /vmlinuz-2.4.18-14 ro root=/dev/hde14
  initrd /initrd-2.4.18-14.img

nykyiseen

title Red Hat 8.0 
  kernel (hd0,13)/boot/vmlinuz-2.4.18-14 ro root=/dev/hde14 
  initrd (hd0,13)/boot/initrd-2.4.18-14.img

Nämä ovat sama asia hieman toisista poikkeavasti esitettynä (osiot muutettu vastaaviksi ja ylimääräiset parametrit poistettu). Eri distrot lisäävät käynnistyvät käyttöjärjestelmät valikkoon hieman toisistaan poikkeavilla tavoilla, mutta lopputulos on kuitenkin sama. Ei tämä nyt ollutkaan niin vaikeaa kuin ensisilmäyksellä vaikutti, eihän?

Kaksi kiintolevyä
Windows ensimmäisellä ja Linux toisella kiintolevyllä

Mutta mitä jos Red Hat olisikin toisella kiintolevyllä vastaavalla osiolla? Miten numerointi silloin menisi? Aivan yksinkertaisesti:

title Red Hat 8.0 
  kernel (hd1,13)/boot/vmlinuz-2.4.18-14 ro root=/dev/hdf14 
  initrd (hd1,13)/boot/initrd-2.4.18-14.img

Eli tässä tapauksessa ensimmäinen kiintolevy on /dev/hde, joten toinen levy on /dev/hdf (normaalisti /dev/hda ja /dev/hdb, jos levyt eivät ole esim. High Pointin HPT370-liitännässä kuten minulla). Huomaa myös, että (hd0,13) onkin nyt (hd1,13), koska ensimmäinen levy on 0 ja toinen 1!

Seuraava esimerkki on omasta kokoonpanostani, jossa käynnistyvänä levynä on /dev/hde ja toisena levynä /dev/hda (eli viidennessä ja ensimmäisessä master-liitännässä olevat kiintolevyt). Linuxit siis käynnistetään /dev/hde:llä olevasta Grubista (tämä levy on asetettu Biosista käynnistyväksi). Huomaa, että siinä onkin nyt (hd1,0) eikä (hd1,4) kuten olisi loogista. Miksi? Aivan yksinkertaisesti siitä syystä, että minulla on levyllä Lilo osiolla /dev/hda1 ja root-osio on /dev/hda5.

title Debian 3.0r0
kernel (hd1,0)/bt-usb-2.4.20 ro root=/dev/hda5 vga=788

No entä sitten, jos Liloa ei ole asennettu ollenkaan? Silloin Debian käynnistyisi Grubista seuraavasti:

title Debian 3.0r0
kernel (hd1,4)/boot/bt-usb-2.4.20 ro root=/dev/hda5 vga=788

Huomaa myös Debianin hieman erilaiset käynnistysparametrit (initrd puuttuu kokonaan - valinnainen, asennetaan haluttaessa kernelipäivitysten yhteydessä)!

Katso myös malliksi, miten toisessa koneessani Windows ensimmäisellä ja Knoppix toisella levyllä tulevat toimeen keskenään :)

Linux ensimmäisellä ja Windows toisella kiintolevyllä

Vanhat Windowsit käynnistyvät vain ensimmäiseltä kiintolevyltä, joten jos Windows on toisella kiintolevyllä, sitä pitää huijata niin että se luulee olevansa ensimmäisellä levyllä kirjoittamalla Grubin käynnistysparametreiksi seuraavaa:

map (hd0) (hd1)
map (hd1) (hd0)

Mappaamalla siis vaihdettiin kiintolevyjen paikat 'virtuaalisesti' Windowsille, jotta se voisi käynnistyä.

Lilossa mappaus tehtäisiin seuraavasti:

  map-drive = 0X80
  to = 0x81
Mihin Grub tulisi asentaa, kun asennan useita distroja?

Itse olen asentanut Grubin käynnistysosion ensimmäiseen sektoriin ja tehnyt käynnistysdisketin asennuksen yhteydessä, jolla saan distron käyntiin. Näin siis ensimmäisen Linuxin asennuksen yhteydessä. Myöhemmissä asennuksissa en ole enää viitsinyt tehdä edes käynnistysdiskettiä vaan olen luntannut tarvittavat tiedot Grubiin /boot/grub-hakemistosta. Jos et asenna Grubia ollenkaan distron asennuksen yhteydesssä, niin sen voi asentaa jälkikäteen komennolla /sbin/grub-install ja osio, jolle haluat sen asentaa (esim. /sbin/grub-install /dev/hda3). Yleensä ei tarvitse edes mainita hakemistoa (/sbin), jossa grub-install -ohjelma on, koska /sbin-hakemisto on valmiina polussa.

Usein Grub asennetaan mbr:ään komennolla /grub-install /dev/hda. Sen voi asentaa myös kiintolevyn erilliselle boot-osiolle 8 gigan rajan alapuolelle kuten itse olen tehnyt (rajoitus ei koske enää uusimpia Grub-lataajia).

Windows XP:n asennus kadotti Grubin, mitäs nyt tehdään?

Ensinnäkin: Windows XP:n asennus tosiaankin kadottaa Grubin, joten varaudu tähän, jos asennat XP:n jälkeenpäin koneellesi!

Helpoin tapa palauttaa Grub on käynnistää Linux käynnistysdisketiltä (jos olet tehnyt sellaisen ja tietysti olet!) ja kirjoittaa konsolissa:

/sbin/grub-install /dev/hda

kuten edellä mainitsin kohdassa: Miten asennetaan Grub jälkikäteen?.

Toinen (vaikeampi) tapa on käynnistää Linux asennus-CD:ltä ja kirjoittaa kohdassa: boot: linux rescue. Tämän jälkeen pitää tietää osio, jolle Linux on asennettu, jotta pääsisit ylipäänsä tekemään mitään muutoksia. Voit myös kirjoittaa suoraan rescue root=/dev/hdxX, jossa x = ide-levyn tunnus ja X = root-osion tunnus Linuxissa. Seuraavaksi palauta Grub kuten edellä neuvottiin. Sitten vaan Ctrl-Alt-Del (uudelleen käynnistys). Mitä siis oikeastaan tehtiin? Linux käynnistettiin ensin rescue-tilassa ja sitten luotiin mbr (Master Boot Record) uudelleen. Nyt Grubin pitäisi olla taas näkyvissä.

No ei sitä 'ihan oikeasti' tarvitse tehdä noin monimutkaisesti. Lähes kaikissa uusimmissa distroissa on jonkinlainen System Recovery -mahdollisuus käynnistämällä kone ensimmäiseltä käynnistys-CD:ltä. Näin esim. voidaan palauttaa entinen käynnistyslataaja, ks. malliksi mandrake92.htm#rescue :)

Tee Grubista buuttidisketti!

Lähes jokainen aloittelija sotkee jossakin vaiheessa käynnistyslataajan ja pahimmassa tapauksessa mikään käyttöjärjestelmä ei enää käynnisty normaalisti. Itse olen kopioinut Grubin käynnistystiedot buuttaavaksi disketiksi ja tehnyt siitä sitten buuttaavan CD:n, jolla saan kaikki käyttöjärjestelmät välittömästi käyntiin. Minulla on siis buutti-CD, joka käynnistää Grubin, josta voin käynnistää Linuxit, Windowsin ja OS/2:n Boot Managerin.

Buuttidisketti tehdään sivun http://www.gnu.org/software/grub/grub-faq.en.html#q4 ohjeiden mukaan, joista olen tehnyt suomennetun 'rautalankamallin' Tee Grub-buuttidisketti!

Buuttidisketti (Grub tai Lilo) on siinäkin mielessä kätevä, että itse kerneli ladataan kiintolevyltä ja disketiltä ladataan vain käynnistyslataaja. Lataajan käynnistys lukee diskettiä vain pari sekuntia :)

Lilon buuttidisketti

Lilon boottidisketin voi tehdä sivuni Knoppix ohjeen mukaan:

# lilo -b /dev/fd0

Miten tehdään Linuxin buuttikorppu?

Jos asennuksen yhteydessä jäi buuttikorppu tekemättä, niin ei syytä huoleen. Kirjoita konsolissa superuserina (su tai su - distrosta riippuen ja anna rootin salasana) mkbootdisk ja buuttikorppu on kohta valmis (näin ainakin Red Hatissa ja Mandrakessa)! Poistu superuserin tilasta kirjoittamalla exit.

Normaali Red Hatin buuttikorppu ei sisällä muuta kuin kernelin ja muut boottaamiseen tarvittavat tiedostot (ei sisällä esim. fdiskiä kuten Windowsissa):
boot.msg
initrd.img
Ldlinux.sys
syslinux.cfg
vmlinuz

Malliksi vielä buuttikorpun syslinux.cfg:n sisältö Spectra Linuxista (RH 7.3 -pohjainen):

default linux
prompt 1
display boot.msg
timeout 100
label linux
  kernel vmlinuz
  append initrd=initrd.img hdc=ide-scsi root=/dev/hde11

Syslinux.cfg on luonnollisesti kaikkien distrojen buuttidisketeissä vastaavanlainen. Tärkeää on, että juuriosio (root, /) on oikein (minulla tässä /dev/hde11).

Muissa distroissa käynnistyslevyke saatetaan tehdä hieman toisella tavalla, mutta 1. asennus-CD:llä on aina ohjeet, miten buuttikorppu tehdään sekä Dosissa että Linuxissa. Esimerkiksi SuSE 8.1:ssä buuttikorppu tehdään menemällä 1. CD:n boot-hakemistoon ja kirjoittamalla konsolissa

dd if=bootdisk of=/dev/fd0u1440

Levykeasemassa pitää tietysti olla tyhjä korppu. SuSEssa on kyllä myös graafinen apuohjelma (YaST Control Center), josta voi tehdä buuttikorpun vaivattomasti. Tai sitten sen voi tehdä SuSEn konsolissa yksinkertaisesti komennolla:

mkboot

SuSE 8.1:n buuttikorppu sisältää seuraavat tiedostot:
Bootlogo
Ldlinux.sys
Linux
Message
Syslinux.cfg

Debian 3.0:n käynnistysdisketin tiedostot (buuttikorppu tehdään komennolla mkboot tai mkrescue):
Ldlinux.sys
Linux.bin
Message.txt
Syslinux.cfg

Huom. Debianissa mkboot tekee käynnistysdisketin, josta käynnistyy Lilo. Voit muokata Liloa seuraavasti (esim. vi-editori):

mount /dev/fd0 /mnt
cd /mnt
vi lilo.conf
lilo -C lilo.conf
cd
umount /dev/fd0

Vi-editorin tilalla voit tietysti käyttää mitä tahansa editoria, jota olet tottunut käyttämään. Oma suosikkini on Midnight Commander, joka käynnistetään mc.

Mandrake 9.0:n käynnistysdisketin tiedostot (tehdään komennolla mkbootdisk):
boot.msg
initrd.img
ldlinux.sys
syslinux.cfg
vmlinux

Systeemin palautus Knoppix-CD:n avulla

Jos kohdallasi on kaikki mahdollinen mennyt pieleen eikä kone käynnisty ja käynnistysdisketti on jäänyt tekemättä (tai ei toimi), niin peli ei ole siitäkään huolimatta menetetty!

Lähes kaikissa uusimmissa distroissa on jonkinlainen System Recovery -mahdollisuus käynnistämällä kone ensimmäiseltä käynnistys-CD:ltä. Näin esim. voidaan palauttaa entinen käynnistyslataaja, ks. malliksi mandrake92.htm#rescue.

Toinen mahdollisuus on käyttää Knoppix-CD:tä (tai jotain muuta rescue-CD:tä) ja kirjautua konsolista pääkäyttäjäksi toiselle osiolle chroot-käskyllä ja tehdä sieltä tarvittavat huoltotoimenpiteet. Tällainen mahdollisuus Linuxeissa on erittäin tärkeä esim. silloin, kun Lilo tai Grub on sekaisin eikä buuttidiskettiä ole tehty.

knoppix@ttyp0[knoppix]$ su
root@ttyp0[knoppix]# mount /dev/hda1 /mnt/hda1
root@ttyp0[knoppix]# chroot /mnt/hda1
root@Knoppix:/#

Ensin vaihdetaan konsolissa rootiksi (su) ja sen jälkeen liitetään osio (huom. sekä /dev että /mnt ja haluttu osio), jonka jälkeen vaihdetaan liitetylle osiolle (chroot), ks. kuva chrootin käytöstä. Voit nyt siis tehdä osiolla kaikkea tarvittavaa pääkäyttäjänä aivan samoin kuin olisit kirjautunut sinne sisälle suoraan!

Myös IBM on huomannut Knoppixin mahdollisuudet, josta osoituksena on artikkeli IBM:n sivulla Knoppixin käyttämisestä pelastus-CD:nä: System recovery with Knoppix.

Toimivatko Windows-ohjelmat Linuxissa?

Ohjelmat vaativat toimiakseen Wine-api:n (ohjelmointirajapinnan, Application Program Interface) ja vain pieni osa ohjelmistoista suostuu siitä huolimatta toimimaan Linuxissa. Sama api-ongelma on myös Lindowsissa (nyk. Linspire) vaikka Lindowsista onkin lehdistössä kirjoitettu paljon (yleensä positiivisessa mielessä) ja lukijoille on annettu mielikuva, että ongelma olisi jo ratkaistu, mutta se ei pidä paikkaansa. Edelleen 32-bittisten Windows-ohjelmien tuki on lähinnä lapsenkengissä ja vain harvat niistä toimivat Linuxissa. Tilanne ei tule muuttumaan, jos Windowsia ei pakoteta jollakin tavoin raottamaan ohjelmointirajapintojaan yleisesti. Winen toiminnan hahmottaa paremmin, jos sitä ajattelee Windows-emulaattorina vaikkei se sitä tarkalleen ottaen olekaan Remember, Wine Is Not a (CPU) Emulator (Wine is an Open Source implementation of the Windows API on top of X and Unix).

Joidenkin Windows-ohjelmien kohdalla joutuu tekemään pientä 'käsinsäätöä', johon löytyy hyvät ohjeet sivulta http://frankscorner.org/. Ohjeilla pitäisi saada mm. Dreamweaver MX, Photoshop 7.0, MS Office 2000, Nero 6.0, Kazaa Lite toimimaan... (muista, että tekijänoikeuslaki (404/61) 12§ sallii musiikkitiedostojen lataamisen omaan käyttöön, mutta niitä ei saa panna tarjolle muiden ladattavaksi).

Itse olen asentanut Winen Mandrake 9.1:een suoraan netistä Mandraken urpmi-ohjelmalla (urpmi wine) ja yllätyksekseni Windowsin apuohjelmat, Notepad, WordPad, PBrush jne. toimivat ongelmitta (käyttö esim. 'wine notepad' tai suoraan 'notepad'). Myös SuSE 8.1:een olen asentanut Corel Photo Paint 9:n (for Linux), joka toimii ongelmitta Winen kautta.

Mutta miksi et käyttäisi natiivia Linux-ohjelmaa, jos sellainen on olemassa? Luettelo sivulla The table of equivalents / replacements / analogs of Windows software in Linux sisältää melko kattavan vertailun Windows-ohjelmia vastaavista Linux-ohjelmista. Samoin sivulla Make a transition Overview on hyvin ajan tasalla oleva ja helppokäyttöinen vertailutaulukko.

Toimivatko Dos-ohjelmat Linuxissa?

Dos-ohjelmat vaativat toimiakseen Linuxissa Dosemu- ja FreeDOS-ohjelmat (tulevat yleensä yhdessä dosemu-freedos-pakettina), ks. kuva Dosemusta. Täydelliset Dosemun käyttöohjeet löytyvät sivulta Dosemu HOWTO.

Toimivatko Windows-pelit Linuxissa?

Sivulla Linuxgames on mainittu joitakin Linuxissa toimivia suosittuja pelejä, joista osa saattaa olla alun perin Windows-pelejä. Windows-pelit vaativat aina Wineen toimiakseen Linuxissa, mutta kaikki pelit eivät kuitenkaan siinä toimi.

Tutustu myös maksulliseen Wine-versioon sivulla http://www.transgaming.com/ ja ilmaiseen CVS-versioon (WineX CVS) sivulla http://transgaming.org/.

Vilkaise myös sivustoa www.tuxgames.com/, jolla on mainittu kutakuinkin kaikki Linuxissa toimivat kaupalliset pelit. Ja löytyyhän pelejä vielä täältäkin: http://happypenguin.org/ :)

Voiko Linuxin kautta etäkäyttää Windowsia ja toisinpäin?

Uusimmissa distroissa on valmiina ilmainen VNC Viewer (VNC = Virtual Network Computing), jonka kautta Windows näkyy Linuxin ikkunassa, ks. http://www.realvnc.com/ (ks. myös sivu KDE Desktop Sharing). Tutustu myös VNC:n tunnelointiin SSH2:n kautta (tietoturvan takia) http://www.shebeen.com/vnc_ssh/ ja suomenkieliseen ohjeeseen VNC:n käyttöönotto.

Toinen hyvä ohjelma vastaavaan käyttöön on rdesktop, jota monet pitävät Windowsin etäkäyttöön vnc:tä parempana. Ohjelma tulee useimpien distojen mukana asennus-CD:llä.

Linuxia voit taas käyttää Windowsista käsin asentamalla VNC-palvelin (server) Linuxiin ja asiakas (client) Windows-koneeseen. Käynnistä tämän jälkeen clientti Windowsin menusta (Start - RealVNC - Run VNC Wiewer) ja kirjoita serverin (Linux) ip-osoite tyhjään listaan (Connection details). Katso lisätietoa sivulta http://www.realvnc.com/gettingstarted.html.

Kun VNC-palvelin käynnistetään ensimmäisen kerran, niin vncserver-sripti luo $HOME/.vnc/xstartup-tiedoston, jossa määritellään, mitä sovelluksia ajetaan käynnistyksen yhteydessä (ks. lisätietoa http://www.realvnc.com/faq.html#grey). Oletuksena käynnistyy twm-ikunanamanageri ja xterm-ikkuna. Jos nämä sovellukset eivät käynnisty, ruutu näkyy harmaana. Yleisin syy ongelmaan on, että sovellukset eivät ole käyttäjän polussa (ks. virheilmoitukset $HOME/.vnc/host:display#.log-tiedostosta). Jos haluat KDE:n käynnistyvän oletuksena, kommentoi twm ja xterm pois ja lisää "startkde &" tilalle.

Voit myös käynnistää VNC-palvelimen niin että se käyttää XDMCPX-protokollaa (XDMCPX = Display Manager Control Protocol). Mielenkiintoinen arkikkeli asiasta on Linux Magazinen sivulla Simplifying Remote VNC Logins. XDMCPX on tuttu LTSP:sta (LTSP = Linux Terminal Server Project) http://www.ltsp.org/.

Voit myös asentaa X-palvelimen Windows-koneeseen, ks. http://www.cygwin.com/xfree/.

Voiko Windowsia ajaa Linuxin kautta?

Ohjelmalla VMware tämä on todellakin mahdollista! Katso kuvaruutukaappauksia.

Myös Win4lin saattaa olla kiinnostava tuttavuus: http://www.netraverse.com/, jonka avulla voidaan ajaa Windows 95/98/ME-käyttöjärjestelmiä Linuxissa.

Näistä kahdesta VMWare on monipuolisempi, koska sen avulla voidaan ajaa myös NT- / W2K- / XP-käyttöjärjestelmiä tai vaihtoehtoisesti Linuxia Windowsin kautta. Ainoa 'haittapuoli' näissä ohjelmissa on niiden maksullisuus ;)

VMWarea vastaava ilmainen pc-emulaattori on Bochs, http://bochs.sourceforge.net, joka kylläkin on vielä kehitysasteella. Sen kehitystä kannattaa kuitenkin seurata. Myös Plex86 on vaihtoehto VMWarelle, VirtualPC:lle ja muille vastaaville tuotteille.

Kuinka FAT32- ja NTFS-osio (Windows) saadaan näkyviin Linuxissa?

Windows-osio saadaan näkyviin ja tiedostoja voidaan käyttää vasta, kun osio on mount-käskyllä otettu käyttöön Linuxissa:

mount -t vfat /dev/hda1 /mnt/Windows

Vinkki: osiot, joita ei haluta liittää automaattisesti, kannattaa kuitenkin lisätä fstabiin mutta lisää riville noauto niiden osioiden kohdalle, joita et halua liitettävän automaattisesti seuraavan esimerkin mukaan:

/dev/hda1 /mnt/hda1 vfat noauto,users,exec,umask=000 0 0

Nyt voidaan edellä oleva hda1-osio liittää ja irrottaa yksinkertaisesti 'mount /dev/hda1' ja 'umount /dev/hda1' kirjoittamatta koko rimpsua:)

Tässä tapauksessa mnt-hakemistoon on luotu valmiiksi alihakemisto Windows ja Windows on osiolla hda1 (muuta tiedot omaa kokoonpanoasi vastaavaksi). Windows-nimen tilalla voi tietysti käyttää mitä tahansa muutakin nimeä, millä haluat Windowsin näkyvän Linuxissa ja osion voi mountata muuallekin kuin mnt-hakemiston alihakemistoksi, mutta tuo mnt on jonkinlainen oletushakemisto ja ehkä siksi luonnollisin paikka asemille, joiden halutaan näkyvän Linuxissa. Huomaa vielä, että FAT32-osion