Fedora Linux/Paketinhallinta

Linux.fista
Versio hetkellä 21. elokuuta 2016 kello 22.46 – tehnyt Apdeit (keskustelu | muokkaukset)
Siirry navigaatioon Siirry hakuun

Fedoran paketinhallinta käyttää RPM-paketteja jotka sisältävät asennettavat tiedostot, metatiedot, huolehtivat niiden riippuvuuksista jotta asennus olisi mahdollisimman helppoa ja ajavat taustalla ohjelmia niiden asennuksen, päivityksen ja poiston yhteydessä.

RPM-paketteja voidaan asentaa joko automatisoidusti pakettivarastoja hyödyntäen tai käsin paketti kerrallaan. Jos paketteja asentaa käsin, täytyy ne myös hakea käsin esimerkiksi Internetistä tai cd-levyiltä sekä varmistaa, että niiden vaatimat riippuvuudet on tyydytetty.

Pakettivarastoja käytetään DNF-nimisellä ohjelmalla, jolla voidaan asentaa, päivittää ja poistaa paketteja sekä tutkia niiden tietoja pakettivarastoista.

Pakettien asentamisesta, poistamisesta ja muista toiminnoista löytyy tietoa sivulta DNF. Tällä sivulla on yksityiskohtaisempaa tietoa paketinhallinnasta.


Ohjelmien asennus ja poisto

DNF-paketinhallintatyökalua voidaan käyttää joko komentoriviltä dnf-ohjelmalla tai jollain sen lukuisista graafisista edustaohjelmista.

Komentorivityökalut

Esimerkki ohjelman asennuksesta komentoriviltä:

# dnf install firefox

Graafiset työkalut

Nykyisissä jakeluissa on PackageKit-niminen DNF:n edustaohjelma, jonka avulla paketteja voidaan hallita graafisesti. Päivitysten asentaminen onnistuu työpöytäympäristön paneelissa olevasta kuvakkeesta, joka myös ilmoittaa saapuneista päivityksistä.

Uusien pakettien asentaminen, vanhojen poistaminen ja pakettien tietojen tarkastelu onnistuu Gnome-työpöytäympäristössä kuvakkeesta Ohjelmat --> Lisää tai poista ohjelmia (Gnome-packagekit). KDE:ssä tämä onnistuu kuvakkeesta K-valikko --> Ylläpito --> Lisää tai poista ohjelmia tai asetuskeskuksesta (Järjestelmän asetukset) kohdasta Add or Remove Software (Apper).

Paketteja voidaan hakea joko hakusanalla tai käyttötarkoituksen perusteella (esimerkiksi "pelit" tai "grafiikka").

Vaihtoehtoiset käyttöliittymät

Debian-pohjaisissa jakeluissa käytettävä APT-järjestelmä voidaan myös asentaa Fedoraan. Fedoraan saatavilla oleva APT-versio (APT-RPM) on sovitettu käyttämään RPM-paketteja sekä -pakettivarastoja. APT sekä sen suosituin graafinen käyttöliittymä Synaptic löytyvät paketeista apt ja synaptic.

Yksittäiset paketit

Yksittäisten RPM-pakettien asennus voi olla tarpeen, mikäli pakettia ei löydy mistään sopivasta pakettivarastosta tai jos pakettivarastoihin ei esimerkiksi verkkoyhteyden puutteen takia ole pääsyä. Yksittäisten pakettien etsimiseen on olemassa useita palveluita kuten rpm.pbone.net sekä Rpmfind.

Yksittäisiä paketteja voidaan asentaa rpm-komentorivityökalulla, mutta suositeltavampi tapa on käyttää DNF-työkalua. Koska rpm-työkalu ei tue pakettivarastoja, ei se myöskään osaa tyydyttää pakettien riippuvuuksia, vaan näyttää pelkän virheilmoituksen puuttuvista riippuvuuksista.

Paketteja voi myös asentaa graafisesti klikkaamalla niiden kuvaketta tiedostonhallintaohjelmassa tai niihin osoittavaa linkkiä www-selaimessa. Asennus onnistuu myös DNF:n kautta valitsimella install, jolloin DNF yrittää tyydyttää paketin riippuvuudet.

Asennettujen yksittäisten RPM-pakettien poistamiseen, päivittämiseen ja tietojen tarkasteluun voidaan käyttää samoja graafisia ohjelmia kuin muidenkin pakettien kanssa.

Historiaa

Alun perin Fedoran RPM-edustaohjelma oli Yum (Yellowdog Updater, Modified).

Fedoran kehittäjät päättivät luoda Yumin pohjalta uuden DNF-pakettienhallintaohjelman, joka tuli saataville Fedoraan versiosta 18 lähtien. Lopullisesti DNF korvasi Yumin Fedoran versiossa 22. Yum kärsi lukuisista ongelmista, joista suurimmat olivat:

  • Huonosti ja osittain täysin dokumentoimaton API, joka toi lisää työtä kehittäjille, kun Yumin toimintaa ymmärtääkseen täytyi lukea sen lähdekoodia.
  • Fedoran kehittäjät halusivat vaihtaa Pythonin versioon 3, mutta Yum toimi ainoastaan Pythonin versiolla 2. DNF toimii kummallakin.
  • Yumin riippuvuuksien ratkaisija oli rikkinäinen eikä osannut kunnolla ratkaista kaikkia riippuvuuksia etenkin kolmannen osapuolen pakettivarastojen kanssa, mikä johti pahimmassa tapauksessa riippuvuushelvettiin. DNF käyttää openSUSEsta tuttua libsolv-kirjastoa riippuvuuksien ratkaisuun eikä kärsi tästä ongelmasta.

Katso myös