Untochat 30 alkaa olla valmis julkaistavaksi

Olen raatanut armotta saadakseni Untochatin toimimaan Fedora 30:ssä ja nyt viimeinkin näyttäisi siltä, että kaikki toimii kuten pitääkin. Asennusproseduuri perustuu ISO-imageen ja nyt Untochat on oikeastaan Fedora 30 Remix, eli forkki Fedorasta, joka ei kuitenkaan ole virallinen Spin.

En siis ollenkaan yritä saada tästä virallista Fedora 30 Spinniä aikaan, sillä kyseessä on turvallisen ja anonyymin chat-järjestelmän toteuttava Linux-distribuutio. Omat ohjelmani ja muokatut ohjelmat tulevat kolttonen.fi RPM-repositorystä. RPM-paketit on digitaalisesti allekirjoitettu, joten ne varmennetaan ennen asennusta tietoturvan takia.

Pyrin kirjoittamaan asennusdokumentaation mahdollisimman pian ja kun se on valmis, Untochat 30 julkaistaan.

Kuten mainitsin, kaikki tuntuisi toimivan oikein, mutta VirtualBox 6.0.6:n kanssa on omituinen ongelma. Kun valittuna on Graphics Controller tyyppiä VMSVGA, Untochatin levyasennuksen buutti jumittaa Mac hostilla ainakin 10 minuuttia ja Linux hostilla mahdollisesti jopa puoli tuntia. Tein bugiraportin VirtualBoxin kehittäjille. Tutkittuani asiaa enemmän, huomasin, että kun näytönohjaimeksi vaihtaa tyypin VboxSVGA, niin sitten buutti menee läpi nopeasti. Linuxissa libvirt + QEMU + KVM kombinaatiolla ei ole ollut mitään tuollaista ongelmaa.

QEMU:n ja VirtualBoxin välillä on toinenkin outous, jota en käsitä. Kun ISO-imagen buuttaa QEMU:ssa, se kirjautuu automaattisesti sisään XFCE4-ikkunamanageriin. Mutta VirtualBoxissa esiin tulee login-boxi, josta täytyy klikata "OK" ennenkuin pääsee sisään. Tuntuu todella oudolta miten tällainen ero voi olla mahdollista, mutta jostain syystä näin nyt on.

Asennus ei ole vieläkään täysin automaattinen, mutta eroa Fedora 28:n Untochattiin, eli ensimmäiseen julkaisuun, on silti huimasti. ISO-imagen avulla tehty asennus hoitaa lähes kaiken kuntoon ja Untochatin ylläpitäjälle jää vain muutama yksinkertainen systemctl-komento palomuurin saattamiseksi kuntoon, ja toki myös Tor Onion Servicen pystytys. Nämä kyseiset käsityövaiheet minun on helppoa dokumentoida ja ylläpitäjä voi antaa komennot suoraan virtuaalikoneen terminaali-ikkunassa.

Asennusta voi nyt sanoa helpoksi ja mikä tärkeintä, jos Untochat 30 asennetaan virtuaalikoneguestiksi, niin host-käyttöjärjestelmäksi kelpaa yhtä hyvin Linux, FreeBSD, MacOS tai jopa Windows! Näin ollen potentiaalisten käyttäjien joukko kasvaa valtavasti verrattuna Fedora 28 pohjaiseen ensijulkaisuun.

Jälkeenpäin ajatellen tuntuu suorastaan typerältä, että alkuperäinen julkaisu vaati niin mutkikkaan asennusproseduurin. En silloin pöhinöissäni tullut ajattelleeksi, että homma oli liian vaikeaa, vaan tyytyväisenä dokumentoin kaiken ja oletin, että se riittää.

Saatoin tuolloin ohimennen harkita ISO-imagea, mutta arvelin, että sellaisen luominen olisi massiivisen vaikea urakka. Tuo pelko osoittautui turhaksi. ISO-imagen tekeminen on Fedorassa tehty varsin helpoksi, mutta prosessi on nopeallekin tietokoneelle hyvin raskas. Luullakseni vaati ainakin kolmekymmentä yritystä saada kunnollinen ISO-image aikaan, ja jokaisen ISO-imagen luonti kesti noin 25 minuuttia. Olen siis käyttänyt huomattavan paljon aikaa helpottaakseni käyttäjien elämää, mutta en yhtään valita, sillä tämä on ehdottomasti oikea tapa toteuttaa asia.

Lisäksi kickstartin opettelusta oli paljon hyötyä, sillä ISO-imagen luonti perustuu pitkälti juuri kickstart-tiedostoihin. Funktionaliteetti on jaettu erillisiin kickstart-yksikköihin, jotka %include direktiivillä saa sisällytettyä kun osista rakennetaan yksi "litteä" kickstart-tiedosto, jossa %include-direktiivien tiedostot on sisällytetty mukaan.

Pyrin korvaamaan Fedora 28 asennuksessa olleet Ansible-taskit yksittäisillä kickstart-tiedostoilla, joista jokainen tekee saman asian mitä Ansiblekin teki. Minulla on siis untochat.ks master-tiedosto, joka pysyy melko lyhyenä ja yksinkertaisena juuri %include-direktiivien ansiosta. Komento ksflatten tekee lavennuksen auki ja muodostaa yhden ison kickstart-tiedoston, joka sitten annetaan syötteeksi livemedia-creator nimiselle ohjelmalle, joka kutsuu muita ohjelmia rakentaessaan ISO-imagen.

Perusideana tässä on siis se, että ISO-image muodostaa ns. Live Linuxin, joka buuttaa suoraan esimerkiksi virtuaalikoneen guestina tai USB-tikulta. Tuon Live Linuxin toimintaa en aio millään tavalla tukea, vaan sen tarkoitus on toimia vain välivaiheena. Siinä on XFCE4 desktopilla ikoni, jonka nimi on "Install to hard disk" tai jotain vastaavaa. Sitä klikkaamalla käynnistyy Fedoran anaconda asennusohjelma, joka asentaa Untochatin joko oikeaan rautaan kovalevylle tai virtuaalikoneen tapauksessa virtuaaliselle kovalevylle.

Olen kaikenkaikkiaan hyvin tyytyväinen siihen mitä olen saanut aikaan, sillä ennakkokäsitykseni oli tosiaan se, että ISO-imagen luominen olisi täysin ylivoimainen tehtävä. Onneksi tilanne ei ollutkaan niin paha, vaan yritys-ja-erehdys menetelmällä saa paljon aikaan. Jossain dokumentaatiossa sanottiin, että proseduuri vaatii muulin jääräpäisyyden onnistuakseen, ja sitähän se kieltämättä on edellyttänyt.