Ero sivun ”RPM” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Siivous)
Rivi 1: Rivi 1:
== Yleistä RPM:stä ==
RPM eli ''RPM Package Manager'' (alunperin ''RedHat Package Manager'') on monissa [[Linux-jakeluissa]] käytettävä [[paketinhallintajärjestelmä]], joka kehitettiin alunperin [[Red Hat Linux]]in tarpeisiin. RPM:lla tarkoitetaan sekä RPM-tiedostoformaatissa olevian RPM-paketteja että niiden hallinnassa käytettävää RPM-ohjelmaa.


RPM eli ''RPM Package Manager'' (alunperin ''RedHat Package Manager'') on [[Redhat]]-pohjaisissa järjestelmissä käytettävä [[paketinhallintajärjestelmä]].  
==Toiminta==
RPM-paketti koostuu pakatussa muodossa olevasta asennettavasta ohjelmasta sekä siihen liittyvästä metatiedosta, kuten paketin nimestä, versionumerosta, [[Riippuvuus|riippuvuuksista]], ja sen sisältämistä tiedostoista.


RPM-paketti koostuu pakatussa muodossa olevasta asennettavasta ohjelmasta sekä siihen liittyvästä metatiedosta, kuten paketin riippuvuuksista eli sen tarvitsemista toisista rpm-paketeista (''engl. dependencies''). RPM-paketteja on perinteisesti käsitelty [[komentorivi|komentorivipohjaisella]] rpm-ohjelmalla, jolla on mahdollista asentaa, päivittää ja poistaa paketteja, tarkastella erilaisia pakettiin sisältyviä metatietoja sekä tehdä hakuja järjestelmän RPM-pakettitietokantaan. Rpm-työkalun puutteena on kuitenkin se, ettei se osaa tyydyttää pakettien riippuvuuksia, vaan käyttäjän on itse etsittävä riippuvuudet tyydyttävät toiset RPM-paketit esimerkiksi [[Rpmfind]]-palvelun avulla. Tietyn paketin tyydyttämättömiä riippuvuuksia ja riippuvuuksien riippuvuuksia voi pahimmillaan olla jopa kymmeniä, mikä tässä tapauksessa tekee ohjelmien asentamisesta todella työlästä (ns. rpm hell).
RPM-järjestelmän tehtävä on tietää, mitä paketteja järjestelmässä on asennettuna ja kyetä selvittämään niistä esimerkiksi, mihin pakettiin mikin tiedosto kuuluu. Lisäksi RPM mahdollistaa pakettien lisäämisen ja poistamisen järjestelmästä. Paketteja asennettaessa ja poistettaessa RPM ottaa huomioon pakettien riippuvuudet, eikä anna pakottamatta saattaa järjestelmää sellaiseen tilaan, että jonkin asennetun paketin tarvitsemat muut paketit eivät olisi asennettuna.


Ohjelmistojen asentamisen helpottamiseksi onkin viime vuosina kehitetty [[Debian]]in [[apt]]in kaltaisia työkaluja, jotka automaattisesti hakevat asennettavaksi haluttavan ohjelmapaketin sekä kaikki sen riippuvuudet omasta RPM-pakettivarastostaan Internetistä. Jokaisella jakelulla on yleensä oma tällainen työkalunsa, ja niillä yleensä erilaisia virallisia ja epävirallisia graafisia käyttöliittymiä. Myös eräitä jakeluriippumattomia työkaluja on olemassa (esimerkiksi [[smart]]). Fedoran ja RHELin työkalu on nimeltään [[yum]], Mandrivan [[URPMI]] sekä SuSEn [[YaST]]. Useimmat näistä tukevat myös erillisten, jo järjestelmästä löytyvien RPM-pakettien asentamista niin, että niiden riippuvuudet tyydytetään automaattisesti.
===Korkeamman tason pakettienhallinta===
Vaikka RPM osaakin käsitellä riippuvuuksia, se ei ratko niitä itse. Lisäksi RPM ei osaa käsitellä verkossa olevia [[pakettivarasto]]ja, joten yksinomaan sen käyttö pakettienhallintaan olisi melko työlästä.
 
Käytännössä kaikki RPM:aa käyttävät jakelut käyttävätkin jotain korkeamman tason pakettienhallintaohjelmaa, joka osaa automaattisesti hakea pakettivarastoista asennettavan ohjelman uusimman version tarvittavine riippuvuuksineen. Tällaisia ovat esimerkiksi:
 
