Yum
Yum eli Yellow Dog Updater, Modified on pythonilla tehty komentorivipohjainen paketinhallintatyökalu, jota käytetään mm Fedorassa, RHEL:issä, CentOS:ssa sekä Yellow Dog Linuxissa. Yum on alunperin Red Hat Linuxia varten laajennettu ja muokattu versio Yellow Dog Linuxin Yellowdog Updaterista (YUP).
Yumille on saatavilla myös graafisia edustaohjelmia. Näistä tunnetuimmat ovat
- Pirut - Fedoran virallinen graafinen paketinhallintatyökalu versioon 8 asti
- Pup - Fedoran graafinen oletuspäivitystyökalu versioon 8 asti
- PackageKit - jakeluriippumaton edustaohjelma (pakettien asennus, päivitys, poistaminen, tietojen katselu ym) eri paketinhallintajärjestelmille, oletuskäyttöliittymänä Fedorassa 9-versiosta alkaen
- yumex (Yum Extender) - tunnetuin jakeluista riippumaton GUI
- KYum - graafinen Yum KDE:lle
Pakettivarastot
Yumin käyttö pohjautuu (esimerkiksi) Internetissä sijaitseviin pakettivarastoihin (engl. repository), joilta asennettavat ohjelmat ladataan. Käytettävät pakettivarastot määritellään /etc/yum.repos.d-hakemistossa tai asetustiedostossa /etc/yum.conf. Pakettivarasto voidaan poistaa käytöstä muuttamalla sen tiedoissa enabled=1-rivi muotoon enabled=1 (sama onnistuu myös useimpien yumin edustaohjelmien kautta).
Fedorassa on oletuksena käytössä pakettivarastot fedora (peruspaketit) ja fedora-updates (päivitykset). Lisäksi useimmat asentavat jonkin epävapaita tai muuten Fedoran oletuspakettivarastoihin soveltumattomia paketteja tarjoavan epävirallisen pakettivaraston. Tunnetuin näistä on RPM Fusion, joka otettiin käyttöön pakettivarastojen Livna, Freshrpms ja Dribble yhdistyessä marraskuussa 2008. Fedoran pakettivarastoista on kerrottu lisää artikkelissa Pakettilähteitä Fedoralle.
RHEL:in ja sen johdannaisten (CentOS, White Box ym) kanssa voidaan käyttää epävirallisena varastona joko RPM Fusionia tai RPMForgea.
Huomaa, että eri epäviralliset pakettivarastot ovat epäyhteensopivia keskenään mm. pakettien riippuvuuksien, nimeämisen ja päivitystahdin suhteen. Samoja paketteja tarjoavien varastojen yhteiskäyttö sekoittaa siten herkästi paketinhallinnan ja aiheuttaa pakettien asennusten ja päivitysten epäonnistumisia. Yhden epävirallisen varaston jo tarjoamia paketteja tai niiden riippuvuuksia ei toisin sanoen kannata asentaa muista epävirallisista lähteistä. Jos vaihdat käyttämääsi epävirallista varastoa, poista kaikki vanhasta varastosta asennetut paketit ennen uusien asentamista.
Käyttö
Kyselyt
- Etsi paketteja, joiden nimessä, yhteenvedossa, jne. esiintyy merkkijono
yum search merkkijono
- Listaa paketit, joiden nimi on merkkijono
yum list merkkijono
- Listaa paketit, joiden nimessä esiintyy gnome
yum list \*gnome\*
- Näyttää paketin kuvauksen
yum info paketti
- Listaa päivitystä kaipaavat paketit
yum check-update
- Listaa saatavilla olevat pakettiryhmät
yum grouplist
Pakettien hallinta
- Paketin asennus
yum install paketti
- Paketin asennus ilman varmistavaa kysymystä
yum -y install paketti
- Pakettiryhmän (esim. KDE) asennus
yum groupinstall pakettiryhmä
- Paikallisen rpm-paketin asennus mahdolliset riippuvuudet tyydyttäen
yum install paketti.rpm
- Paketin päivitys
yum update paketti
- Pakettiryhmän päivitys
yum groupupdate pakettiryhmä
- Paikallisen paketin päivitys
yum update paketti.rpm
- Kaikkien pakettien päivitys
yum update
tai
yum upgrade
Upgrade toimii paremmin, jos päivität koko jakelun versiosta toiseen.
- Tyhjennä jo asennettujen pakettien varasto kiintolevyltä. Yum tallentaa automaattisesti /var-hakemiston alle jo asentamansa rpm-paketit, mikä useimmissa tapauksissa vie turhaan levytilaa.
yum clean packages
- Tyhjentää kaikki paketit jo asennettujen pakettien varastosta. Tätä toimintoa voi käyttää jos yumin cache on jotenkin sekaisin.
yum clean all
- Synkronoi paketit nykyiseen jakeluversioon tarjottavien pakettien kanssa, kätevä esimerkiksi jakeluversiopäivityksen jälkeen, jolloin halutaan varmistaa, että järjestelmään ei jää vanhemman jakeluversion paketteja, jotka ovat jostain syystä uudempia kuin nykyisessä jakeluversiossa
yum distro-sync
Lisävalitsimet
- Käytä jotain normaalisti käyttämättömäksi asetettua pakettivarastoa
yum --enablerepo=updates-testing update paketti
Tämä päivittää paketin updates-testing-varastosta löytyvään versioon, jättäen muun järjestelmän oletusvarastojen mukaisiin ohjelmaversioihin. Toiminto toimii useimpien Yumin toimintojen, kuten update, install, search ja list kanssa.
- Jätä käyttämättä jokin normaalisti käytössä oleva pakettivarasto
yum --disablerepo=updates install firefox
- Päivitys, joka ohittaa rikkinäiset paketit.
yum -y --skip-broken update
- Keskenjääneen pakettitransaktion (esim. päivityksen) suorittaminen loppuun:
yum-complete-transaction
YUMin lukituksen poistaminen
Joskus YUM ei suostu toimimaan vaan ilmoittaa tietokannan olevan lukittu. Tämä voi johtua siitä, että toinen yum-prosessi on esimerkiksi asentamassa ohjelmaa tai muuten muokkaamassa järjestelmää. Joskus jos YUM esimerkiksi kaatuu lukitus ei poistu automaattisesti vaan se on poistettava käsin. Se onnistuu poistamalla YUM:n PID-tiedosto ajamalla pääkäyttäjänä komento
rm /var/run/yum.pid
Presto
Fedorassa on versiosta 11 lähtien tarjolla Presto-niminen Yumin lisäosa, joka mahdollistaa ns. delta-rpm-pakettien käytön järjestelmän päivityksessä. Delta-rpm-paketit eivät normaaleista rpm-paketeista poiketen sisällä kaikkea paketin mukana tulevaa dataa, vaan ainoastaan sen osan, joka on muuttunut paketin eri versioiden välillä. Tämä vähentää verkosta päivityksen yhteydessä ladattavaa datamäärää noin 60-80 prosentilla.
Presto löytyy paketinhallinnasta nimellä yum-presto. Fedora 12:sta alkaen se on käytössä oletuksena.