20 YUM komandi za upravljanje Linux paketima
U ovom članku ćemo naučiti kako instalirati, ažurirati, ukloniti, pronaći pakete, upravljati paketima i spremištima na Linux sistemima koristeći YUM (Yellowdog Updater Modified) alat koji je razvio RedHat.
Primjeri komandi prikazani u ovom članku su praktično testirani na našem RHEL 8 serveru, te materijale možete koristiti u svrhu učenja, RHEL certifikate ili samo da istražite načine za instaliranje novih paketa i održavanje vašeg sistema ažurnim.
Osnovni zahtjev ovog članka je da morate imati osnovno razumijevanje naredbi i operativni sistem Linux, gdje možete istražiti i vježbati sve naredbe navedene u nastavku.
Šta je YUM?
YUM (Yellowdog Updater Modified) je komandna linija otvorenog koda, kao i grafički baziran alat za upravljanje paketima za RPM ( RedHat Package Manager) bazirani na Linux sistemima.
Omogućava korisnicima i sistemskim administratorima da lako instaliraju, ažuriraju, uklone ili pretražuju softverske pakete na sistemu. Razvio ga je i objavio Seth Vidal pod GPL (Opća javna licenca) kao open-source, što znači da se svakom može dozvoliti preuzimanje i pristupite kodu za ispravljanje grešaka i razvoj prilagođenih paketa.
YUM koristi brojna spremišta trećih strana za automatsku instalaciju paketa rješavajući probleme njihovih ovisnosti.
Ažuriranje: Naredba yum je zamijenjena naredbom dnf, koja je verzija yum sljedeće generacije i smatra se zamjenom za YUM u većini novijih RPM distribucija.
1. Instalirajte paket sa YUM
Da biste instalirali paket koji se zove Firefox, samo pokrenite naredbu ispod, ona će automatski pronaći i instalirati sve potrebne ovisnosti za Firefox.
yum install firefox
Loaded plugins: fastestmirror
Dependencies Resolved
================================================================================================
Package Arch Version Repository Size
================================================================================================
Updating:
firefox i686 10.0.6-1.el6.centos updates 20 M
Updating for dependencies:
xulrunner i686 10.0.6-1.el6.centos updates 12 M
Transaction Summary
================================================================================================
Install 0 Package(s)
Upgrade 2 Package(s)
Total download size: 32 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): firefox-10.0.6-1.el6.centos.i686.rpm | 20 MB 01:10
(2/2): xulrunner-10.0.6-1.el6.centos.i686.rpm | 12 MB 00:52
------------------------------------------------------------------------------------------------
Total 63 kB/s | 32 MB 02:04
Updated:
firefox.i686 0:10.0.6-1.el6.centos
Dependency Updated:
xulrunner.i686 0:10.0.6-1.el6.centos
Complete!
Gornja komanda će tražiti potvrdu prije instaliranja bilo kojeg paketa na vaš sistem. Ako želite automatski instalirati pakete bez traženja bilo kakve potvrde, koristite opciju -y
kao što je prikazano u primjeru ispod.
yum -y install firefox
2. Uklanjanje paketa sa YUM
Da biste u potpunosti uklonili paket sa svim ovisnostima, samo pokrenite sljedeću naredbu kao što je prikazano u nastavku.
yum remove firefox
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package firefox.i686 0:10.0.6-1.el6.centos set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================
Package Arch Version Repository Size
====================================================================================================
Removing:
firefox i686 10.0.6-1.el6.centos @updates 23 M
Transaction Summary
====================================================================================================
Remove 1 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : firefox-10.0.6-1.el6.centos.i686 1/1
Removed:
firefox.i686 0:10.0.6-1.el6.centos
Complete!
Na isti način, gornja komanda će tražiti potvrdu prije uklanjanja paketa. Da onemogućite prompt za potvrdu, samo dodajte opciju -y
kao što je prikazano ispod.
yum -y remove firefox
3. Ažuriranje paketa koristeći YUM
Recimo da imate zastarjelu verziju MySQL paketa i želite je ažurirati na najnoviju stabilnu verziju. Samo pokrenite sljedeću naredbu, ona će automatski riješiti sve probleme ovisnosti i instalirati ih.
yum update mysql
Loaded plugins: fastestmirror
Dependencies Resolved
============================================================================================================
Package Arch Version Repository Size
============================================================================================================
Updating:
vsftpd i386 2.0.5-24.el5_8.1 updates 144 k
Transaction Summary
============================================================================================================
Install 0 Package(s)
Upgrade 1 Package(s)
Total size: 144 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : vsftpd 1/2
Cleanup : vsftpd 2/2
Updated:
vsftpd.i386 0:2.0.5-24.el5_8.1
Complete!
4. Navedite paket koristeći YUM
Koristite funkciju list za traženje određenog paketa s imenom. Na primjer, za traženje paketa pod nazivom OpenSSH, koristite naredbu.
yum list openssh
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* epel: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* rpmforge: mirror.nl.leaseweb.net
* updates: mirror.nus.edu.sg
Installed Packages
openssh.i386 4.3p2-72.el5_6.3 installed
Available Packages 4.3p2-82.el5 base
Da bi vaša pretraga bila preciznija, definišite nazive paketa sa njihovom verzijom, ako znate. Na primjer, za traženje određene verzije OpenSSH-4.3p2 paketa, koristite naredbu.
yum list openssh-4.3p2
5. Potražite paket koristeći YUM
Ako se ne sjećate tačnog naziva paketa, upotrijebite funkciju traži da pretražite sve dostupne pakete kako bi se podudarali s imenom paketa koji ste naveli. Na primjer, za pretraživanje svih paketa koji odgovaraju riječi.
yum search vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* epel: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* rpmforge: mirror.nl.leaseweb.net
* updates: ftp.iitm.ac.in
============================== Matched: vsftpd ========================
ccze.i386 : A robust log colorizer
pure-ftpd-selinux.i386 : SELinux support for Pure-FTPD
vsftpd.i386 : vsftpd - Very Secure Ftp Daemon
6. Dobijte informacije o paketu koristeći YUM
Recimo da biste željeli znati informacije o paketu prije nego što ga instalirate. Da biste dobili informacije o paketu, samo izdajte naredbu ispod.
yum info firefox
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.neu.edu.cn
* epel: mirror.neu.edu.cn
* extras: mirror.neu.edu.cn
* rpmforge: mirror.nl.leaseweb.net
* updates: ftp.iitm.ac.in
Available Packages
Name : firefox
Arch : i386
Version : 10.0.6
Release : 1.el5.centos
Size : 20 M
Repo : updates
Summary : Mozilla Firefox Web browser
URL : http://www.mozilla.org/projects/firefox/
License : MPLv1.1 or GPLv2+ or LGPLv2+
Description: Mozilla Firefox is an open-source web browser, designed for standards
: compliance, performance and portability.
7. Navedite sve dostupne pakete koristeći YUM
Za popis svih dostupnih paketa u Yum bazi podataka, koristite naredbu ispod.
yum list | less
8. Navedite sve instalirane pakete koristeći YUM
Da biste izlistali sve instalirane pakete na sistemu, samo izdajte naredbu ispod, ona će prikazati sve instalirane pakete.
yum list installed | less
9. Yum pruža funkciju
Yum pruža funkcija se koristi za pronalaženje kojem paketu pripada određena datoteka. Na primjer, ako želite znati naziv paketa koji ima /etc/httpd/conf/httpd.conf.
yum provides /etc/httpd/conf/httpd.conf
Loaded plugins: fastestmirror
httpd-2.2.3-63.el5.centos.i386 : Apache HTTP Server
Repo : base
Matched from:
Filename : /etc/httpd/conf/httpd.conf
httpd-2.2.3-63.el5.centos.1.i386 : Apache HTTP Server
Repo : updates
Matched from:
Filename : /etc/httpd/conf/httpd.conf
httpd-2.2.3-65.el5.centos.i386 : Apache HTTP Server
Repo : updates
Matched from:
Filename : /etc/httpd/conf/httpd.conf
httpd-2.2.3-53.el5.centos.1.i386 : Apache HTTP Server
Repo : installed
Matched from:
Other : Provides-match: /etc/httpd/conf/httpd.conf
10. Provjerite dostupna ažuriranja koristeći Yum
Da biste saznali koliko instaliranih paketa na vašem sistemu ima dostupnih ažuriranja, označite da koristite sljedeću naredbu.
yum check-update
11. Ažurirajte sistem koristeći Yum
Da bi vaš sistem bio ažuran sa svim sigurnosnim i binarnim ažuriranjima paketa, pokrenite sljedeću naredbu. Instalirat će sve najnovije zakrpe i sigurnosna ažuriranja na vaš sistem.
yum update
12. Navedite sve dostupne grupne pakete
U Linuxu, brojni paketi su povezani u određenu grupu. Umjesto instaliranja pojedinačnih paketa pomoću yum-a, možete instalirati određenu grupu koja će instalirati sve povezane pakete koji pripadaju grupi. Na primjer, za popis svih dostupnih grupa, samo izdajte sljedeću naredbu.
yum grouplist
Installed Groups:
Administration Tools
DNS Name Server
Dialup Networking Support
Editors
Engineering and Scientific
FTP Server
Graphics
Java Development
Legacy Network Server
Available Groups:
Authoring and Publishing
Base
Beagle
Cluster Storage
Clustering
Development Libraries
Development Tools
Eclipse
Educational Software
KDE (K Desktop Environment)
KDE Software Development
13. Instalirajte grupne pakete
Da bismo instalirali određenu grupu paketa, koristimo opciju kao grupna instalacija. Na primjer, da biste instalirali “MySQL bazu podataka“, samo izvršite donju naredbu.
yum groupinstall 'MySQL Database'
Dependencies Resolved
=================================================================================================
Package Arch Version Repository Size
=================================================================================================
Updating:
unixODBC i386 2.2.11-10.el5 base 290 k
Installing for dependencies:
unixODBC-libs i386 2.2.11-10.el5 base 551 k
Transaction Summary
=================================================================================================
Install 1 Package(s)
Upgrade 1 Package(s)
Total size: 841 k
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : unixODBC-libs 1/3
Updating : unixODBC 2/3
Cleanup : unixODBC 3/3
Dependency Installed:
unixODBC-libs.i386 0:2.2.11-10.el5
Updated:
unixODBC.i386 0:2.2.11-10.el5
Complete!
14. Ažurirajte grupne pakete
Da ažurirate sve postojeće instalirane grupne pakete, samo pokrenite sljedeću naredbu kao što je prikazano ispod.
yum groupupdate 'DNS Name Server'
Dependencies Resolved
================================================================================================================
Package Arch Version Repository Size
================================================================================================================
Updating:
bind i386 30:9.3.6-20.P1.el5_8.2 updates 981 k
bind-chroot i386 30:9.3.6-20.P1.el5_8.2 updates 47 k
Updating for dependencies:
bind-libs i386 30:9.3.6-20.P1.el5_8.2 updates 864 k
bind-utils i386 30:9.3.6-20.P1.el5_8.2 updates 174 k
Transaction Summary
================================================================================================================
Install 0 Package(s)
Upgrade 4 Package(s)
Total size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : bind-libs 1/8
Updating : bind 2/8
Updating : bind-chroot 3/8
Updating : bind-utils 4/8
Cleanup : bind 5/8
Cleanup : bind-chroot 6/8
Cleanup : bind-utils 7/8
Cleanup : bind-libs 8/8
Updated:
bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2
Dependency Updated:
bind-libs.i386 30:9.3.6-20.P1.el5_8.2 bind-utils.i386 30:9.3.6-20.P1.el5_8.2
Complete!
15. Uklonite grupne pakete
Da biste izbrisali ili uklonili bilo koju postojeću instaliranu grupu iz sistema, samo koristite naredbu ispod.
yum groupremove 'DNS Name Server'
Dependencies Resolved
===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Removing:
bind i386 30:9.3.6-20.P1.el5_8.2 installed 2.1 M
bind-chroot i386 30:9.3.6-20.P1.el5_8.2 installed 0.0
Transaction Summary
===========================================================================================================
Remove 2 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : bind 1/2
warning: /etc/sysconfig/named saved as /etc/sysconfig/named.rpmsave
Erasing : bind-chroot 2/2
Removed:
bind.i386 30:9.3.6-20.P1.el5_8.2 bind-chroot.i386 30:9.3.6-20.P1.el5_8.2
Complete!
16. Navedite omogućena Yum spremišta
Za popis svih omogućenih Yum spremišta u vašem sistemu, koristite sljedeću opciju.
yum repolist
repo id repo name status
base CentOS-5 - Base enabled: 2,725
epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783
extras CentOS-5 - Extras enabled: 282
mod-pagespeed mod-pagespeed enabled: 1
rpmforge RHEL 5 - RPMforge.net - dag enabled: 11,290
updates CentOS-5 - Updates enabled: 743
repolist: 20,824
16. Navedite sva omogućena i onemogućena Yum spremišta
Sledeća komanda će prikazati sva omogućena i onemogućena yum spremišta na sistemu.
yum repolist all
repo id repo name status
C5.0-base CentOS-5.0 - Base disabled
C5.0-centosplus CentOS-5.0 - Plus disabled
C5.0-extras CentOS-5.0 - Extras disabled
base CentOS-5 - Base enabled: 2,725
epel Extra Packages for Enterprise Linux 5 - i386 enabled: 5,783
extras CentOS-5 - Extras enabled: 282
repolist: 20,824
17. Instalirajte paket iz određenog spremišta
Da biste instalirali određeni paket iz određenog omogućenog ili onemogućenog spremišta, morate koristiti --enablerepo
opciju u vašoj yum komandi. Na primjer, da biste instalirali PhpMyAdmin paket, samo izvršite naredbu.
yum --enablerepo=epel install phpmyadmin
Dependencies Resolved
=============================================================================================
Package Arch Version Repository Size
=============================================================================================
Installing:
phpMyAdmin noarch 3.5.1-1.el6 epel 4.2 M
Transaction Summary
=============================================================================================
Install 1 Package(s)
Total download size: 4.2 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
phpMyAdmin-3.5.1-1.el6.noarch.rpm | 4.2 MB 00:25
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : phpMyAdmin-3.5.1-1.el6.noarch 1/1
Verifying : phpMyAdmin-3.5.1-1.el6.noarch 1/1
Installed:
phpMyAdmin.noarch 0:3.5.1-1.el6
Complete!
18. Interaktivna Yum Shell
Yum uslužni program pruža prilagođenu ljusku u kojoj možete izvršiti više naredbi.
yum shell
Loaded plugins: fastestmirror
Setting up Yum Shell
> update httpd
Loading mirror speeds from cached hostfile
* base: mirrors.sin3.sg.voxel.net
* epel: ftp.riken.jp
* extras: mirrors.sin3.sg.voxel.net
* updates: mirrors.sin3.sg.voxel.net
Setting up Update Process
>
19. Očistite Yum Cache
Prema zadanim postavkama yum čuva sve podatke paketa omogućenih u spremištu u /var/cache/yum/ sa svakim poddirektorijumom, da biste očistili sve keširane datoteke iz omogućenog spremišta, morate redovno izvoditi sljedeću naredbu da očistite sav keš memoriju i uvjerite se da nema ničeg nepotrebnog prostora koji se koristi. Ne želimo dati izlaz donje naredbe, jer volimo da zadržimo keširane podatke onakvima kakvi jesu.
yum clean all
20. Pogledajte istoriju Yum
Za pregled svih prošlih transakcija naredbe yum, samo koristite sljedeću naredbu.
yum history
Loaded plugins: fastestmirror
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
10 | root | 2012-08-11 15:19 | Install | 3
9 | root | 2012-08-11 15:11 | Install | 1
8 | root | 2012-08-11 15:10 | Erase | 1 EE
7 | root | 2012-08-10 17:44 | Install | 1
6 | root | 2012-08-10 12:19 | Install | 2
5 | root | 2012-08-10 12:14 | Install | 3
4 | root | 2012-08-10 12:12 | I, U | 13 E<
3 | root | 2012-08-09 13:01 | Install | 1 >
2 | root | 2012-08-08 20:13 | I, U | 292 EE
1 | System | 2012-08-08 17:15 | Install | 560
history list
Pokušali smo pokriti sve osnovne za napredne yum komande njihovim primjerima. Ako je bilo šta vezano za yum komande možda propustilo. Molimo vas da nas ažurirate putem našeg polja za komentare. Dakle, nastavljamo ažurirati isto na osnovu primljenih povratnih informacija.