Ubuntun live-CD:n mukauttaminen

Linux.fista
Versio hetkellä 9. heinäkuuta 2008 kello 22.50 – tehnyt Joell (keskustelu | muokkaukset) (→‎Avaaminen mukauttamista varten: kaunistus)
Siirry navigaatioon Siirry hakuun

Ubuntun Live-CD on melko helposti mukautettavissa omaan käyttöön. Ubuntun liverompussa käytetään muokkaamattomia paketteja, joita voi asennetaa ja poistaa apt:llä kuten missä tahansa järjestelmässä.

Mukauttamisen tekee työlääksi kaksinkertainen kääriminen levykuviin. CD-imagen sisällä on squashfs:llä pakattu juuriosio. Lisäksi tietoa on kääritty mm. initrd:n sisään. Tässä ohjeessa neuvotaan kääreiden availu siten, että levytilaa kuluu niin vähän kuin mahdollista ja toki myös kääriminen takaisin valmiiksi levykuvaksi.

Lähteenä tässä ohjeessa on käytetty osoitteesta https://help.ubuntu.com/community/LiveCDCustomization löytyvää mukautusohjetta. Tässä ohjeessa käytetään lähdeartikkelista poiketen kopioinnin sijaan unionfs-moniliitoksia ja esitellään etäpelastuslevyn tekemistä.

Avaaminen mukauttamista varten

Oletetaan, että käytettävissäsi on Ubuntun levykuva. Tämä ohje on kirjoitettu Ubuntu Desktop-levyä silmällä pitäen, tosin ohje toiminee myös muihin casperia käyttäviin levyihin.

Liitetään kaikki levyt muokkausoikeuksin

Keksi jokin paikka, jossa mukautusvaiheen väliaikaiset tiedostot säilytetään. Luo paikkaan hakemisto, esimerkiksi ubuntu-live ja siirry sinne. Suorita seuraavat komennot:

mkdir -p live live-ro live-rw squashfs squashfs-ro squashfs-rw
mount -o loop ALKUPERÄINEN_ISO live-ro
mount -t unionfs -o dirs=live-rw:live-ro=ro none live
mount -o loop -t squashfs live-ro/casper/filesystem.squashfs squashfs-ro/
mount -t unionfs -o dirs=squashfs-rw:squashfs-ro=ro none squashfs

Komentojen seurauksena syntyy muokkausoikeuksilla varustetut hakemistot live ja squashfs. Hakemistossa live on varsinaisen liverompun juurihakemisto – eli se, joka näkyy, kun rompun laittaa koneeseen. Hakemistossa squashfs puolestaan on rompulta bootatun järjestelmän juurihakemisto, Esimerkiksi asennetut ohjelmat sijaitsevat squashfs-hakemistossa.

Seuraavaksi valmistellaan verkkoyhteydet ja chroot-ympäristö, jotta päästäisiin muokkaamaan liveromppua livenä. :-) Komennot ajetaan samasta hakemistosta kuin ylläolevat.

cp /etc/resolv.conf squashfs/etc/
mount --bind /dev/ squashfs/dev
chroot squashfs

Nyt eteen avautuva komentotulkki on live-cd:llä. Siellä on valmiina tarvittavat perusohjelmistot mm. komentotulkin käyttöä varten.

Valmistellaan vielä ympäristöä lisäämällä välttämättömät pseudotiedostojärjestelmät ja asetetaan pari ympäristömuuttujaa välttämään ongelmia. Localen asettamisella pyritään välttämään mm. omasta koneesta periytyvien localeiden sivuvaikutukset.

mount -t proc none /proc
mount -t sysfs none /sys
export HOME=/root
export LC_ALL=C

Nyt ympäristö on valmis käytettäväksi ja voit siirtyä kohtaan mukauttaminen.

Paketointi uudeksi levykuvaksi

Lisätietoja oppaan kohdasta Cleanup.

apt-get clean
rm -rf /tmp/*
rm /root/.bash_history
rm /etc/resolv.conf
umount /proc
umount /sys
exit
umount squashfs/dev

jatka oppaan kohdasta putting cd together. muista vaihtaa hakemistonnimet

chmod +w live/casper/filesystem.manifest
chroot squashfs dpkg-query -W --showformat='${Package} ${Version}\n' >live/casper/filesystem.manifest
cp live/casper/filesystem.manifest live/casper/filesystem.manifest-desktop
sed -i '/ubiquity/d' live/casper/filesystem.manifest-desktop

oppaan kohdasta compress filesystem vanha squashfs voidaan poistaa, koska mountattu ro-hakemistosta

rm live/casper/filesystem.squashfs
mksquashfs squashfs live/casper/filesystem.squashfs -nolzma

muokkaa levynnimeä tiedostossa live/README.diskdefines

rm live/md5sum.txt
(cd live && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
cd live
mkisofs -r -V "ZouppenRoot" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot- info-table -o ../zouppenroot.iso .
cd ..

levyt irti

umount live squashfs squashfs-ro live-ro

valmista! levyn kulutus yhteensä reilu giga

597472	live-rw
116096	squashfs-rw
623200	zouppenroot.iso

Mukauttaminen

eniten vievät paketit pois, uutta tilalle lisätään universe pakettilistaan tarvittaessa

apt-get remove --purge openoffice.org-core evolution-common gnome-games gimp pidgin
apt-get update
apt-get dist-upgrade

ssh-kustomointi

apt-get install openssh-server autossh
cd ~/.ssh
ssh-keygen

kopioi authorized_keys -tiedostoon oma julkinen avaimesi kopioi id_rsa.pub ssh-palvelimelle authorized_keysiin lisää tiedostoon /etc/rc.local seuraavaa

export AUTOSSH_GATETIME=0
export AUTOSSH_POLL=60
autossh -M AUTOSSHPORTTI -qf -4Ng -R SSHPORTTI:127.0.0.1:22 tunnus@hostname

MUISTA kokeilla yhdistämistä ensin! Saadaan siten known-hostsiin rivi

EXTRAA

kuvan muokkaus, toimii vaikka valittaa

ppmtolss16 '#ffffff=7' < ~joell/kuvia/ubunturootkit-splash.ppm > live/isolinux/splash.rle
cat ~joell/kuvia/ubunturootkit-splash.pcx > live/isolinux/splash.pcx 

turhien kielten poisto alkulistasta

live/isolinux/langlist