Timo Kinnunen
Särkiniementie 16 A 41
70700 Kuopio
Finland

Klikkaa tästä palataksesi takaisin Timon Serverimaailma etusivulle - Click here to return back to the front page of Timos' Serverimaailma homesite

Klikkaa tästä palataksesi takaisin Timon suomenkielisten DOS ja OS/2-oppaiden valintasivulle - Click this link to Return back to The Page of Timo's Finnish DOS and OS/2 manuals

Klikkaa tästä palataksesi takaisin sivulle Tietoo - Click this link to Return back to the page of Information

Opas Checkini,- Copyini,- ja Replini -ohjelmista

Johdanto

Huom: Tiedot tässä kohdassa ovat vanhentuneet, mutta niitä ei ole silti myöhemmin muutettu: OS/2 Warp 3.0 järjestelmä on hyvä, ja vakaa käyttöjärjestelmä, ja sen ongelmana on se, ettei sillä perusasennuksena voi ylittää vuoden 2000 vaihdetta ongelmitta ilman tuntuvaa päivitystä. Erilliskoneissa käytettynä tästä asiasta ei pitäisi olla ongelmia.

Miten OS/2 järjestelmä pitää kirjaa työpöydän asetuksista?

Useimat työpöydässä olevien ohjelmaobjektien asetuksista perustuvat tietoihin, joita on kirjattu järjestelmän binaarimuotoisiin INI tiedostoihin. Näistä OS2SYS.INI on nimenomaisesti järjestelmän tiedosto, ja siinä on tietoja asennetuista fonteista ja kirjoitinajureista. OS2.INI taas on käyttäjän tiedosto, ja se on käyttöjärjestelmän aloitustiedosto, jossa on järjestelmän asetuksia, kuten sovellusten oletusarvoja ja näyttöjen ja tiedostojen vaihtoehtoja. Windows 95 järjestelmän binaarimuotoisissa rekisteritiedostoissa on samantapainen työnjako - eli SYSTEM.DAT sisältää järjestelmää koskevaa informaatiota, ja USER.DAT taas käyttäjäkohtaista tietoa. Kuitenkaan nämä järjestelmät eivät muilta osin muistuta toisiaan.

Mitä keinoja OS/2 järjstelmä itse tarjoaa INI tiedostojen elvytykseen?

OS/2 järjestelmässä on tarjolla järjestelmän oma mekanismi INI tiedostojen elvytykselle, jonka avulla voidaan palauttaa järjetelmän työpöytään välittömästi ensiasennuksen jälkeinen perustila. Tällöin työpöydästä jäävät puuttumaan kaikki ensiasennuksen jälkeen asennetut sovellukset, ja yleensä ne on asennettava uudelleen - kuten Internet Access Kit, ja joukko muita vastaavanlaisia sovelluksia. Ellei muita keinoja ole käytettävissä, voi tämäkin olla eräs ratkaisu. Operaatio toteutetaan käyttämällä INISYS.RC ja INI.RC tiedostoja, sekä Makeini.EXE ohjelmaa. Jos esimerkiksi halutaan palauttaa alkuperäinen OS2SYS.INI, tuhotaan ensin koneessa oleva, mahdollisesti viallinen versio, ja annetaan komento: MAKEINI OS2SYS.INI INISYS.RC - Sama operaatio toistetaan myös käyttäjätiedostolle. Tämä toimenpide vaatii sen, että kone on käynnistetty OS/2 käynnistyslevykkeillä. Tällöin järjestelmän kiintolevyllä olevia INI tiedostoja voidaan käsitellä, koska järjestelmä ei ole niitä varannut. Jos tässä yhteydessä haluaa palauttaa näyttölaitteen alkuperäiseen tilaan, voi sen tehdä käynnistämällä koneen, ja kytkemällä sen käynnistymään komentokehoitetilaan ALT-F1 -valinnalla kun näytölle ilmestyy palkki, tai neliö vasempaan ylänurkkaan. Tällöin annettava komento on: DSPINSTL - jolla voit vaihtaa näyttöajureita milloin tahansa niin halutessasi. Jos halutaan tallentaa työpöydän asetuksia esimerkiksi ennen uusien sovellusten asentamista työpöytään, voidaan tämä tehdä kopioimalla OS/2 järjestelmän INI tiedostot johonkin niitä varten varattuun kansioon. Yleensä tiedostoista pitää tätä ennen poistaa suojaukset, ja siksi se onnistuu parhaiten käynnistämällä järjestelmä käynnistyslevykkeillä, ja suorittamalla operaatio senjälkeen. Palautus tehdään päinvastaisessa järjestyksessä.

