tiistai, 28. elokuuta 2012

Päiväni terminaalin parissa: Irssin kääntäminen Red Hatille CentOS:illa

Alla oleva raportti on tehty 28.8.2012 ja se liittyy Tero Karvisen Linux-kurssiin (Työasemat ja tietoverkot). Tehtävän tavoitteena oli tutustua terminaali(emulaattori)in ja raportoida tutustumisesta. Käytin terminaalia pitkin päivää muun muassa irkkaamisen merkeissä, mutta raportoin osan toiminnasta.

Raportin fokuksessa on paasiallisesti itseni ja Ilkka Jylhän yhteinen pakkomielle kääntää irssi koulun palvelimelle kotihakemistoihimme hyrräämään, vaikka weechatin olemme sinne jo kääntäneet. Yritys epäonnistui, joten don't try this at home.

Perus-irkkausta

Klo 15.50 kävin tarkistamassa luokkamme IRC-kanavan (#tn1pe-2012s) weechatillä käyttäen ssh:ta ja screeniä.
ssh a1202425@myy.haaga-helia.fi
screen -r

Irssin kääntöympäristö ja kohdejärjestelmä 

Käytän weechattiä, koska en ole toistaiseksi saanut irssiä käännettyä koulun palvelimella olevalle käyttäjälleni. Niinpä päätin ottaa härkää sarvista ja kääntää irssin lähdekoodista käyttäen toista järjestelmää. Valitsin käyttöjärjestelmäksi Red Hatiä läheistä sukua olevan CentOS:n, sillä koulun palvelin käyttää Red Hatiä. Näin maksimoin binäärin mahdollisuudet toimia kohdejärjestelmässä.

Aloitin asentamalla VirtualBoxin miniläppäriini koulullamme.
sudo apt-get install virtualbox && virtualbox
Käynnistin VirtualBoxissa CentOS:in LiveDVD:n. Järjestelmä kääntyi tahmaisesti. Aloin kääntää GCC:tä noin klo 15.55.
yum install gcc
Kone kuitenkin jäätyi täysin ja lähdin kotiin kääntämään GCC:tä, irssiä ja muita paketteja kotona olevan iMacin VirtualBoxilla. Kotona jatkoin projektia noin klo 19.30. En jaksanut ladata DVD:tä, joten latasin CentOS:in LiveCD:n ja käynnistin sen VirtualBoxissani. Käynnistin sen suosiolla tekstikäyttöliittymään, koska en tehnyt graafisella käyttöliittymällä tässä hommassa mitään.

Irssin kääntäminen CentOS:lla

CentOS käynnistyi nätisti. Asensin CentOS:iin GCC:n, maken ja muutamia muita olennaisia irssin kääntämisen kannalta olennaisia paketteja.
yum install gcc gcc-c++ kernel-devel make
yum install glib2 glib2-devel ncurses-devel
mkdir temp && cd temp
wget http://irssi.org/files/irssi-0.8.15.tar.gz
tar xzvf irssi-0.8.15.tar.gz
cd irssi-0.8.15
./configure --exec-prefix=$HOME --prefix=$HOME
make && make install
Käynnistin irssin kokeillakseni, toimiiko se.
irssi
Se ei toiminut, koska käyttämääni irkkipalvelimeen ei voitu yhdistää roottina. Niinpä loin uuden käyttäjän nimeltä erkkimon ja siirsin irssin binäärin sen kotihakemistoon.
useradd erkkimon -m
passwd erkkimon
mkdir /home/erkkimon/bin && chown erkkimon /home/erkkimon/bin
cp /root/bin/irssi /home/erkkimon/bin

Binäärin siirto kohdejärjestelmään ja binäärin testaus 

Sitten kirjauduin erkkimonille, käynnistin sillä irssin, yhdistin palvelimeen ja kirjauduin ryhmämme irkkikanavalle onnistuneesti. Tein kirjautumisen TTY2:ssa välttääkseni sisäänkirjautumisongelmat rootille, sillä olin liveympäristössä.
su erkkimon
irssi
/connect irc.cs.hut.fi
/join tn1pe-2012s
/exit
Homma toimi. Tämän jälkeen TTY1:ssä roottina ja lähetin irssin käännetyn binäärin SCP:llä myy.haaga-helia.fi -palvelimelle oman käyttäjäni (a1202425) sijaintiin ~/bin.
scp /root/bin/irssi a1202425@myy.haaga-helia.fi:/home8/25/a1202425/bin/irssi
Tämän jälkeen kirjauduin SSH:lla myy.haaga-helia.fi -palvelimelle kokeillakseni, toimiko juuri käännetty binääri myös kohdejärjestelmässä.
ssh a1202425@myy.haaga-helia.fi
irssi
irssi: error while loading shared libraries: requires glibc 2.5 or later dynamic linker 

Epäonnistunut yritys kääntää GLIB irssin binääriin 

Irssi ei toiminut, luultavasti johtuen liian vanhasta GLIB:istä. Niinpä päätin vielä kokeilla kääntää irssin virtuaalikoneella olevalla CentOS:lla käyttäen --enable-static -attribuuttia configure-skriptiä ajettaessa. Tämän jälkeen käänsin lähdekoodin uudelleen binääriksi ja siirsin sen myy.haaga-helia.fi -palvelimelle ylikirjoittaen vanhan binäärin kotihakemistoni bin-hakemistossa.
cd /root/temp/irssi-0.8.15
./configure --exec-prefix=$HOME --prefix=$HOME --enable-static
make && make install
scp /root/bin/irssi a1202425@myy.haaga-helia.fi:/home8/25/a1202425/bin/irssi
Tämäkään ei toiminut. Lopputuloksena oli sama errori kuin aiemminkin.
ssh a1202425@myy.haaga-helia.fi
irssi
irssi: error while loading shared libraries: requires glibc 2.5 or later dynamic linker

Katkerat loppusanat 

Jatkoin googlailua ratkaisun toivossa, kunnes totesin 20.30 että minun on pakko aloittaa erään sivuston sisällönhallintajärjestelmän (Joomla) asennus ja käyttöönotto. Sivuston pystyttäminen tapahtui SSH:n yli, mutta raportointi hidastaa työskentelyä niin rankasti, että tämä saa nyt riittää.

Ei kommentteja:

Lähetä kommentti