Kimmo Sundqvist <rabbit80 AT mbnet PISTE fi PISTE nouspamm> writes:
> Tulin miettineeksi tässä tilannetta, jossa asennan jonkin ohjelman niin,
> että käännän sen lähdekoodeista. Kääntämisen jälkeen teen "make install".
>
> Kun asennan päivitetyn version, käännän sen samaten ja ajan samaten "make
> install". Mistä tiedän, että järjestelmään ei jää ylimääräisiä tiedostoja
> vanhemmasta versiosta?
Et mistään.
> Entä mitä teen jos haluan poistaa koko ohjelman? Kirjoitanko "make
> uninstall" ja kuvittelen että kaikki palaa ennalleen?
Tuo on hyvä ja toimiva tapa JOS mikään muu ohjelma ei riipu kyseisestä
ohjelmasta. Jos riippuu, voi rikkoa helposti aika paljonkin.
> Metsästänkö kaiken /etc:stä, /usr:stä ja lukuisista /usr:n
> alihakemistoista mikä saattaisi liittyä kyseiseen ohjelmaan?
Itsekäännetyt ohjelmat kannattaa pääsääntöisesti kääntää /usr/local:in
alle. Tällöin järjestelmän alkuperäiset ohjelmat eivät kärsi ja
vanhoja versioita on paljon helpompi siivota pois käsin, jos tarpeellista.
Toinen mahdollinen paikka on /opt, jonne on tapana asentaa sellaisia
ohjelmia, joilla on aivan oma hakemistohierarkiansa. Tyypillisiä ovat
ehkä Java SDK, Mozilla ja esim. KDE:n itse käännetty versio.
> Vai onko olemassa joku automaattinen, suorastaan nerokas ratkaisu,
> jota en vain ole vielä havainnut?
Ei. Jotain tuollaista toimintoa on kyllä joskus tullut ideoitua, joka
istuisi "make install":in käyttämässä install-komennossa (ginstall) ja
rekisteröisi installoinnit johonkin tietokantaan.
Ehkä tuota voisi joskus kehittää jos olisi aikaa. Lisäksi
buildisysteemiin voisi lisätä moisen ominaisuuden. Voisinkin harkita
jonkin tuollaisen tekemistä omaan buildisysteemiini
(http://www.iki.fi/magi/ohjelmointi/magicbuild/).
> Tottakai tiedän miten apt poistaa ohjelman, purgella tai ilman. Ja mietin,
> onko rpm:ssä samaa toiminnallisuutta.
rpm:ssä on "rpm -e", joka poistaa paketin kaikki tiedostot JA
tarkistaa ettei poisto riko mitään riippuvuuksia.
--
-- Marko Grönroos, magi<at>iki.fi (http://www.iki.fi/magi/)
|