20 YUM komandų, skirtų „Linux“ paketų valdymui
Šiame straipsnyje sužinosime, kaip įdiegti, atnaujinti, pašalinti, rasti paketus, tvarkyti paketus ir saugyklas Linux sistemose naudojant YUM (Yellowdog Updater Modified) įrankį, kurį sukūrė RedHat.
Šiame straipsnyje pateiktos pavyzdinės komandos yra praktiškai išbandytos mūsų RHEL 8 serveryje. Šią medžiagą galite naudoti studijų tikslais, RHEL sertifikatams gauti arba tiesiog tyrinėti būdus, kaip įdiegti naujus paketus ir nuolat atnaujinti sistemą.
Pagrindinis šio straipsnio reikalavimas yra tas, kad jūs turite turėti pagrindinį supratimą apie komandas ir veikiančią „Linux“ operacinę sistemą, kurioje galėtumėte tyrinėti ir praktikuoti visas toliau išvardytas komandas.
Kas yra YUM?
YUM (Yellowdog Updater Modified) yra atvirojo kodo komandų eilutė, taip pat grafinis paketų valdymo įrankis, skirtas RPM ( RedHat Package Manager) paremtos Linux sistemos.
Tai leidžia vartotojams ir sistemos administratoriams lengvai įdiegti, atnaujinti, pašalinti arba ieškoti programinės įrangos paketų sistemoje. Jį sukūrė ir išleido Sethas Vidal pagal GPL (bendra viešoji licencija) kaip atvirojo kodo, o tai reiškia, kad bet kam gali būti leista atsisiųsti. ir pasiekti kodą, kad ištaisytumėte klaidas ir sukurtumėte pritaikytus paketus.
YUM naudoja daugybę trečiųjų šalių saugyklų, kad automatiškai įdiegtų paketus ir išspręstų jų priklausomybės problemas.
Atnaujinti: komanda yum pakeičiama komanda dnf, kuri yra naujos kartos yum versija ir laikoma YUM daugelyje naujesnių RPM pagrįstų paskirstymų.
1. Įdiekite paketą su YUM
Norėdami įdiegti paketą pavadinimu „Firefox“, tiesiog paleiskite toliau pateiktą komandą, kuri automatiškai suras ir įdiegs visas reikalingas „Firefox“ priklausomybes.
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!
Aukščiau pateikta komanda paprašys patvirtinimo prieš įdiegiant bet kokį paketą jūsų sistemoje. Jei norite įdiegti paketus automatiškai, neprašydami jokio patvirtinimo, naudokite parinktį -y
, kaip parodyta toliau pateiktame pavyzdyje.
yum -y install firefox
2. Paketo pašalinimas naudojant YUM
Norėdami visiškai pašalinti paketą su visomis priklausomybėmis, tiesiog paleiskite šią komandą, kaip parodyta toliau.
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!
Lygiai taip pat aukščiau pateikta komanda paprašys patvirtinimo prieš pašalinant paketą. Norėdami išjungti patvirtinimo raginimą, tiesiog pridėkite parinktį -y
, kaip parodyta toliau.
yum -y remove firefox
3. Paketo atnaujinimas naudojant YUM
Tarkime, kad turite pasenusią MySQL paketo versiją ir norite ją atnaujinti į naujausią stabilią versiją. Tiesiog paleiskite šią komandą, ji automatiškai išspręs visas priklausomybių problemas ir jas įdiegs.
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. Išvardykite paketą naudodami YUM
Norėdami ieškoti konkretaus paketo su pavadinimu, naudokite funkciją sąrašas. Pavyzdžiui, norėdami ieškoti paketo pavadinimu OpenSSH, naudokite komandą.
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
Jei norite, kad paieška būtų tikslesnė, nurodykite paketų pavadinimus su jų versijomis, jei žinote. Pavyzdžiui, norėdami ieškoti konkrečios paketo versijos OpenSSH-4.3p2, naudokite komandą.
yum list openssh-4.3p2
5. Ieškokite paketo naudodami YUM
Jei neprisimenate tikslaus paketo pavadinimo, naudokite funkciją paieška, kad ieškotumėte visų galimų paketų, kurie atitiktų jūsų nurodyto paketo pavadinimą. Pavyzdžiui, ieškoti visų paketų, kurie atitinka žodį.
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. Gaukite informacijos apie paketą naudodami YUM
Tarkime, kad prieš diegdami norite sužinoti informaciją apie paketą. Norėdami gauti informacijos apie paketą, tiesiog išduokite žemiau esančią komandą.
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. Išvardykite visus galimus paketus naudodami YUM
Norėdami išvardyti visus galimus paketus Yum duomenų bazėje, naudokite toliau pateiktą komandą.
yum list | less
8. Išvardykite visus įdiegtus paketus naudodami YUM
Norėdami išvardyti visus sistemoje įdiegtus paketus, tiesiog išduokite žemiau esančią komandą, ji parodys visus įdiegtus paketus.
yum list installed | less
9. Yum teikia funkciją
Funkcija Yum pateikia naudojama norint rasti, kuriam paketui priklauso konkretus failas. Pavyzdžiui, jei norite sužinoti paketo, kuriame yra /etc/httpd/conf/httpd.conf, pavadinimą.
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. Patikrinkite, ar yra galimų naujinimų naudodami Yum
Norėdami sužinoti, kiek jūsų sistemoje įdiegtų paketų turi galimų naujinimų, patikrinkite, ar naudojate šią komandą.
yum check-update
11. Atnaujinkite sistemą naudodami Yum
Jei norite, kad jūsų sistema būtų atnaujinta naudojant visus saugos ir dvejetainių paketų naujinimus, paleiskite šią komandą. Jis įdiegs visus naujausius jūsų sistemos pataisymus ir saugos naujinimus.
yum update
12. Išvardykite visus galimus grupės paketus
„Linux“ sistemoje keli paketai yra sujungti į tam tikrą grupę. Užuot diegę atskirus paketus su yum, galite įdiegti tam tikrą grupę, kuri įdiegs visus susijusius paketus, priklausančius grupei. Pavyzdžiui, norėdami išvardyti visas galimas grupes, tiesiog išduokite šią komandą.
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. Įdiekite grupės paketus
Norėdami įdiegti konkrečią paketų grupę, naudojame parinktį kaip groupinstall. Pavyzdžiui, norėdami įdiegti MySQL duomenų bazę, tiesiog vykdykite toliau pateiktą komandą.
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. Atnaujinkite grupės paketus
Norėdami atnaujinti esamus įdiegtus grupės paketus, tiesiog paleiskite šią komandą, kaip parodyta toliau.
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. Pašalinkite grupinius paketus
Norėdami ištrinti arba pašalinti bet kurią esamą įdiegtą grupę iš sistemos, tiesiog naudokite toliau pateiktą komandą.
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. Išvardykite įgalintas Yum saugyklas
Norėdami išvardyti visas įgalintas „Yum“ saugyklas jūsų sistemoje, naudokite šią parinktį.
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. Išvardykite visas įjungtas ir išjungtas Yum saugyklas
Ši komanda parodys visas įjungtas ir išjungtas „yum“ saugyklas sistemoje.
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. Įdiekite paketą iš konkrečios saugyklos
Norėdami įdiegti konkretų paketą iš konkrečios įjungtos arba išjungtos saugyklos, savo yum komandoje turite naudoti --enablerepo
parinktį. Pavyzdžiui, norėdami įdiegti PhpMyAdmin paketą, tiesiog vykdykite komandą.
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. Interaktyvus Yum Shell
„Yum“ programa suteikia pasirinktinį apvalkalą, kuriame galite vykdyti kelias komandas.
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. Išvalykite Yum talpyklą
Pagal numatytuosius nustatymus „yum“ saugo visus paketo duomenis, kuriuose įgalinta saugykla, /var/cache/yum/ kiekviename pakatalogyje. Norėdami išvalyti visus talpykloje esančius failus iš įgalintos saugyklos, turite reguliariai vykdyti šią komandą, išvalykite visą talpyklą ir įsitikinkite, kad nenaudojama nieko nereikalingos vietos. Nenorime pateikti toliau pateiktos komandos išvesties, nes mėgstame talpykloje saugomus duomenis tokius, kokie jie yra.
yum clean all
20. Peržiūrėkite Yum istoriją
Norėdami peržiūrėti visas ankstesnes yum komandos operacijas, tiesiog naudokite šią komandą.
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
Mes bandėme pateikti visas pagrindines yum komandas pateikdami jų pavyzdžius. Jei kažkas, kas susiję su yum komandomis, galėjo būti praleista. Atnaujinkite mus naudodami komentarų laukelį. Taigi, atsižvelgdami į gautus atsiliepimus, nuolat atnaujiname.