ROBOSAVE ohjelman käyttö työpöydän asennusten tallentamiseen

Erikseen saatavissa on Robosave -ohjelma, jolla voidaan tallentaa esimerkiksi levykkeelle työpöydän asetukset, ja tämä sisältää muutakin informaatiota kuin järjestelmän INI -tiedostot sinällään. Mukaan varmennukseen voidaan liittää muitakin INI -tiedostoja, verkkoasetuksia, ja niin haluttaessa myös Windowsin INI -tiedostojen informaatio. Tämä kuitenkin edellyttää alustustiedoston käsittelyä, ja manuaalista sovittamista tähän tarkoitukseen. Tietojen palautus suoritetaan komentokehoitteesta, ja se vaatii CONFIG.SYS tiedoston käsittelyä niin, että järjestelmä pakotetaan käynnistymään CMD.EXE -komentotulkin alaisuuteen. Tämän jälkeen varmistuslevykkeeltä ajetaan Roborest -ohjelma, joka palauttaa työpöydän takaisin sellaisena kuin se oli varmistushetkellä.

Milloin- ja miksi OS/2 järjestelmän INI tiedostoja pitää varmistaa?

Kysymykseen varmistuksen ajankohdasta voi vastata niin, että se kannattaa tehdä AINA ennenkuin uusia sovelluksia asennetaan OS/2 järjestelmään, ja yleensäkin säännöllisin väliajoin. Kysymykseen "miksi" voidaan vastata monellakin tavalla, mutta asia selvinnee osin jo seuraavasta. Periaatteessa OS/2 järjestelmän työpöytä muodostetaan erillisistä kuvakkeista, tai pikemminkin objekteista, joihin voidaan tehdä erilaisia määrityksiä. Useimmat ohjelmista voidaan käynnistää työpöydästä kun niille luodaan siihen oma objektinsa, jossa määritellään suuri joukko ympäristömuuttujia. Työpöydässä on nimittäin käytettävissä suurehko joukko "malleja", joista voidaan valita tarvitttava typpi, ja siirtää se hiirellä työpöydälle, ja määrittää sitten se halutulla tavalla. Yleensä kuitenkaan tämä ei riitä, vaan tarvitaan erillisen asennusohjelman käyttöä, jotta jokin sovellus voisi integroitua työpöytään sen toimivaksi osaksi. Mutta missä systeemi sitten mättää, jos kaikki on näin selkeää? OS/2 järjestelmä olettaa, että ohjelmaobjekteissa määritellyt hakemistot ja tiedostot löytyvät kiintolevyltä, ja tiedostojärjestelmä taas hakee ne, jos ne vain sijaitsevat ylipäätään jossakin kohtaa levyllä. Tällainen järjestely ei ole aukoton, ja se voi tärveltyä monistakin eri syistä. Järjestelmän itsensä toiminnan kannalta tämä oletus tiedostojen ja hakemistojen sijainnin pysyvyydestä ei ole huono strategia, mutta tietyntyppisessä järjestelmän hektisessä käytössä strategia on huono. Yleensä hakemistojen, ja tiedostojen poistoihin pätee se periaate, että komentokehoitetilassa toimien muutokset eivät välity järjestelmän INI tiedostoihin, mutta mikäli työpöydässä sattuisi olemaan jokin objekti. joka osoittaa juuri näihin poistettuihin hakemistoihin, tai tiedostoihin niissä, se jää tavallaan "orvoksi" - samoin kuin "orpo" on myös sellainen ohjelma, joka on tarkoitettu ajettavaksi työpöydän ohjelmaobjektin kautta, ja työpöydässä ei kuitenkaan sellaista ole. Aina kun OS/2 työpöytään lisätään ohjelmaobjekti, ja siihen määritellään ohjelmatiedosto, määrittää työpöytä onko sille ennestään linkkiä, ja jos niin on, sitä käytetään. Mikäli yhtään linkkiä ei ole ennestään olemassa, luo työpöytä sellaisen. Luotu ohjelmaobjekti itsessään on abstrakti ohjelmaobjekti, eli se "edustaa" työpöydässä jotakin ohjelmaa, ja siinä on määritelty ohjelman käyttöön liittyviä parametreja. Ohjematiedosto, johon siinä viitataan, sijaitsee fyysisesti kiintolevyllä, ja sellaisena se on tiedostojärjestelmäobjekti. Työpöydässä on toki muunkinlaisia objekteja, kuten esimerkiksi mallikansio, ja kokonaisen ohjelmaryhmän objektit, joissa on tavallisesti kokoelma erityyppisiä objekteja, jotka liittyvät monien eri sovellusten suorittamiin operaatioihin. Se, miten objektit on määritelty sen suhteen, mitä järjestelmää, tai alijärjestelmää ne käyttävät, ei vaikuta siihen, miten ne voidaan haluttaessa poistaa, tai muovata. Jos objekti on tarkoitettu DOS-ohjelman ajamiseen, on siinä yleensä käytetty DOS-ikkunaa, tai DOS-kokoruutua. Järjestelmä osaa etsiä haluttaessa ainakin joitakin DOS-sovelluksia, mutta se ei välttämättä tunnista niitä aina oikein. Siten esimerkiksi Pbrush+ 1.2 tulee tunnistetuksi Paintbrush IV -ohjelmaksi, mutta itse tämän sovelluksen käyttöön asia ei vaikuta mitenkään, ja jos järjestelmässä on EDIT ja QBASIC -ohjelmapari, tunnitetaan se Qbasic -ohjelmana, joka toimii /EDIT -parametrin ansiosta tavallisena tekstieditorina. Periaatteessa WIN-OS2 -alijärjestelmä on samanlainen, mutta siinä sovellukset asennetaan yleensä WIN-OS2 -kokoruudun kautta, jolloin luodaan Windows -työpöydälle myös ohjelmaryhmä, ja kuvakkeet. Tämän jälkeen uudet sovellukset voidaan liittää myös OS/2 työpöydän objekteiksi uusien ohjelmien hakutomintoa käyttäen. Asiassa hyvänä puolena on se, että jos tällaiset OS/2 työpöydälle luodut ohjelmaobjektit vaurioituvat, tai korruptoituvat, ei se vaikuta WIN-OS2 kokoruudun Windows -näyttöön, ja sen Windows -ohjelmaryhmiin millään tavalla. Näistä kummastakin poikkeuksena ovat Windows 95 ohjelmat, joita on mahdollista ajaa OS/2 ohjelmina, kun niiden EXE ja DLL -tiedostot on käsitelty PE2LX -kääntäjällä. Kuitenkaan sovelluksia ei voi ajaa ellei järjestelmässä ole Open32 -tukea asennettuna. Tällainen järjestely on jo OS/2 Warp 4.0 järjestelmässä, tai FixPak 26 -päivitetyssä OS/2 Warp 3.0 järjestelmässä. Tällaisessa tapauksessa tässä esiteltyjen apuohjelmien käyttöä tulisi harkita, koska vahinkoja voi syntyä. Jos kiintolevyltä on poistettu ohjelmia hakemistoineen ja oheistiedostoineen, ja tapahtuma ei ole kirjautunut INI tiedostoihin - eli viitteet eivät ole sieltä poistuneet, löytää Checkini.EXE ne kohdasta "PM_Workplace:Handles", ja teoriassa ainakin tähän kohtaan liittyvä tietomäärä voi kasvaa ajan mittaan liian suureksi, että tietoa aletaan menettää. Checkini.EXE antaa sinun poistaa INI tiedostoista viitteet sellaisista tiedostoista tai hakemistoista, joita ei enää ole kiintolevyltä. Jos asennat jonkin vähääkään laajemman sovelluksen järjestelmääsi, joka luo oman työpöytäobjektinsa, on joltisenkin varmaa, että tiedot siitä kirjautuvat INI -tiedostoon, ja jos vaikka poistatkin objektin työpöydästä silppuriin, ja hävität sovelluksen hakemistoineen, jäävät INI tiedostoon silti sovellusta koskevat viitteet, tai ainakin osa niistä. Tavallisin tapa asentaa järjestelmän työpöytään jokin mutkikas sovellus on käyttää komentotiedostoa (CMD), joka perustuu REXX -kieleen. Kyseessä ovat tavalliset tekstitiedostot, jotka toimivat mutkikkaiden ohjelmien tapaan, ja niiden läheisimmät, mutta paljon askeetisemmat vastineet DOS -maailmassa ovat BAT -eräajot. Komentotiedostoilla luodaan työpöytään kansioita ja ohjelmaobjekteja, ja niillä voidaan muotoilla mitä moniaisimpia soveluksia koskevia parametreja, ja päivittää ohjelmien käyttämiä moduuleja. Monasti käytetään myös varsinaisia EXE -asennusohjelmia, jotka monasti kirjaavat eräitä osia työskentelystään INI tiedostoihin, jossa ne ovat myöhemmässä vaiheessa täysin tarpeettomia. Ongelmia pahentavat useimmat OS/2 järjestelmään saatavissa olevat lisävarusteohjelmat, jotka eivät "osaa" asentua työpöytään oikein, ja juuri niiden poistaminen siitä, ja yleensäkin koko OS/2 järjestelmästä voi olla vaikeaa. Esimerkkinä tällaisesta on WPS Integration Tool, joka liittää WordPerfect 6.0a for Windows -ohjelman OS/2 työpöytään. Myös UnZip Shell 1.3r ohjelmalla tehdyt operaatiot aiheuttavat ongelmia. Voikin hyvällä syyllä sanoa, että OS/2 Warp 3.0 järjestelmän ongelmaksi koituvat ajan mittaan sen OS2SYS.INI ja OS2.INI -tiedostoihin kertyvä kuollut materiaali, joka koostuu viitteistä, joilla ei enää ole kohdetta, tai kohde on täysin väärä. Koska INI tiedostot ovat binaarisia, tarvitaan erikoisvälinettä niiden puhdistukseen ja juuri niitä tarjoaa WPtool -paketti.

