Ero sivun ”Ubuntun live-CD:n mukauttaminen” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(artikkelin runko suoraan tekstitiedostosta)
 
p (siirsi sivun ”Ubuntun Live-CD:n mukauttaminen” uudelle nimelle ”Ubuntun live-CD:n mukauttaminen”)
 
(13 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Kesken vielä
[[Ubuntu]]n [[live-CD]] on melko helposti mukautettavissa omaan käyttöön. Ubuntun liverompussa käytetään muokkaamattomia paketteja, joita voi asennetaa ja poistaa [[apt]]illa kuten tavallisessakin järjestelmässä.


Liitetään kaikki levyt muokkausoikeuksin
Mukauttamisen tekee työlääksi kaksinkertainen kääriminen [[levykuva|levykuviin]]. CD-levykuvan 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.


  mkdir live live-ro live-rw squashfs squashfs-ro squashfs-rw
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ä.
  mount -o loop ~joell/nettikama/ubuntu-8.04.1-desktop-i386.iso live-ro
 
==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 [[casper]]ia käyttäviin levyihin.
 
Liitetään kaikki levyt muokkausoikeuksin.
 
Keksi jokin paikka, jossa mukautusvaiheen väliaikaiset tiedostot säilytetään. Luo paikkaan hakemisto, esimerkiksi <tt>ubuntu-live</tt> 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 -t unionfs -o dirs=live-rw:live-ro=ro none live
  mount -o loop -t squashfs live-ro/casper/filesystem.squashfs squashfs-ro/
  mount -o loop -t squashfs live-ro/casper/filesystem.squashfs squashfs-ro/
  mount -t unionfs -o dirs=squashfs-rw:squashfs-ro=ro none squashfs
  mount -t unionfs -o dirs=squashfs-rw:squashfs-ro=ro none squashfs


verkko
Komentojen seurauksena syntyvät [[tiedostojen oikeudet|muokkausoikeuksilla]] varustetut hakemistot <tt>live</tt> ja <tt>squashfs</tt>. Hakemistossa <tt>live</tt> on varsinaisen liverompun juurihakemisto – eli se, joka näkyy, kun rompun laittaa koneeseen. Hakemistossa <tt>squashfs</tt> puolestaan on rompulta käynnistetyn järjestelmän juurihakemisto, Esimerkiksi asennetut ohjelmat sijaitsevat squashfs-hakemistossa.
  cp /etc/resolv.conf squashfs/etc/
 
Seuraavaksi valmistellaan [[verkkoliitynnät|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.


levyt ja moutit
Valmistellaan vielä ympäristöä lisäämällä välttämättömät pseudotiedostojärjestelmät ja asetetaan pari [[ympäristömuuttuja]]a välttämään ongelmia. [[Locale]]n asettamisella pyritään välttämään mm. omasta koneesta periytyvien localeiden sivuvaikutukset.
sudo mount --bind /dev/ squashfs/dev
sudo chroot squashfs


chrootissa seuraavat
  mount -t proc none /proc
  mount -t proc none /proc
  mount -t sysfs none /sys
  mount -t sysfs none /sys
 
  [[export]] HOME=/root
jatketaan ohjeen mukaan:
https://help.ubuntu.com/community/LiveCDCustomization
 
  export HOME=/root
  export LC_ALL=C
  export LC_ALL=C


eniten vievät paketit pois, uutta tilalle
Nyt ympäristö on valmis käytettäväksi ja voit siirtyä kohtaan ''mukauttaminen''.
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
==Paketointi uudeksi levykuvaksi==
kopioi id_rsa.pub ssh-palvelimelle authorized_keysiin
lisää tiedostoon /etc/rc.local seuraavaa


export AUTOSSH_GATETIME=0
Lisätietoja lähteenä olevan oppaan kohdasta ''Cleanup''.
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
Oletetaan, että olet vielä chrootin sisällä. Jos olet ehtinyt jo poistumaan, palaa takaisin.


jatka oppaan kohdasta cleanup
Poistetaan tarpeettomat tiedostot ja poistutaan chroot-ympäristöstä:


  apt-get clean
  [[apt-get]] clean
  rm -rf /tmp/*
  [[rm]] -rf /tmp/*
  rm /root/.bash_history
  rm /root/.bash_history
  rm /etc/resolv.conf
  rm /etc/resolv.conf
  umount /proc
  [[umount]] [[proc-tiedostojärjestelmä|/proc]]
  umount /sys
  umount [[sys-tiedostojärjestelmä|/sys]]
  exit
  [[exit]]
 
Irrotetaan vielä [[laitetiedostot|dev-tiedostojärjestelmä]] chrootin ulkopuolelta:
 
  umount squashfs/dev
  umount squashfs/dev


jatka oppaan kohdasta putting cd together. muista vaihtaa hakemistonnimet
Nyt tehdään rutiinitoimenpiteitä, kuten päivitetään pakettilistaukset ja kapseloidaan squashfs-levykuva uudestaan. Viimeisin rivi vie eniten aikaa, koska se pakkaa juurihakemiston tiedostot squashfs-levykuvaksi cd:n levykuvan sisään.


  chmod +w live/casper/filesystem.manifest
  [[chmod]] +w live/casper/filesystem.manifest
  chroot squashfs dpkg-query -W --showformat='${Package} ${Version}\n' >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
  cp live/casper/filesystem.manifest live/casper/filesystem.manifest-desktop
  sed -i '/ubiquity/d' live/casper/filesystem.manifest-desktop
  [[sed]] -i '/ubiquity/d' live/casper/filesystem.manifest-desktop
rm live/casper/filesystem.squashfs
mksquashfs squashfs live/casper/filesystem.squashfs -no[[lzma]]


oppaan kohdasta compress filesystem
Saatoit ihmetellä yllä, että miten levykuva voidaan noin vain poistaa, vaikka se on vielä liitettynä. Tämä onnistuu, koska vanha squashfs on [[mount]]attu live-ro-hakemistosta, eikä live-hakemistosta. Kyseessä on siis käytännössä eri tiedosto, vaikka jakavatkin saman levysijainnin.
vanha squashfs voidaan poistaa, koska mountattu ro-hakemistosta


rm live/casper/filesystem.squashfs
Tässä vaiheessa voit muokata levyn nimen haluamaksesi tiedostosta <tt>live/README.diskdefines</tt>.
mksquashfs squashfs live/casper/filesystem.squashfs -nolzma


muokkaa levynnimeä tiedostossa live/README.diskdefines
Lopuksi muodostetaan [[MD5|md5]]-summat uudestaan.  


  rm live/md5sum.txt
  rm live/md5sum.txt
  (cd live && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
  (cd live && [[find]] . -type f -print0 | [[xargs]] -0 [[md5sum]] > md5sum.txt)
 
Nyt luodaan lopulta uusi levykuva. Muokkaa halutessasi mkisofs:n <tt>-V</tt>-parametrin määrittelemää levynnimeä ja uuden levykuvan tiedostonnimeä.


  cd live
  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 .
  [[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 ../UUSI_ISO.iso .
  cd ..
  cd ..


levyt irti
Irrotetaan mukauttamisen aikaiset tiedostojärjestelmät:


  umount live squashfs squashfs-ro live-ro
  umount live squashfs squashfs-ro live-ro


valmista! levyn kulutus yhteensä reilu giga
Valmista tuli! Lopuksi levyllesi jäi notkumaan vajaan gigatavun verran väliaikaisia tiedostoja. Hakemistossa <tt>live-rw</tt> on muutokset alkuperäiseen liveromppuun verrattuna (eniten tilaa vie uusi squashfs-levykuva). Hakemistossa <tt>squashfs-rw</tt> sen sijaan on muutokset valmiin live-ympäristön tiedostojärjestelmässä. Voit säilyttää ne myöhempiä muokkauksia varten tai tuhota heti. Mikäli säilytät ne, voit ottaa ympäristön käyttöön täsmälleen samoilla komennoilla, jotka voit näppärästi kasata vaikka [[bash-skriptaus|skriptiksi]].
 
Nyt voit [[Levyn_polttaminen|polttaa levykuvan cd:lle]] mieluisimmalla ohjelmallasi.
 
==Mukauttaminen==
 
Mikäli tarvitset lisää tilaa live-CD:lle, voit poistaa tarpeettomia paketteja. Jotta pystyt polttamaan levyn tavalliselle rompulle, ei lopullisen levykuvan koko saa kasvaa 700 megatavun yli.
 
Paketit kannattaa poistaa käyttäen <tt>purge</tt>a, jolloin myös asetustiedostot poistuvat. Esimerkiksi näin:
 
apt-get remove --purge [[openoffice.org]]-core [[gimp]] gimp-data
 
Hyvän käsityksen kunkin paketin tilan kulutuksesta saa tällaisella virityksellä:
[[dpkg|dpkg-query]] -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
 
Voit muokata tarvittaessa <tt>/etc/apt/[[sources.list]]</tt> -tiedostoa esimerkiksi ottamalla käyttöön universe-paketit. Voit samalla päivittää järjestelmän uusimpaan versioon:
 
apt-get update
apt-get dist-upgrade
 
===Etäpelastuslevy===
 
Mikäli pelastettavan koneen luo ei pääse fyysisesti, mutta se on liitetty verkkoon, on mahdollisuus käyttää etäpelastusta. Tässä neuvotaan live-CD:n mukauttaminen automaattiseksi etäkäyttölevyksi, joka avaa tarvittavat palvelut etäkäyttöä varten ja muodostaa palomuurin ohittavat tunnelit.
 
Tätä käyttääksesi tarvitset:
* tunnukset kiinteällä hostnamelle varustetulle palvelimelle
* live-cd avattuna mukauttamista varten (sivun alussa ohjeet)
* oman julkisen [[ssh]]-avaimesi (voit luoda ssh-keygenillä)
 
Annetaan seuraavat komennot chrootissa, joka asetettiin sivun alun ohjeiden mukaan. Asennetaan [[ssh]]-palvelin ja [[autossh]]. Autossh on universe-pakettilähteessä, joten ota se käyttöön ennen tätä.
 
apt-get install [[openssh]]-server autossh
 
Muodostetaan liverompulle ssh-avain. Anna ohjelman tallentaa tiedostot oletussijainteihin.
 
ssh-keygen
 
Kopioi <tt>~/.ssh/authorized_keys</tt> -tiedostoon oman julkisen avaimesi rivi. Se löytyy usein kotikoneesi tiedostosta <tt>~/.ssh/id_rsa.pub</tt> tai <tt>~/.ssh/id_dsa.pub</tt>.
 
Jotta pääset käyttämään kaksisuuntaista tunnelia, tarvitset myös toisensuuntaisen avaimenvaihdon. Kopioi liverompun tiedosto <tt>~/.ssh/id_rsa.pub</tt> käyttämäsi palvelimen kotihakemistosi tiedoston <tt>~/.ssh/authorized_keys</tt> loppuun. Tällöin liverompun käyttäjä pääsee myös kirjautumaan käyttämällesi palvelimellei. Tässä on siis potentiaalinen tietoturva-aukko myös tähän suuntaan. Sen välttämisestä on lopussa ohjeita.
 
Muokataan tiedostoa <tt>/etc/rc.local</tt> ja lisätään ennen riviä <tt>exit 0</tt> seuraavat rivit. Korvaa sana <tt>tunnus@hostname</tt> käyttämäsi palvelimen tiedoilla ja numerot <tt>8020</tt> ja <tt>8022</tt> käyttämilläsi palvelimen vapailla porteilla. Ensin mainittua porttia seuraavaksi suuremman portin on myös oltava vapaana, jotta tunneli toimisi.
 
export AUTOSSH_GATETIME=0
export AUTOSSH_POLL=60
autossh -M 8020 -qf -4Ng -R 8022:127.0.0.1:22 tunnus@hostname
 
Jotta palvelimen rivi tallentuu liverompun <tt>known-hosts</tt>-tiedostoon, täytyy yhdistää yhden kerran ja sanoa 'yes'. Sisälle pitäisi päästä ilman salasanaa, jos kaikki on kunnossa.
[[ssh]] -4 tunnus@hostname
 
====Palvelimen asetukset====
 
Jotta etäpelastettavan koneen rompulla ei päästäisi käsiksi tiedostoihin palvelimella tai tekemään mitään muuta kuin porttiohjauksia, tarvitaan muokata riviä, joka on lisätty käytetyn tunnuksen tiedostoon <tt>~/.ssh/authorized_keys</tt>. Lisätään etäpelastuslevyn julkisen avaimen rivin alkuun:
 
command="/bin/[[false]]",no-agent-forwarding,no-X11-forwarding,no-pty
 
Mikäli halutaan, että palvelimen kautta voidaan ottaa suora yhteys ylläpidettävään koneeseen, täytyy säätää palvelimen asetuksia roottina. Mikäli tähän ei ole mahdollisuutta, tunneliin voidaan yhdistää vain suoraan palvelimen komentoriviltä yhdistämällä [[localhost]]iin.
 
Muokkaa palvelimen tiedostoa <tt>/etc/ssh/sshd_config</tt> ja lisää loppuun rivi (huomaa tabulaattorisisennys ja korvaa <tt>tunnus</tt> oikealla):
Match User tunnus
GatewayPorts yes
 
====Yhdistäminen ja pelastaminen====
 
Kun etäpelastustehtävä tulee, pyydä vaikkapa puhelimitse pelastettavaa konetta bootattavaksi polttamasi cd:n kera. Mikäli kone saa yhteyden verkkoon, pitäisi tunnelinkin olla ylhäällä. Mikäli et poistanut pelastuslevyltä [[Firefox]]ia, kokemattomankin etäkäyttäjänkin on helppo varmistaa netin toimiminen sillä.
 
Voit muodostaa yhteyden koneeseen seuraavasti (korvaa palvelimen nimi ja portti, jätä <tt>root</tt>:
 
ssh -p 8022 root@palvelin


597472 live-rw
Onnea. Olet etäyhteydessä. Voit liittää tietokoneen levyjä, lukea lokeja ja alkaa etsimään vikaa. Jos kyseessä on vaikkapa kiukutteleva [[Windows]]-kone, voit ottaa tiedot etänä talteen ja käynnistää Ubuntun asennuksen!
116096 squashfs-rw
623200 zouppenroot.iso


==Muuta mukautettavaa==


==EXTRAA==
Käynnistyskuvan voi vaihtaa piirtämällä vanhan <tt>live/isolinux/splash.pcx</tt>-kuvan pohjalta uuden ja
muuntamalla sen oikeaan muotoon. Tallenna muokkaamasi kuva sekä pcx- että raw ppm-muodoissa. Tämä näyttää toimivan, vaikka <tt>ppmtolss16</tt> valittaa liian isosta väripaletista. Komenna (korvaa <tt>UUSIKUVA</tt> kuvan polulla):
ppmtolss16 '#ffffff=7' < UUSIKUVA.ppm > live/isolinux/splash.rle
[[cat]] UUSIKUVA.pcx > live/isolinux/splash.pcx


kuvan muokkaus, toimii vaikka valittaa
Rompulta käynnistettäessä ruudulle listautuu valtaisa määrä kieliä, joista yleensä vain suomi ja englanti lienevät tarpeellisia. Voit siivota tarpeettomat kielet poistamalla rivejä tiedostosta <tt>live/isolinux/langlist</tt>.
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
[[Luokka:Ohjeet]]
live/isolinux/langlist
[[Luokka:Ubuntu]]

Nykyinen versio 11. heinäkuuta 2008 kello 20.39

Ubuntun live-CD on melko helposti mukautettavissa omaan käyttöön. Ubuntun liverompussa käytetään muokkaamattomia paketteja, joita voi asennetaa ja poistaa aptilla kuten tavallisessakin järjestelmässä.

Mukauttamisen tekee työlääksi kaksinkertainen kääriminen levykuviin. CD-levykuvan 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[muokkaa]

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 syntyvät 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 käynnistetyn 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[muokkaa]

Lisätietoja lähteenä olevan oppaan kohdasta Cleanup.

Oletetaan, että olet vielä chrootin sisällä. Jos olet ehtinyt jo poistumaan, palaa takaisin.

Poistetaan tarpeettomat tiedostot ja poistutaan chroot-ympäristöstä:

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

Irrotetaan vielä dev-tiedostojärjestelmä chrootin ulkopuolelta:

umount squashfs/dev

Nyt tehdään rutiinitoimenpiteitä, kuten päivitetään pakettilistaukset ja kapseloidaan squashfs-levykuva uudestaan. Viimeisin rivi vie eniten aikaa, koska se pakkaa juurihakemiston tiedostot squashfs-levykuvaksi cd:n levykuvan sisään.

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
rm live/casper/filesystem.squashfs
mksquashfs squashfs live/casper/filesystem.squashfs -nolzma

Saatoit ihmetellä yllä, että miten levykuva voidaan noin vain poistaa, vaikka se on vielä liitettynä. Tämä onnistuu, koska vanha squashfs on mountattu live-ro-hakemistosta, eikä live-hakemistosta. Kyseessä on siis käytännössä eri tiedosto, vaikka jakavatkin saman levysijainnin.

Tässä vaiheessa voit muokata levyn nimen haluamaksesi tiedostosta live/README.diskdefines.

Lopuksi muodostetaan md5-summat uudestaan.

rm live/md5sum.txt
(cd live && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)

Nyt luodaan lopulta uusi levykuva. Muokkaa halutessasi mkisofs:n -V-parametrin määrittelemää levynnimeä ja uuden levykuvan tiedostonnimeä.

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 ../UUSI_ISO.iso .
cd ..

Irrotetaan mukauttamisen aikaiset tiedostojärjestelmät:

umount live squashfs squashfs-ro live-ro

Valmista tuli! Lopuksi levyllesi jäi notkumaan vajaan gigatavun verran väliaikaisia tiedostoja. Hakemistossa live-rw on muutokset alkuperäiseen liveromppuun verrattuna (eniten tilaa vie uusi squashfs-levykuva). Hakemistossa squashfs-rw sen sijaan on muutokset valmiin live-ympäristön tiedostojärjestelmässä. Voit säilyttää ne myöhempiä muokkauksia varten tai tuhota heti. Mikäli säilytät ne, voit ottaa ympäristön käyttöön täsmälleen samoilla komennoilla, jotka voit näppärästi kasata vaikka skriptiksi.

Nyt voit polttaa levykuvan cd:lle mieluisimmalla ohjelmallasi.

Mukauttaminen[muokkaa]

Mikäli tarvitset lisää tilaa live-CD:lle, voit poistaa tarpeettomia paketteja. Jotta pystyt polttamaan levyn tavalliselle rompulle, ei lopullisen levykuvan koko saa kasvaa 700 megatavun yli.

Paketit kannattaa poistaa käyttäen purgea, jolloin myös asetustiedostot poistuvat. Esimerkiksi näin:

apt-get remove --purge openoffice.org-core gimp gimp-data

Hyvän käsityksen kunkin paketin tilan kulutuksesta saa tällaisella virityksellä:

dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less

Voit muokata tarvittaessa /etc/apt/sources.list -tiedostoa esimerkiksi ottamalla käyttöön universe-paketit. Voit samalla päivittää järjestelmän uusimpaan versioon:

apt-get update
apt-get dist-upgrade

Etäpelastuslevy[muokkaa]

Mikäli pelastettavan koneen luo ei pääse fyysisesti, mutta se on liitetty verkkoon, on mahdollisuus käyttää etäpelastusta. Tässä neuvotaan live-CD:n mukauttaminen automaattiseksi etäkäyttölevyksi, joka avaa tarvittavat palvelut etäkäyttöä varten ja muodostaa palomuurin ohittavat tunnelit.

Tätä käyttääksesi tarvitset:

  • tunnukset kiinteällä hostnamelle varustetulle palvelimelle
  • live-cd avattuna mukauttamista varten (sivun alussa ohjeet)
  • oman julkisen ssh-avaimesi (voit luoda ssh-keygenillä)

Annetaan seuraavat komennot chrootissa, joka asetettiin sivun alun ohjeiden mukaan. Asennetaan ssh-palvelin ja autossh. Autossh on universe-pakettilähteessä, joten ota se käyttöön ennen tätä.

apt-get install openssh-server autossh

Muodostetaan liverompulle ssh-avain. Anna ohjelman tallentaa tiedostot oletussijainteihin.

ssh-keygen

Kopioi ~/.ssh/authorized_keys -tiedostoon oman julkisen avaimesi rivi. Se löytyy usein kotikoneesi tiedostosta ~/.ssh/id_rsa.pub tai ~/.ssh/id_dsa.pub.

Jotta pääset käyttämään kaksisuuntaista tunnelia, tarvitset myös toisensuuntaisen avaimenvaihdon. Kopioi liverompun tiedosto ~/.ssh/id_rsa.pub käyttämäsi palvelimen kotihakemistosi tiedoston ~/.ssh/authorized_keys loppuun. Tällöin liverompun käyttäjä pääsee myös kirjautumaan käyttämällesi palvelimellei. Tässä on siis potentiaalinen tietoturva-aukko myös tähän suuntaan. Sen välttämisestä on lopussa ohjeita.

Muokataan tiedostoa /etc/rc.local ja lisätään ennen riviä exit 0 seuraavat rivit. Korvaa sana tunnus@hostname käyttämäsi palvelimen tiedoilla ja numerot 8020 ja 8022 käyttämilläsi palvelimen vapailla porteilla. Ensin mainittua porttia seuraavaksi suuremman portin on myös oltava vapaana, jotta tunneli toimisi.

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

Jotta palvelimen rivi tallentuu liverompun known-hosts-tiedostoon, täytyy yhdistää yhden kerran ja sanoa 'yes'. Sisälle pitäisi päästä ilman salasanaa, jos kaikki on kunnossa.

ssh -4 tunnus@hostname

Palvelimen asetukset[muokkaa]

Jotta etäpelastettavan koneen rompulla ei päästäisi käsiksi tiedostoihin palvelimella tai tekemään mitään muuta kuin porttiohjauksia, tarvitaan muokata riviä, joka on lisätty käytetyn tunnuksen tiedostoon ~/.ssh/authorized_keys. Lisätään etäpelastuslevyn julkisen avaimen rivin alkuun:

command="/bin/false",no-agent-forwarding,no-X11-forwarding,no-pty

Mikäli halutaan, että palvelimen kautta voidaan ottaa suora yhteys ylläpidettävään koneeseen, täytyy säätää palvelimen asetuksia roottina. Mikäli tähän ei ole mahdollisuutta, tunneliin voidaan yhdistää vain suoraan palvelimen komentoriviltä yhdistämällä localhostiin.

Muokkaa palvelimen tiedostoa /etc/ssh/sshd_config ja lisää loppuun rivi (huomaa tabulaattorisisennys ja korvaa tunnus oikealla):

Match User tunnus
	GatewayPorts yes

Yhdistäminen ja pelastaminen[muokkaa]

Kun etäpelastustehtävä tulee, pyydä vaikkapa puhelimitse pelastettavaa konetta bootattavaksi polttamasi cd:n kera. Mikäli kone saa yhteyden verkkoon, pitäisi tunnelinkin olla ylhäällä. Mikäli et poistanut pelastuslevyltä Firefoxia, kokemattomankin etäkäyttäjänkin on helppo varmistaa netin toimiminen sillä.

Voit muodostaa yhteyden koneeseen seuraavasti (korvaa palvelimen nimi ja portti, jätä root:

ssh -p 8022 root@palvelin

Onnea. Olet etäyhteydessä. Voit liittää tietokoneen levyjä, lukea lokeja ja alkaa etsimään vikaa. Jos kyseessä on vaikkapa kiukutteleva Windows-kone, voit ottaa tiedot etänä talteen ja käynnistää Ubuntun asennuksen!

Muuta mukautettavaa[muokkaa]

Käynnistyskuvan voi vaihtaa piirtämällä vanhan live/isolinux/splash.pcx-kuvan pohjalta uuden ja muuntamalla sen oikeaan muotoon. Tallenna muokkaamasi kuva sekä pcx- että raw ppm-muodoissa. Tämä näyttää toimivan, vaikka ppmtolss16 valittaa liian isosta väripaletista. Komenna (korvaa UUSIKUVA kuvan polulla):

ppmtolss16 '#ffffff=7' < UUSIKUVA.ppm > live/isolinux/splash.rle
cat UUSIKUVA.pcx > live/isolinux/splash.pcx 

Rompulta käynnistettäessä ruudulle listautuu valtaisa määrä kieliä, joista yleensä vain suomi ja englanti lienevät tarpeellisia. Voit siivota tarpeettomat kielet poistamalla rivejä tiedostosta live/isolinux/langlist.