Ero sivun ”RPM” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (erikoisohjelmat-luokkaan)
pEi muokkausyhteenvetoa
 
(19 välissä olevaa versiota 10 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
== Yleistä RPM:stä ==
{{Ohjelma
| nimi=RPM
| kuva=[[Tiedosto:RPM logo.svg|200px]]
| kuvateksti=
| lisenssi=[[GPLv2+]]
| käyttöliittymä=teksti
| kotisivu=[http://rpm.org/ rpm.org]
}}


RPM eli ''RPM Package Manager'' (alunperin ''RedHat Package Manager'') on [[Redhat]]-pohjaisissa järjestelmissä käytettävä [[paketinhallintajärjestelmä]].  
'''RPM''' eli ''RPM Package Manager'' (alun perin ''RedHat Package Manager'') on monissa [[jakelu|Linux-jakeluissa]] käytettävä [[paketinhallintajärjestelmä]], joka kehitettiin alun perin [[Red Hat Linux]]in tarpeisiin. RPM:lla tarkoitetaan sekä RPM-tiedostoformaatissa olevia RPM-paketteja että niiden hallinnassa käytettävää RPM-ohjelmaa.


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).
==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.


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.
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 [[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:
 
*[[DNF]] ([[Fedora Linux]], [[Rocky Linux]])
*[[URPMI]] ([[Mageia]])
*[[YaST]] ([[openSUSE]])


=== RPM:ää käyttävät jakelut ===
=== RPM:ää käyttävät jakelut ===
Rivi 12: Rivi 29:
* [[ArkLinux]]
* [[ArkLinux]]
* [[CentOS]] (epäkaupallinen RHEL-versio)
* [[CentOS]] (epäkaupallinen RHEL-versio)
* [[Fedora]] (ent. Fedora Core)
* [[Fedora Linux]]
* [[Mandriva]] (ent. Mandrake)
* [[Mandriva]] (ent. Mandrake)
* [[Mageia]] (Mandriva-johdannainen)
* [[PS2 Linux]]
* [[PS2 Linux]]
* [[Red Flag Linux]]
* [[Red Flag Linux]]
* [[PCLinuxOS]] (Mandriva-johdannainen)
* [[PCLinuxOS]] (Mandriva-johdannainen)
* [[RHEL|Redhat Enterprise Linux]] (lyh. RHEL)
* [[RHEL|Redhat Enterprise Linux]] (lyh. RHEL)
* [[SuSE Linux]]
* [[Rocky Linux]]
* [[SUSE Linux]]
* [[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
Mikäli jotakin paketin tarvitsemaa riippuvuutta ei löydy järjestelmän rpm-tietokannasta, näytetään se komennon tulosteessa.
Mikäli jotakin paketin tarvitsemaa riippuvuutta ei löydy järjestelmän rpm-tietokannasta, näytetään se komennon tulosteessa.


=== Rpm-komennon optiot ===
=== Rpm-komennon valitsimia ===
* i - asentaa
* i - asentaa
* U - päivittää
* U - päivittää (ero i-valitsimeen on, että kaikki samannimiset aikaisemmat paketit poistetaan asennuksen päätteeksi)
* e - poistaa
* e - poistaa
* q - kyselee
* q - kyselee
* V - todentaa
* V - todentaa
* v - tulostaa ylimääräistä tietoa suoritettavasta operaatiosta
* h - näyttää #-merkit etenemisestä
* h - näyttää #-merkit etenemisestä
* --force - pakottaa asennuksen ylikirjoittaen järjestelmästä mahdollisesti jo löytyvät, toiseen pakettiin kuuluvat tiedostot
* --force - pakottaa asennuksen ylikirjoittaen järjestelmästä mahdollisesti jo löytyvät, toiseen pakettiin kuuluvat tiedostot
Rivi 44: Rivi 64:
*<tt>rpm -qa</tt> - listaa koneelle asennetut paketit, jota listausta voi suodattaa esimerkiksi putkittamalla sen [[grep]]ille
*<tt>rpm -qa</tt> - listaa koneelle asennetut paketit, jota listausta voi suodattaa esimerkiksi putkittamalla sen [[grep]]ille
*<tt>rpm --rebuilddb</tt> - rakentaa rpm-tietokannan uudelleen
*<tt>rpm --rebuilddb</tt> - rakentaa rpm-tietokannan uudelleen
== RPM5 & rpm5.org ==
RPM:n pitkäaikaisen kehittäjän jbj:n työsuhteen loputtua Red Hat:lla, jatkoi hän RPM:n kehitystä henkilökohtaisena projektinaan [http://rpm5.org/ rpm5.org] sivustolla. Tätä jatkui usean vuoden eikä RPM:n oikeudet omistava Red Hat tehnyt ohjelmiston kehitystä lainkaan. Vuonna 200? projektiin määrättiin uudet kehittäjät ja kehitys lähti vauhdilla eteenpäin. Sittemmin rpm5:n kehitys on lakannut vuonna 2009.
RPM5 sivusto löytyy vielä verkosta, mutta tulee huomioida, että alkuperäinen Red Hatin RPM ja RPM5 eivät ole keskenään yhteensopivia, alkuperäisessä RPM:ssä itsessään on ollut migraatiopolut nykyisiin versioihinsa.


==Katso myös==
==Katso myös==
*[[Fedoran ja Red Hatin päivittäminen]]
* [[Rosetta]], eri jakeluiden paketinhallintaohjelmistojen käskyjen tulkinta ja käyttö.
*[[Fedora Linux/Paketinhallinta]]
*[[Fedora Linux/Päivittäminen]]


==Aiheesta muualla==
==Aiheesta muualla==
* [http://rpm.org rpm.org - kotisivu]
* [http://www.rpm.org/RPM-HOWTO/ RPM-HOWTO]
* [http://www.rpm.org/RPM-HOWTO/ RPM-HOWTO]
* [http://www.rpm.org/max-rpm-snapshot/ max-rpm-snapshot]
* [http://www.rpm.org/max-rpm-snapshot/ max-rpm-snapshot]


[[Luokka:Ylläpitotyökalut]]
[[Luokka:Paketinhallinta]]
[[Luokka:Komentorivin erikoisohjelmat]]
[[Luokka:Komentorivin erikoisohjelmat]]
[[Luokka:Tiedostomuodot]]

Nykyinen versio 1. tammikuuta 2022 kello 16.46

RPM

Käyttöliittymä teksti
Lisenssi GPLv2+
Kotisivu rpm.org

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

Toiminta[muokkaa]

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[muokkaa]

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[muokkaa]

RPM Package Manager löytyy mm. seuraavista jakeluista:

Käyttö[muokkaa]

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 valitsimia[muokkaa]

  • i - asentaa
  • U - päivittää (ero i-valitsimeen on, että kaikki samannimiset aikaisemmat paketit poistetaan asennuksen päätteeksi)
  • 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[muokkaa]

  • 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

RPM5 & rpm5.org[muokkaa]

RPM:n pitkäaikaisen kehittäjän jbj:n työsuhteen loputtua Red Hat:lla, jatkoi hän RPM:n kehitystä henkilökohtaisena projektinaan rpm5.org sivustolla. Tätä jatkui usean vuoden eikä RPM:n oikeudet omistava Red Hat tehnyt ohjelmiston kehitystä lainkaan. Vuonna 200? projektiin määrättiin uudet kehittäjät ja kehitys lähti vauhdilla eteenpäin. Sittemmin rpm5:n kehitys on lakannut vuonna 2009.

RPM5 sivusto löytyy vielä verkosta, mutta tulee huomioida, että alkuperäinen Red Hatin RPM ja RPM5 eivät ole keskenään yhteensopivia, alkuperäisessä RPM:ssä itsessään on ollut migraatiopolut nykyisiin versioihinsa.


Katso myös[muokkaa]

Aiheesta muualla[muokkaa]