WPTool -paketti OS/2 järjestelmän INI tiedostojen ongelmien ratkaisijana

Kaikkia edellämainitunlaisia INI tiedostoihin ongelmia ratkaisee WPTOOL.ZIP arkiston mukana saatavat Checkini.EXE, Copyini.EXE - ja Replini.EXE -ohjelmat. Karkeasti jaoittaen voi sanoa, että Copyini.EXE ohjelmalla INI tiedostot voidaan ottaa talteen niitä varten kiintolevylle luotuun hakemistoon, ja Replini.EXE ohjelmalla ne voidaan palauttaa samasta hakemistosta järjestelmän asetuksiksi. Parasta on se, että sekä tallennus, että palautus voidaan tehdä esimerkiksi OS/2 ikkunasta toimivasta työpöydästä. Näitä sovelluksia saa jakaa tekijän mukaan vapaasti, mutta hän ei halua olla vastuussa kaikista ohjelman käytön seuraamuksista. Jos käytössäsi on jokin uudempi OS/2 -versio, tai jokin päivitetty OS/2 Warp 3.0 - voi järjestelmän INI tiedoston rakenne olla hyvinkin muuttunut niin, että ohjelma saattaa jopa tuhota tärkeitä osia niistä. Kokemus on osoittanut, että ainakin punaisessa suomenkielisessä OS/2 Warp 3.0 Windows - päivitysversiossa nämä ohjelmat toimivat moitteetta, ja että ne ovat parhaita myös käytännössä, ja ratkaisevat useimmat ongelmista. Itse asiassa erityisesti Checkini.EXE ohjelman säänöllinen käyttö on siinä pitkän päälle ehdoton vaatimus. Monessakin suhteessa tämän ohjelman vastine Windows 95 400.950 -järjestelmässä on RegClean.EXE, jolla puhdistetaan tämän järjestelmän rekistereitä. Parasta on ennen Checkini.EXE ohjelman käyttöä testata sen toimivuutta ensin ilman "/C" -optiota. Mikäli Checkini.EXE ilman kytkimiä käynnistettynä raportoi kovin suuren määrän löytämiään virheitä, saattaa työpöydän sisäinen rakenne olla muuttunut. Tähän viittaavat muutokset kohdissa "PM_Abstract:Objects" ja "PM_Abstract:FldrContents", joista hieman myöhemmin lisää. Vaikka työpöytäsi toimisikin tässä tapauksessa vielä oikein, saattaa muutos olla potentiaalisesti vaarallinen, ja silloin ei pitäisi käyttää lainkaan Checkini.EXE ja Wpsbkp.EXE ohjelmia. Sitävastoin voi käyttää mainiosti Copyini.EXE ja Wpsrest.EXE ohjelmia. Aina kun päivität järjestelmääsi CSD-korjauspakkauksilla, syntyy järjestelmäsi INI -tiedostoon uusi "PM_Workplace:Handles" -osio, jonka tarkoitus on ilmeisesti varmistaa järjestelmän aikaisemman tilan palautus - mutta tämä ei ole tosiasiassa mahdollista, koska mitään varmistuskopioinnin mekanismia ei ole olemassakaan. Tältä osin kirjaus on siis aivan turha. Näiden asennusten seurauksena OS2SYS.INI -tiedoston koko vain kasvaa entisestään. Järjestelmässäsi voi olla myös "orpoja objekteja", joilla periaatteessa olisi vielä sen tarvitsemat tiedostot, mutta joka ei niitä löydä koska sen tarvitsemia suojattuja tiedostoja on siirretty toiseen hakemistoon, jonka jälkeen aluperäinen hakemisto on hävitetty. Näin meneteltäessä tiedostot ovat siis tallessa, mutta työpöydän näkökulmasta niitä ei ole enää olemassa - eli niillä ei ole enää "parent" -hakemistoa, jossa ne sijaitsevat. Toisinaan taas useita objekteja voi yksinkertaisesti hävitä kun työpöytähakemisto poistetaan esimerkiksi vahingossa. Checkini.EXE etsii näitäkin "orpoja" objekteja, ja kyselee sinulta siirretäänkö ne uuteen sijaintiin. Joskus kysymykseen vastaaminen on helppoa, kuten tapauksessa, jossa "Kirjoiti" -objektia esitetään yhdistettäväksi "Kirjoitin" -objektiin, mutta toisinaan tarjottu vaihtoehto ei kelpaakaan. Tällaisessa tapauksessa ongelma voi johtua siitä, että jokin sovellus on asennettu oikein, mutta sitä täytyy "käyttää" ennenkuin työpöytä on sen kokonaan "hyväksynyt". Mikäli olet tavallisesti kytkeytyneenä verkkoon, ja ajat Checkini.EXE ohjelman kun et ole kytkeytyneenä verkkoon, saat useita virheilmoituksia, jotka liittyvät verkko-objekteihin. Jos olet käyttänyt "/C" -optiota, ole tässä tapauksessa erityisen tarkkana poistojen suhteen. Toisaalta tämän kytkimen käyttö edellyttää sitä, että kone on suljettava välittömästi, koska työpöytä pitää valtavasti informaatiota muistissa, ja työpöytä saattaa kirjoittaa jotkut muutokset yli jos sitä on käytetty operaation jälkeen.

