Ero sivun ”Ubuntun live-CD:n mukauttaminen” versioiden välillä
Siirry navigaatioon
Siirry hakuun
Ubuntun live-CD:n mukauttaminen (muokkaa)
Versio 11. heinäkuuta 2008 kello 20.38
, 11. heinäkuuta 2008lisää wikilinkkejä ym
p (wikilinkkejä) |
Pb (keskustelu | muokkaukset) p (lisää wikilinkkejä ym) |
||
Rivi 1: | Rivi 1: | ||
[[Ubuntu]]n [[ | [[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ä. | ||
Mukauttamisen tekee työlääksi kaksinkertainen kääriminen levykuviin. CD- | 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. | ||
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 | 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 | 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 | 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. | ||
Seuraavaksi valmistellaan verkkoyhteydet ja [[chroot]]-ympäristö, jotta päästäisiin muokkaamaan liveromppua livenä. | 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/ | [[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 | 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. | ||
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 | [[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 | ||
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 - | mksquashfs squashfs live/casper/filesystem.squashfs -no[[lzma]] | ||
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-summat uudestaan. | Lopuksi muodostetaan [[MD5|md5]]-summat uudestaan. | ||
rm live/md5sum.txt | rm live/md5sum.txt | ||
Rivi 83: | Rivi 83: | ||
cd .. | cd .. | ||
Irrotetaan 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 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 [[bash-skriptaus|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 | 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 | 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 | 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 | 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 | 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 | 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 | 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): | 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ä | 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>: | 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 | 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== | ==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 UUSIKUVA 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 <tt>UUSIKUVA</tt> 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 | 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>. | ||
[[Luokka:Ohjeet]] | [[Luokka:Ohjeet]] | ||
[[Luokka:Ubuntu]] | [[Luokka:Ubuntu]] |