Ubuntun live-CD:n mukauttaminen
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