Checkini ohjelman käyttöohjeita

Checkini.EXE siis tarkistaa ja korjaa OS2.INI ja OS2SYS.INI -tiedostoissa olevia virheitä, mutta etsii niitä silmälläpitäen nimenomaisesti työpöydän toimivuutta. Ohjelman käyttö on perusteltua siitä syystä, että näiden INI -tiedostojen koko kasvaa kun työpöytää käytetään voimaperäisesti, ja erityisesti erilaisiin tiedostoja ja hakemistoja koskeviin muutosoperaatioihin. INI tiedostossa "PM_Workplace:Handles" - osiota työpöytä käyttää viittaamaan objekteihin, ja siinä määritellyt kohteet - kuten tiedostot ja hakemistot - voivat sijaita kiintolevyllä, tai puuttua sieltä kokonaan. Mutta muistettakoon, että ne ovat "abstrakteja" kuvauksia.

Checkini ohjelman komentorivioptiot

Jos käytetään komentoa:

checkini.exe/C

kirjoittaa ohjelma myös tarvittavat korjaukset INI tiedostoihin, mutta kysyy sinulta kuitenkin niihin vahvistuksen.

Jos taas kirjoitat komennon:

checkini.exe/W

Saat tulostetiedoston kaikesta, mitä ohjelma on INI tiedostoista saanut selville.

