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ä.
| | 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 [[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: |
|
| |
|
| [[mkdir]] -p live live-ro live-rw squashfs squashfs-ro squashfs-rw | | mkdir -p live live-ro live-rw squashfs squashfs-ro squashfs-rw |
| [[mount]] -o loop ALKUPERÄINEN_ISO live-ro | | 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 |
|
| |
|
| 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. Localen asettamisella pyritään välttämään mm. omasta koneesta periytyvien localeiden sivuvaikutukset. |
|
| |
|
| mount -t proc none /proc | | mount -t proc none /proc |
| mount -t sysfs none /sys | | mount -t sysfs none /sys |
| [[export]] HOME=/root | | export HOME=/root |
| export LC_ALL=C | | export LC_ALL=C |
|
| |
|
Rivi 40: |
Rivi 40: |
| ==Paketointi uudeksi levykuvaksi== | | ==Paketointi uudeksi levykuvaksi== |
|
| |
|
| Lisätietoja lähteenä olevan oppaan kohdasta ''Cleanup''. | | Lisätietoja oppaan kohdasta Cleanup. |
|
| |
|
| Oletetaan, että olet vielä chrootin sisällä. Jos olet ehtinyt jo poistumaan, palaa takaisin.
| | apt-get clean |
| | | rm -rf /tmp/* |
| Poistetaan tarpeettomat tiedostot ja poistutaan chroot-ympäristöstä:
| |
| | |
| [[apt-get]] clean | |
| [[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:
| |
| | |
| umount squashfs/dev | | 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.
| | jatka oppaan kohdasta putting cd together. muista vaihtaa hakemistonnimet |
|
| |
|
| [[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]]
| |
|
| |
|
| 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.
| | oppaan kohdasta compress filesystem |
| | vanha squashfs voidaan poistaa, koska mountattu ro-hakemistosta |
|
| |
|
| Tässä vaiheessa voit muokata levyn nimen haluamaksesi tiedostosta <tt>live/README.diskdefines</tt>.
| | rm live/casper/filesystem.squashfs |
| | mksquashfs squashfs live/casper/filesystem.squashfs -nolzma |
|
| |
|
| Lopuksi muodostetaan [[MD5|md5]]-summat uudestaan.
| | muokkaa levynnimeä tiedostossa live/README.diskdefines |
|
| |
|
| 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 \ | | 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 . |
| -no-emul-boot -boot-load-size 4 -boot- info-table -o ../UUSI_ISO.iso .
| |
| cd .. | | cd .. |
|
| |
|
| Irrotetaan mukauttamisen aikaiset tiedostojärjestelmät:
| | levyt irti |
|
| |
|
| 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! levyn kulutus yhteensä reilu giga |
|
| |
|
| Nyt voit [[Levyn_polttaminen|polttaa levykuvan cd:lle]] mieluisimmalla ohjelmallasi.
| | 597472 live-rw |
| | 116096 squashfs-rw |
| | 623200 zouppenroot.iso |
|
| |
|
| ==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.
| | eniten vievät paketit pois, uutta tilalle |
| | | lisätään universe pakettilistaan tarvittaessa |
| 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 remove --purge openoffice.org-core evolution-common gnome-games gimp pidgin |
| apt-get update | | apt-get update |
| apt-get dist-upgrade | | apt-get dist-upgrade |
|
| |
|
| ===Etäpelastuslevy===
| | ssh-kustomointi |
| | | apt-get install openssh-server autossh |
| 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.
| | cd ~/.ssh |
| | |
| 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 | | 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>.
| | kopioi authorized_keys -tiedostoon oma julkinen avaimesi |
| | | kopioi id_rsa.pub ssh-palvelimelle authorized_keysiin |
| 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.
| | lisää tiedostoon /etc/rc.local seuraavaa |
| | |
| 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_GATETIME=0 |
| export AUTOSSH_POLL=60 | | export AUTOSSH_POLL=60 |
| autossh -M 8020 -qf -4Ng -R 8022:127.0.0.1:22 tunnus@hostname | | autossh -M AUTOSSHPORTTI -qf -4Ng -R SSHPORTTI: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
| |
| | |
| 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==
| | MUISTA kokeilla yhdistämistä ensin! Saadaan siten known-hostsiin rivi |
|
| |
|
| Käynnistyskuvan voi vaihtaa piirtämällä vanhan <tt>live/isolinux/splash.pcx</tt>-kuvan pohjalta uuden ja
| | ==EXTRAA== |
| 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
| |
|
| |
|
| 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>.
| | 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 |
|
| |
|
| [[Luokka:Ohjeet]]
| | turhien kielten poisto alkulistasta |
| [[Luokka:Ubuntu]]
| | live/isolinux/langlist |