*[[URPMI]] ([[Mandriva]])
*[[YaST]] ([[SUSE]])
*[[Yum]] ([[Fedora]])


=== RPM:ää käyttävät jakelut ===
=== RPM:ää käyttävät jakelut ===
Rivi 21: Rivi 29:
* [[Yellow Dog Linux]]
* [[Yellow Dog Linux]]


== Rpm-työkalun käyttö ==
== Käyttö ==
RPM-paketit asennetaan yleensä komennolla
RPM-paketit asennetaan yleensä komennolla
  rpm -ivh tiedostonnimi.rpm
  rpm -ivh tiedostonnimi.rpm

Versio 13. huhtikuuta 2008 kello 09.29

RPM eli RPM Package Manager (alunperin RedHat Package Manager) on monissa Linux-jakeluissa käytettävä paketinhallintajärjestelmä, joka kehitettiin alunperin Red Hat Linuxin tarpeisiin. RPM:lla tarkoitetaan sekä RPM-tiedostoformaatissa olevian RPM-paketteja että niiden hallinnassa käytettävää RPM-ohjelmaa.

Toiminta

RPM-paketti koostuu pakatussa muodossa olevasta asennettavasta ohjelmasta sekä siihen liittyvästä metatiedosta, kuten paketin nimestä, versionumerosta, riippuvuuksista, ja sen sisältämistä tiedostoista.

RPM-järjestelmän tehtävä on tietää, mitä paketteja järjestelmässä on asennettuna ja kyetä selvittämään niistä esimerkiksi, mihin pakettiin mikin tiedosto kuuluu. Lisäksi RPM mahdollistaa pakettien lisäämisen ja poistamisen järjestelmästä. Paketteja asennettaessa ja poistettaessa RPM ottaa huomioon pakettien riippuvuudet, eikä anna pakottamatta saattaa järjestelmää sellaiseen tilaan, että jonkin asennetun paketin tarvitsemat muut paketit eivät olisi asennettuna.

Korkeamman tason pakettienhallinta

Vaikka RPM osaakin käsitellä riippuvuuksia, se ei ratko niitä itse. Lisäksi RPM ei osaa käsitellä verkossa olevia pakettivarastoja, joten yksinomaan sen käyttö pakettienhallintaan olisi melko työlästä.

Käytännössä kaikki RPM:aa käyttävät jakelut käyttävätkin jotain korkeamman tason pakettienhallintaohjelmaa, joka osaa automaattisesti hakea pakettivarastoista asennettavan ohjelman uusimman version tarvittavine riippuvuuksineen. Tällaisia ovat esimerkiksi:

RPM:ää käyttävät jakelut

RPM Package Manager löytyy mm. seuraavista jakeluista:

Käyttö

RPM-paketit asennetaan yleensä komennolla

rpm -ivh tiedostonnimi.rpm

Mikäli jotakin paketin tarvitsemaa riippuvuutta ei löydy järjestelmän rpm-tietokannasta, näytetään se komennon tulosteessa.

Rpm-komennon optiot

  • i - asentaa
  • U - päivittää
  • e - poistaa
  • q - kyselee
  • V - todentaa
  • v - tulostaa ylimääräistä tietoa suoritettavasta operaatiosta
  • h - näyttää #-merkit etenemisestä
  • --force - pakottaa asennuksen ylikirjoittaen järjestelmästä mahdollisesti jo löytyvät, toiseen pakettiin kuuluvat tiedostot
  • --nodeps - ei välitä riippuvuuksista

Yleisiä rpm-komentoja

  • rpm -ivh joku.rpm - asentaa paketin joku.rpm
  • rpm -Uvh joku.rpm - päivittää paketin joku.rpm
  • rpm -qi joku - näyttää (asennetun) joku-nimisen ohjelman tiedot
  • rpm -qpi joku.rpm - näyttää rpm-tiedoston tiedot
  • rpm -qpl joku.rpm - näyttää joku.rpm-tiedoston sisältämät tiedostot
  • rpm -qa - listaa koneelle asennetut paketit, jota listausta voi suodattaa esimerkiksi putkittamalla sen grepille
  • rpm --rebuilddb - rakentaa rpm-tietokannan uudelleen

Katso myös

Aiheesta muualla