Jos haluat jonkin tietyn lokitiedoston nimen, anna komento:

checkini.exe/Llokitiedosto

Tässä sana "lokitiedosto" on haluamasi lokin nimi. Huomaa, että ohjelma tekee lokitiedoston joka tapauksessa.

Voit myös pakottaa ohjelman toimimaan "mykkänä" antamalla komennon:

checkini.exe/S

Checkini.EXE tarkistaa seuraavat INI -tiedostojen avaimet:

PM_Abstract:Objects

Pääasiassa tarkistetaan kaikki avaimet, kuten "WPProgram" objektit niiden konsistenssin suhteen, mutta myös "kadotetut objektit", jotka on siirretty sijainteihin, joita ei tosiasiassa ole enää olemassa. Samalla tarkistetaan myös "WPNetLink" ja "WPShadow" -linkit.

PM_Abstract:FldrContent

Tätä käytetään tarkistamaan mainittuja "kadotettuja objekteja".

PM_Workplace:Handles[0/1] - BLOCK1

Tässä tarkistetaan tiedostosysteemin objektilinkkien olemassaolo, ja konsistenssi.

PM_Workplace:Location

Tässä tarkistetaan sentapaisten objektien olemassaolo, joihin sentapaiset ID -ketjut, kuten <WP_DESKTOP> -viittaavat.

