Ubuntun live-CD:n mukauttaminen

Linux.fista
Versio hetkellä 9. heinäkuuta 2008 kello 22.24 – tehnyt Joell (keskustelu | muokkaukset) (vähän kappalerakennetta)
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

Liitetään kaikki levyt muokkausoikeuksin

mkdir live live-ro live-rw squashfs squashfs-ro squashfs-rw
mount -o loop ~joell/nettikama/ubuntu-8.04.1-desktop-i386.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

verkko

cp /etc/resolv.conf squashfs/etc/

levyt ja moutit

sudo mount --bind /dev/ squashfs/dev
sudo chroot squashfs

chrootissa seuraavat

mount -t proc none /proc
mount -t sysfs none /sys

jatketaan ohjeen mukaan:


export HOME=/root
export LC_ALL=C

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