Muokataan sivua Ubuntun live-CD:n mukauttaminen

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
[[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ä.
[[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:llä kuten missä tahansa järjestelmässä.


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.
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ä.
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==
==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.
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.
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:
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:
Rivi 19: Rivi 19:
  mount -t unionfs -o dirs=squashfs-rw:squashfs-ro=ro none squashfs
  mount -t unionfs -o dirs=squashfs-rw:squashfs-ro=ro none squashfs


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.
Komentojen seurauksena syntyy 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 bootatun järjestelmän juurihakemisto, Esimerkiksi asennetut ohjelmat sijaitsevat squashfs-hakemistossa.


Seuraavaksi valmistellaan [[verkkoliitynnät|verkkoyhteydet]] ja [[chroot]]-ympäristö, jotta päästäisiin muokkaamaan liveromppua livenä. Komennot ajetaan samasta hakemistosta kuin ylläolevat.
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/
  cp /etc/resolv.conf squashfs/etc/
  mount --bind /dev/ squashfs/dev
  mount --bind /dev/ squashfs/dev
  chroot squashfs
  chroot squashfs


Nyt eteen avautuva [[komentotulkki]] on live-cd:llä. Siellä on valmiina tarvittavat perusohjelmistot mm. komentotulkin käyttöä varten.
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ömuuttuja]]a välttämään ongelmia. [[Locale]]n asettamisella pyritään välttämään mm. omasta koneesta periytyvien localeiden sivuvaikutukset.
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. [[Locale]]n asettamisella pyritään välttämään mm. omasta koneesta periytyvien localeiden sivuvaikutukset.


  mount -t proc none /proc
  mount -t proc none /proc
Rivi 47: Rivi 47:


  [[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-tiedostojärjestelmä|/proc]]
  umount /proc
  umount [[sys-tiedostojärjestelmä|/sys]]
  umount /sys
  [[exit]]
  exit


Irrotetaan vielä [[laitetiedostot|dev-tiedostojärjestelmä]] chrootin ulkopuolelta:
Irroitetaan vielä dev-tiedostojärjestelmä chrootin ulkopuolelta:


  umount squashfs/dev
  umount squashfs/dev
Rivi 65: Rivi 65:
  [[sed]] -i '/ubiquity/d' live/casper/filesystem.manifest-desktop
  [[sed]] -i '/ubiquity/d' live/casper/filesystem.manifest-desktop
  rm live/casper/filesystem.squashfs
  rm live/casper/filesystem.squashfs
  mksquashfs squashfs live/casper/filesystem.squashfs -no[[lzma]]
  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 [[mount]]attu live-ro-hakemistosta, eikä live-hakemistosta. Kyseessä on siis käytännössä eri tiedosto, vaikka jakavatkin saman levysijainnin.
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.
Rivi 71: Rivi 71:
Tässä vaiheessa voit muokata levyn nimen haluamaksesi tiedostosta <tt>live/README.diskdefines</tt>.
Tässä vaiheessa voit muokata levyn nimen haluamaksesi tiedostosta <tt>live/README.diskdefines</tt>.


Lopuksi muodostetaan [[MD5|md5]]-summat uudestaan.  
Lopuksi muodostetaan md5-summat uudestaan.  


  rm live/md5sum.txt
  rm live/md5sum.txt
Rivi 83: Rivi 83:
  cd ..
  cd ..


Irrotetaan mukauttamisen aikaiset tiedostojärjestelmät:
Irroitetaan mukauttamisen aikaiset tiedostojärjestelmät:


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


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]].
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 skriptiksi.


Nyt voit [[Levyn_polttaminen|polttaa levykuvan cd:lle]] mieluisimmalla ohjelmallasi.
Nyt voit [[Levyn_polttaminen|polttaa levykuvan cd:lle]] mieluisimmalla ohjelmallasi.
Rivi 93: Rivi 93:
==Mukauttaminen==
==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.
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:
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
  apt-get remove --purge openoffice.org-core gimp gimp-data


Hyvän käsityksen kunkin paketin tilan kulutuksesta saa tällaisella virityksellä:
Hyvän käsityksen kunkin paketin tilan kulutuksesta saa tällaisella virityksellä:
Rivi 109: Rivi 109:
===Etäpelastuslevy===
===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.
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:
Tätä käyttääksesi tarvitset:
* tunnukset kiinteällä hostnamelle varustetulle palvelimelle
* tunnukset kiinteällä hostnamelle varustetulle palvelimelle
* live-cd avattuna mukauttamista varten (sivun alussa ohjeet)
* live-cd avattuna mukauttamista varten (sivun alussa ohjeet)
* oman julkisen [[ssh]]-avaimesi (voit luoda ssh-keygenillä)
* 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ä.
Annetaan seuraavat komennot chrootissa, joka asetettiin sivun alun ohjeiden mukaan. Asennetaan [[ssh]]-palvelin ja [[autossh]]. Autossh on universessä, joten ota se käyttöön ennen tätä.


  apt-get install [[openssh]]-server autossh
  apt-get install openssh-server autossh


Muodostetaan liverompulle ssh-avain. Anna ohjelman tallentaa tiedostot oletussijainteihin.
Muodostetaan liverompulle ssh-avain. Anna ohjelman tallentaa tiedostot oletussijainteihin.
Rivi 142: Rivi 142:
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:
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
  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.
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 shellistä yhdistämällä localhostiin.


Muokkaa palvelimen tiedostoa <tt>/etc/ssh/sshd_config</tt> ja lisää loppuun rivi (huomaa tabulaattorisisennys ja korvaa <tt>tunnus</tt> oikealla):
Muokkaa palvelimen tiedostoa <tt>/etc/ssh/sshd_config</tt> ja lisää loppuun rivi (huomaa tabulaattorisisennys ja korvaa <tt>tunnus</tt> oikealla):
Rivi 152: Rivi 152:
====Yhdistäminen ja pelastaminen====
====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ä.
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ä <tt>root</tt>:
Voit muodostaa yhteyden koneeseen seuraavasti (korvaa palvelimen nimi ja portti, jätä <tt>root</tt>:
Rivi 158: Rivi 158:
  ssh -p 8022 root@palvelin
  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!
Onnea. Olet etäyhteydessä. Voit mountata tietokoneen levyjä, lukea logeja 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==
==Muuta mukautettavaa==


Käynnistyskuvan voi vaihtaa piirtämällä vanhan <tt>live/isolinux/splash.pcx</tt>-kuvan pohjalta uuden ja  
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):
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 UUSIKUVA kuvan polulla):
  ppmtolss16 '#ffffff=7' < UUSIKUVA.ppm > live/isolinux/splash.rle
  ppmtolss16 '#ffffff=7' < UUSIKUVA.ppm > live/isolinux/splash.rle
  [[cat]] UUSIKUVA.pcx > live/isolinux/splash.pcx  
  [[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 <tt>live/isolinux/langlist</tt>.
Rompulta bootatessa ruudulle listautuu valtaisa määrä kieliä, joista näissä piireissä vain suomi ja englanti lienevät tarpeellisia. Voit siivota tarpeettomat kielet poistamalla rivejä tiedostosta <tt>live/isolinux/langlist</tt>.


[[Luokka:Ohjeet]]
[[Luokka:Ohjeet]]
[[Luokka:Ubuntu]]
[[Luokka:Ubuntu]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)