PM_Workplace:Folderpos

Tässäkin tarkistetaan kaikki avaimet, kuten käytöstä poistetut tallennetut objektisijainit, fontit, jne.

PM_PrintObject:JobCnrPos

Tässä tarkistetaan kaikki käytöstä poistettujen tallennettujen tulostustöiden sijainnit.

PM_Workplace:PalettePos

Tässä tarkistetaan käytöstä poistettujen, ja tallennettujen palettien sijainti, sekä fontit.

PM_Workplace:Templates

Tässä tarkistetaan kaikki mallien tallenteet, jotka viittaavat objekteihin, joita ei ole olemassa.

PM_Abstract:Icons

Tässä tarkistetaan käytöstä poistetut ikonit, jotka viittaavat objekteihin, joita ei enää ole olemassa.

PMWP_ASSOC_FILTER

Tarkistetaan assosiaatiot objekteihin, joita ei ole olemassa.

PMWP_ASSOC_TYPE

Tässäkin tarkistetaan assosiaatiot objekteihin, joita ei enää ole olemassa.

PMWP_ASSOC_CHECKSUM

Tarkistetaan niiden tallenteiden summat, jotka näyttäävät viittaavan objekteihin, joita ei enää ole olemassa.

PM_Workplace:Location

Tarkitetaan loogisten sijaintien nimien konsistenssi, kuten esimerkiksi <WP_DESKTOP> -sijainti.

PM_Workplace:Startup

Tarkistetaan se, että ovatko viitatut kansiot tosiasiassa aloituskansioita.

FolderWorkareaRunningObjects

Tarkistetaan työalueella olevien avointen objektien luettelo.

Copyini ja Replini ohjelmien käyttö

Copyini.EXE on yksinkertainen käyttää. Luot vain ensin kohdehakemiston, jonne haluat OS2.INI ja OS2SYS.INI tiedostot tallentaa, kuten esimerkkinä /INIBAK, ja annat OS/2 komentoriviltä komennon: copyini.exe c:\inibak - Tämän ohjelman voi aivan hyvin ajaa OS/2 ikkunasta työpöydän ollessa käynnistyneenä. Samoin voidaan työpöydän OS/2 ikkunasta ajaa myös palautusohjelma Replini.EXE, kunhan on sulkenut kaikki muut käynnissä olevat työpöydästä toimivat sovellukset: replini.exe c:\inibak