Darbs ar rpm paku menedžeri YUM
Lai paātrinātu dažādu programmatūru un atjauninājumu uzstādīšanu uz serveriem, daudzi Linux distributīvi saviem lietotājiem piedāvā sakompilētas programmu pakas. Šīs pakas tiek glabātas arhīvos, sauktos par repozitorijiem (repository). Šo paku uzstādīšanu un atjaunināšanu palīdz veikt paku menedžeris, kas tavā vietā atcerēsies katras programmas versijas numuru, pārbaudīs pieejamos atjauninājumus, saglabās uzlikto un pieejamo programmu informāciju, veiks elementāru programmas konfigurāciju un citas nepieciešamas lietas.
Centos, Fedora un RedHat ir trīs populārākie distributīvi no daudziem (rpm based), kuri izmanto RPM pakas. Šo paku pārvaldīšanu nodrošina utilītprogramma rpm, taču tās sarežģītības un daļēji ierobežoto iespēju dēļ vispopulārākais paku menedžeris šajos distributīvos ir YUM (Yellowdog Updater Modified). YUM piedāvā papildus iespējas un funkcionalitāti, taču izmanto rpm.
- Pamatkomandas
- Paku grupas
- Papildus repozitoriji
- Repozitoriju pieslēgšana vai atslēgšana
- Papildus noderīgas komandas
Pamatkomandas
yum install pakas_nosaukums
Uzstāda paku pakas_nosaukums un nepieciešamos papildinājumus, ja tādi vajadzīgi.
yum reinstall pakas_nosaukums
Vēlreiz uzstādīt paku pakas_nosaukums
yum remove pakas_nosaukums
Nodzēš paku pakas_nosaukums
yum info pakas_nosaukums
Attēlo detalizētāku aprakstu par paku pakas_nosaukums
yum list installed
Parāda sarakstu ar visām pakām kuras uzstādītas sistēmā
yum search *nosaukums*
Parādīs sarakstu ar visām pakām, kuru nosaukums saturēs norādīto
yum update
Uzliek atjauninājumus visām uzstādītajām pakām, vai noteiktai pakai, ja tāda tiek norādīta
yum --exclude=package *pakas_nosaukums* update
Atjaunot visas pakas, izņemot norādīto paku
yum list updates
Parāda sarakstu ar visām pakām, kurām pieejami atjauninājumi
yum downgrade *pakas_nosaukums*
Uzliek norādītas pakas vai paku iepriekšējo versiju, ja tāda ir pieejama.
yum clean all
Dzēš failus, paku arhīvus un informāciju, kas vairs nav nepieciešami, bet atstāti sistēmā pēc pakas uzstādīšanas.
yum provides "*/libdevmapper.so.1.02"
Sameklē visas pakas, kuras satur norādīto failu. Šinī gadījumā libdevmapper.so.1.02
YUM saprot wildcard ( * ), ar kura palīdzibu var norādīt frāzi, ar kuru saturošajām paka tiks veiktas prasītās darbībās.
yum install php-*
uzliks visas pakas, kuru nosaukums sāksies ar php-
Paku grupas
RPM pakas tiek sagrupētas grupās pēc to darbības. Piemēram pakas kas nepieciešamas sistēmas pamatfunkcijām atrodas grupā Base, pakas kas saistītas ar MySQL - MySQL Database utt.
yum gouplist
Parāda visas pieejamo paku grupu nosaukumus
yum groupinfo "grupas nosaukums*
Parādas grupas aprakstu, kā arī visas pakas kuras tajā sagrupētas.
yum groupinstall "grupas nosaukums*
Uzliek visas pakas, kuras atrodas dotajā grupā
yum groupremove "grupas nosaukums"
Novāc visas pakas, kuras atrodas dotajā grupā
Papildus repozitoriji
Ne vienmēr noklusētajos repizitorijos ir pieejamas nepieciešamās pakas. Ir izveidoti daudzi neoficiāli repozitoriji, kuros entuziasti apkopo pakas ar ieslēgtām nestandarta iespējām, jaunākās programmas
versijas vai programmas ar labojumiem. Populārākie repozitoriji ir RPMforge, EPEL un Atomic. Lai pievienotu papildus repozitoriju, nepieciešams uzstādīt rpm paku ar attiecīgā repozitorija konfigurācijas failiem. Piemēram lai pievienotu RPMforge repozitoriju 64bit sistēmai uz Centos 6 jāizpilda šī komanda
rpm -Uhv http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
Konfigurācijas faili, kas satur repozitoriju adreses, un to konfigurāciju atrodami direktorijā /etc/yum.repos.d/. Šāds ieraksts failā /etc/yum.repos.d/rpmforge.rep norāda repozitorija nosaukumu. Tā atrašanās adresi, kā arī iespējamo spoguļserveru adreses.
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
enabled norāda, ka šis repozitorijs noklusēti ir ieslēgts, tādējādi pakas no tā varēs uzstādīt bez papildus parametru norādīšanas.
protect=1 norāda, ka noklusēti pakas no šī repozitorija drīkstēs atjaunot ņemot pakas arī no citiem repozitorijiem, ja šo repozitoriju konfigurācijā būs tāds pats protect=1 līmenis.
gpgkey norāda GPG atslēgas atrašanās vietu dotajā sistēma, savukārt gpgcheck norāda, vai YUM pārbaudīs paku paraksta atbilstību, vai arī uzticēsies tam bez pārbaudīšanas.
Repozitoriju pieslēgšana vai atslēgšana
Sistēmā pievienotos repozitorijus iespējams pieslēgt vai atslēgt izmantojot yum komandas, tādējādi katru reizi nav jālabo konfigurācijas fails.
yum --enablerepo=rpmforge update php*
Atjaunos visas php pakas, ar pakām no RPMforge repozitorija.
yum --disablerepo=rpmforge update php*
Atjaunos visas php pakas no visiem repozitorijiem izņemot RPMforge
yum repolist all
Parādīs sarakstu ar ieslēgtajiem un izslēgtajiem repozitorijiem
Papildus noderīgas komandas
yum -y
Pievienojot komandu -y yum neprasīs apstiprinājumu uzdotajām darbībām
rpm2cpio paka.rpm | cpio -idmv
Atarhivēs rpm paku, bet neuzstādīs to.
yum install yum-utils.noarch -y
yumdownloader php* --destdir=/tmp -y
Uzstādīs papildus rīkus priekš YUM neprasot apstiprinājumu. Otrā komanda novilks visas rpm pakas, kuru nosaukums sāksies ar php un saglabās tās direktorijā /tmp bez apstiprinājuma
Gadās situācijas kad sistēmā uzstādītajos repozitorijos nav iespējams sameklēt sev vajadzīgo paku. Internetā ir pieejami vairāki meklētāji, kas meklēs vajadzīgo rpm paku norādītajiem distributīviem. Divi lielākie meklētāji ir rpm.pbone.net un rpmfind.net. Papildus tam, šeit ir Centos izstrādātāju uzturēts repozitoriju saraksts.