This is a mirror. For latest version of this document, see myy.helia.fi/~a0300187/linux/ubuntu.html
Harjoituksen tarkoituksena oli luoda toimiva kickstart-asennus Ubuntulle.
Tämä oli extratehtävä, jonka sain opettajalta 10.11.2005 pidetyn luennon aikana. Harjoitus valmistui 23.11.2005 monen turhauttavan ja ankaraa itseruoskintaa sisältäneen päivän jälkeen. Aikaa tehtävään kului siis kaiken kaikkiaan useita päiviä, sillä tehtävä osoittautui hankalammaksi kuin olisi uskonut.
Koska minulla oli jo toimiva kickstart ympäristö Fedora Core 4:lle, oli tehtävän suorittamisessa lähinnä kyse ympäristön muokkaamisesta Ubuntulle sopivaksi. Aloitin työt hakemalla Ubuntun asennus-cd imagen:
# wget http://ie.releases.ubuntu.com/ubuntu-releases/5.10/ubuntu-5.10-install-i386.iso
Tämän jälkeen otin kyseisen imagen käyttööni mounttaamalla sen /mnt-hakemistoon:
# cd / # mount -o loop ubuntu-5.10-install-i386.iso /mnt
Kun image oli mountattu, kopioin verkkobootissa tarvittavat tiedostot äsken mounttaamastani hakemistosta /tftpboot-hakemistoon. Nämä tiedostot löytyivät asennuscd:ltä hakemistosta /mnt/install/netboot/. Tässä oli erikoisuutena se, että saadakseni Ubuntun verkkoasennuksen toimimaan, piti koko netboot-hakemisto kopioida /tftpboot-hakemistoon alihakemistoineen kaikkineen. Pelkkien asennustiedostojen initrd.img, vmlinuz ja pxelinux.0 kopiointi ei riittänyt - joka on juuri se tapa millä alunperin koetin homman hoitaa.
BTW: yllämainitut tiedostot ovat Ubuntussa luonnollisesti nimeltään linux, initrd.gz ja pxelinux.0.... =)
Tämän jälkeen konfiguroin /tftpboot/pxelinux.cfg/default tiedoston Ubuntun haluamaan muotoon, eli lisäsin ks=http://10.0.0.2/ksub.cfg parametrin ensimmäisen labelin alle append-riville. Muutoksen jälkeen näytti default-tiedosto tältä.
Seuraavaksi oli vuorossa asennusmirrorin teko, joka hoitui seuraavasti:
# cd /var/www/html # mkdir ubuntu # cp -r /mnt/* /var/www/html/ubuntu
Sitten olikin vuorossa kickstart tiedoston rakentaminen Ubuntulle sopivaksi. Alkuun kokeilin luoda kickstart tiedoston Fedoran asennuksessa käyttämäni tiedoston pohjalta, mutta Ubuntun kickstart ei ymmärrä kaikkia parametreja mitä FC4 ymmärtää, joten viimeisimmän ja toimivan version Ubuntun kickstart tiedostosta rakensin Ubuntun omalla kickstart konfiguration työkalulla.
Tässä on malli toimivasta Ubuntun kickstart-tiedostosta.
Näiden vaiheiden jälkeen testasin automaattisen Ubuntu asennuksen kuten FC4 asennuksenkin:
# setenforce 0 # /etc/init.d/iptables stop [tässä välissä vaihdoin serverin osoitteeksi kiinteän IP:n 10.0.0.2] # /etc/init.d/dhcpd start # /etc/init.d/httpd start # wakeonlan -i 10.0.0.255 00:0d:56:2b:d2:9a
Ja kas kummaa, kohdekone pärähti käyntiin ja asennus alkoi pyöriä - eli homma toimi kuin se kuuluisa junan vessa...
Vinkki: Ubuntun mielenkiintoisena lisänominaisuutena automaattisissa asennuksissa on se, että kickstart automatiikkaa on mahdollista laajentaa tai kokonaan korvata ns. preseed-tekniikalla, joka on Debianin oma automaattiseen asennukseen tehty työkalu. Preseed on debconf-ohjelman käyttämä "vastaus"-tiedosto, joka näyttää olevan Ubuntun/Debianin ns. "natiivi" työkalu näissä hommissa...
Koko hommaan meni tajuttoman paljon aikaa, joka johtui siitä yksinkertaisesta syystä, että käytin aluksi /tftpboot-hakemiston rakentamisessa samaa mekaniikkaa kuin FC4 automaattisen asennuksen kanssa, eli kopioin ko. kansioon vain tietyt aikaisemmin mainitut tiedostot. Tästä johtuen ei Ubuntun kickstart toiminutkaan oikein, vaan antoi http-asennusta suoritettaessa ensin virheilmoituksen siitä, ettei löydä cdrom-mediaa ja tästä jatkettaessa virheen "no route to host", joka antoi ymmärtää, että vika olisi ollut koneiden verkkoyhteyksissä. Vieläkin mielenkiintoisempaa oli se, että jos samaisella kicstart tiedostolla teki asennuksen niin, että tavarat haettiin cdrom:lta, toimi automaattinen asennus oikein.
Harhaanjohtavien virheilmoitusten vuoksi oli ongelman oikean syyn löytäminen kiinni pelkästään omasta jääräpäisyydestä, sillä esim. googlettaminen ei tehnyt tässä tapauksessa yhtään autuaammaksi. Jos en olisi päättänyt alkaa rakentamaan koko systeemiä uudestaan puhtaalta pöydältä, olisi virhe jäänyt ainakin minulle ikuiseksi mysteeriksi. Onneksi periksiantamattomuus palkittiin tällä kertaa ;)
Tämän veivaamisen jälkeen jäi kovin vähän selvitettävää, lähinnä häiritsemään jäi kickstart-tiedoston optioiden erilaisuudet, jotka varmaan nekin aikojen saatossa häviävät. Laitan tässä vielä yhteenvetona kaikki oleellisimmat konffitiedostot näytille: Kickstart file,default file ja dhcpd.conf joka on moneen kertaan hierottu ja sisältää ainoastaan oleelliset tavarat.
Copyright (c) 2005 Mika Karjalainen. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.