Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

Linux päivitys #35

18.12.1997

Avainsanoja: käyttöympäristö, GNU C/C++ vrs. 2.7.2.3, gnat ADA, perl 5.0004_03, bzip2, GNU tar 1.12, Iomega ZIP, rxvt, ELF-kirjastot

Syksyn viides ja todennäköisesti viimeinen TKTL:n Linux-päivitys alkaa torstaina 18.12.1997. Päivitys ei aiheuta Linux-koneiden uudelleenkäynnistystä eikä päivitys sinänsä edellytä toimia tavalliselta käyttäjältä. Päivityksessä tehdään mm. seuraavat korjaukset ja asennukset:

1) Matlab:in Help Desk on korjattu toimivaksi myös Netscape 4.04:n kanssa.

2) X:n käyttämien värien määrän oletus muuttuu:

  • Aikaisemmin olettiin aina vain 8-bittiset värit (256 väriä)
  • Nyt käytetään 16-bittisiä värejä (65536 väriä) oletuksena, mikäli näyttökortti on S3-perustainen tai Matrox Millennium tai Mystique eli käytetään niin paljon värejä kun laitteisto järkevästi sallii (periaattessa 4 Mtavun muistin omaavien Mystique-korttien kanssa voitaisiin käyttää jopa 24- tai 32-bittisiä värejä myös 1152x900-näyttötilassa, mutta XFree86 3.3.1:ssä on kyseisessä ajurissa pientä esteettistä haittaa aiheuttavia vikoja).
  • 3) Configure-napista (tai komennolla cslconfig) käynnistyvä oman käyttöympäristön konfiguroija on muuttunut hieman: värien määrän asetuksen muutoksen lisäksi on kohdassa Workspace Background tarjolla noin 10 uutta taustakuvaa.

    4) Asennetaan ELF-muotoisia binääritiedostoja oletuksena tuottava GNU C/C++ -kääntäjän versio 2.7.2.3.

    C++-kielestä ja sen kääntäjien tilasta on keskusteltu viime aikoina runsaasti. On ehdotettu siirtymistä käyttämään ns. egcs-kääntäjää, joka on kehitelmä GNU C/C++ -kääntäjän versiosta 2.7.2. Näin ei kuitenkaan ole tehty, lähinnä kahdesta syystä:

  • egcs on suhteellisen uusi kehitelmä, sen ensimmäinen versio (versio 1.0) julkistettiin vasta 3.12.1997 (joskin esiversioita on ollut aikaisemmin saatavilla). Vaikkakin ecgs vaikuttaa melko vakaalta, ei sen laajamittaisesta käytöstä suurissa projekteissa ole vielä riittävää näyttöä.
  • ecgs noudattaa uutta C++-standardiluonnosta, jota ei vielä ole hyväksytty. Vaikka yleisesti on uutisoitu standardin jo tulleen hyväksytyksi, on kyseessä vasta "(Final) Draft International Standard". Joskin on todennäköistä, että luonnos hyväksytään, se tulee tapahtumaan aikaisintaan keväällä 1998.
  • Alkuperäisenä päivityssuunnitelmana oli odottaa gcc versiota 2.8, mutta koska tarve ELF-muotoisia binäärejä tuottavalla kääntäjälle oli ilmeinen, päädyttiin asentamaan gcc 2.7.2.3

    Päivityksellä on seuraavia sivuvaikutuksia:

  • a.out-muotoisia binääritiedostoja saa tuotettua kääntäjän optiolla "-b i486-linuxout", tähän ei tosin pitäisi olla mitään erityistä tarvetta. Mikäli tarvetta kuitenkin esiintyy, niin on syytä ottaa huomioon seuraavat seikat:
  • a.out on väistyvä binäärimuoto, kaikki uusi kehitystyö tulisi tehdä ELF-muodossa, tulevaisuudessa ei a.out-muotoa tueta
  • Erilaiset autaamaattiset konfigurointijärjestelmät saattavat toimia virheellisesti ELF/a.out -tunnistuksessa.
  • Ei kannata suunnitella käyttävänsä debuggeria uusien a.out-binäärien kanssa.
  • Erityisjärjestelyt gnat ADA'95 -kääntäjään liittyen muuttuvat: gnat nyt on käytettävissä kaikilla TKTL:n verkon piirissä olevilla koneilla asettamalla hakemisto /opt/gnat/bin hakupolulle ennen muita hakemistoja, siis
           export PATH=/opt/gnat/bin:"$PATH" 
    Tällöin tulee käyttöön GCC versioon 2.7.2.1 -perustuva ADA'95 -ympäristö. Tuota polun asetusta ei kannattane sijoittaa alustustiedostoon .profile, sillä gnat-pakettiin sisältyvä C-kääntäjä on tosiaankin versiota 2.7.2.1 eikä se sisällä lainkaan (meidän asennuksessamme) C++-kääntäjää.
  • Lähinnä eräiden koneiden levytilan niukkuuden vuoksi ei asennukseen sisälly lainkaan staattisia kirjastoja. Tämä ei tuottane suuriakaan ongelmia.
  • 5) Asennetaan perl versio 5.004_03 aiemman version 5.001 tilalle. Vaikka pieniä muutoksia on runsaasti niin suurimmat muutokset tapahtuivat jo versionvaihteessa 5.001-5.002, jolloin perliin tulivat prototyypit ja moniin moduleihin runsaasti lisäpiirteitä.

    Lisätietoja perlistä löytyy manuaalisivuilta ("man perl") ja mm. hakemistosta /usr/lib/perl5/pod, jossa olevia dokumetteja voi lukua komennolla perldoc (lisätietoja "perldoc perldoc").

    6) Asennetaan tehokas tiedon tiivistysohjelma bzip2. Mielenkiintoiseksi bzip2:n tekee mm. se, ettei se ole tavalliseen tapaan Lempel-Ziv -perustainen vaan käyttää Burrows-Wheeler "block-sorting" -tekniikkaa (ks. ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz) Tiivistystulos on useimmiten huomattavasti parempi, kuin mitä esim. gzip-ohjelmalla saavutetaan. Lisätietoja "man bzip2".

    7) Asennetaan GNU-tar versio 1.12 entisen version 1.11.2 tilalle. Uutuuksia ovat lähinnä optiot -U (--unlink-first) ja -I (--bzip2) sekä omistajan, ryhmän, ja oikeuksien asetukset (--owner=..., --group=... ja --mode=...). Lisätietoja "tar --help".

    8) Asennetaan Iomega ZIP 100 Mtavun levykkeiden käsittelyyn tarvittavat ohjelmistot (ks. "man ziptool"). ZIP-levyasemia tulee tässä aluksi henkilökunnan käyttöön laboratorioon B439 ja opiskelijoiden käyttöön saliin B423.

    9) Pääteohjelmasta rxvt asennetaan uusi versio. Suurin ero entiseen on siinä, miten kaksoinäpäytyksellä valittaessa sanan rajat tulkitaan. Uudessa versiossa pitäisi tiedostojen nimien toimia paremmin "sanoina".

    10) Muun muassa kirjastoista libtcl7.6 ja libtk4.2 myös ELF-versiot, samoin ohjelmista tclsh7.6 ja wish4.2 asennetaan ELF-versiot. C-kirjastosta asennetaan versio 5.4.38.

    11) Lisäksi asennetaan joukko pienempiä korjauksia ja muutoksia.


    Päivitysautomaatti¹ päivittää kaikki² koneet torstai-iltapäivästä 18.12.1997 alkaen. Mahdollisista ongelmista voi raportoida esim. sivun http://www.cs.Helsinki.FI/cgi-bin/problem-report kautta.

    Kannettavien koneiden haltijoita muistutetaan siitä, että koneet on syytä tuoda aika ajoin laitoksen verkkoon päivitettäviksi. Hauskaa Joulua toivottaen ja yhteistyöstä kiittäen,

    Petri Kutvonen   University of Helsinki           kutvonen@cs.Helsinki.FI
                     Department of Computer Science   +358 9 708 44216