Onko niin, että eri distroissa olevat saman ohjelman rpm:t ovat identtiset keskenään? Eikä niitä ole distron kasannut yhtiö sorkkinut mieleisikseen?
Seuraava kysymys. Mihin tiedostoon nämä distron ulkopuoliset ohjelmat tulisi asentaa? Entäpä nämä tar-tiedostoista käännettävät ohjelmat?
Seuraava kysymys. Mihin tiedostoon nämä distron ulkopuoliset ohjelmat tulisi asentaa? Entäpä nämä tar-tiedostoista käännettävät ohjelmat?
Vastaukset 11
Vanhimmat
Kyllä niissä eri distrojen samojen ohjelmien rpm-distroissa on monasti isojakin eroja. Perinteisimpiä eroja on, minne paketti asentuu, samoin se, mitä kaikkia riippuvuuksia sillä on.
Yleensä ottaen ei kannata toisesta distrosta peräisin olevia rpm:iä asennella, siinä joutuu helposti vääntämään kättä järjestelmän kanssa. Käytännössä näin joutuu kuitenkin joskus tekemään.
Minulla on ollut tapana asentaa itse käännetyt ohjelmat ja niiden lähdekoodit /opt -hakemistoon. Poistaminen (useimmiten make uninstall) tulee näin helpommaksi kun kaikki koodit ovat samassa paikassa. Varsinkin omasta kotihakemistosta tulee helpolla siistittyä vanhoja lähdekoodeja pois ja sitten järjestelmään jää kaikennäköistä roskaa.
Järjestelmän PATH-muuttujaan kannattaa lisätä /opt/bin jos asentelee sinne /opt -hakemistoon.
vois myös kokeilla apt-rpm systeemiä
se pohjautuu debianin apt paketinhallinta softaan ja on
ainakin omasta mielestäni edelleen linuxin paras ja debianin kanssa vakain.
Apt-rpm on mainio väline riippuvuuksien hallintaan. Siinäkin voi kuitenkin tulla vastaan tilanne, jossa tarvittavaa rpm:ää ei löydy distrosta ja joitain "ulkopuolisia" paketteja joutuu asentelemaan.
Olen yrittänyt yhdellä pakettiohjelmalla testin kautta katsoa mitä puuttuu, mutta nämä *.o-päätteiset paketit ovat hankalia löytää, kun ne ovat jonkun nimeltä mainitsemattoman paketin sisällä. Pitkää pinnaa tarvitaan.
.o-päätteiset tiedostot ovat pääsääntöisesti C-kääntäjän lähdekoodista tekemiä objektitiedostoja. Niitä ei pitäisi olla minkään rpm:n tms. sisällä.
Eli jos rpm-pakettien asentamisen hoitava ohjelma ilmoittaa muutaman puuttuvan rpm-paketin ja *.o-tiedoston, niin ei muuta kuin etsii nämä puuttuvan paketin, asentaa sen ja sitten taas testataan, jotta vieläkö puuttuu *.o-tiedosto? Näinkö?
No jos rpm urputtaa jotain puuttuvista paketeista, niin sitten voi vaikka yrittää etsiä ne puuttuvat paketit ja asentaa ne ensin. Ei sen rpm:n mistään .o-tiedostoista pitäisi valittaa, ainakaan itse en ole koskaan tavannut tuollaista käytöstä viimeisen viiden vuoden aikana. Laitapas copypaste tuosta virheilmoituksesta ja siitä mitä sitä ennen olit tekemässä, sillä niin omituiselta tuo valitus juuri .o-tiedostoista vaikuttaa.
Vai ettet sitten tarkoita valitusta tyyliin "libqt.so.3 is needed by opera-7.23-20031119.3" tai jotain vastaava ?
oikeassa olet, so-tiedostoa tarkoitin. Mutta kuitenkin periaate taitaa silti olla sama kuin edellä ounastelin. Asentaa puuttuvat paketit ja sitten metsästää nämä so:t jostain.
Nuo *.so tiedostot ovat siis dynaamisesti linkitettyjä kirjastoja, jotka ohjelmat ottavat käyttöönsä suorituksen aikana ja käyttävät niiden toimintoja.
Kun asennat rpm-paketin siinä mahdollisesti olevat kirjastot asennetaan koneellesi, eikä sinun tarvitse metsästää niitä.
rpm -pakettissa ei ole aina mukana kaikki ohjelman tarvitsemat kirjastot - esimerkkinä vaikkapa Audacity -ohjelma, ja siksi rpm -paketteja kannattaa metsästää keskitetysti seuraavan sivun avulla:
http://rpmfind.net/
ja jos se löytää paketin, luettelosta käy myös ilmi mille distroille niitä on. Kun sitten valitaan vasemmanpuoleisesta luettelosta html -sivu, saadaan tieto myös niitä komponenteista joista rmp -paketti on riippuvainen (so:t ja muut sellaiset). Jos rmp -paketti asennetaan vaikkapa KDE -työpöydästä klikkaamalla, ilmoitetaan mahdollisesti puuttuvista riippuvaisuuksita jo ennen asennusta, ja ne voi hakea samalta html - sivulta jolta rmp -pakettikin löydettin ja imuroitiin.
Joissakin tapauksissa rmp -paketteja voidaan käyttää myös Debianissa, kun rmp -paketti muunnetaan Alien -ohjelmalla deb -paketiksi, ja myös päinvastainen muunnos on mahdollinen, mutta en ole itse sitä koskaan käyttänyt.
Siis tietenkin kirjastojen rpm-paketit pitää hankkia erikseen, mutta erillisiä *.so tiedostoja ei tarvitse alkaa etsimään.
Debianin pakettijärjestelmä on mielestäni paljon parempi kuin rpm. Ainakin Red Hatissa ohjelmien asentaminen tuntuu toimivan todella hitaasti ja pitää erikseen hankkia ohjelman tarvitsemat kirjastot. Debianissa taas riittää kun kirjoittaa 'apt-get install ohjelma' ja ohjelma asentuu koneelle.