20 Kmandi YUM għall-Ġestjoni tal-Pakketti tal-Linux
F'dan l-artikolu, se nitgħallmu kif ninstallaw, naġġornaw, ineħħu, insibu pakketti, jimmaniġġjaw pakketti u repożitorji fuq sistemi Linux billi tuża l-għodda YUM (Yellowdog Updater Modified) żviluppata minn RedHat.
L-eżempji tal-kmandi murija f'dan l-artikolu huma prattikament ittestjati fuq iċ-ċertifikazzjonijiet RHEL tagħna, jew sempliċement biex tesplora modi kif tinstalla pakketti ġodda u żżomm is-sistema tiegħek aġġornata.
Ir-rekwiżit bażiku ta 'dan l-artikolu huwa, irid ikollok fehim bażiku tal-kmandi u sistema operattiva Linux li taħdem, fejn tista' tesplora u tipprattika l-kmandi kollha elenkati hawn taħt.
X'inhu YUM?
YUM (Yellowdog Updater Modified) hija linja ta' kmand open-source kif ukoll għodda ta' ġestjoni ta' pakkett ibbażata fuq grafika għal sistemi Linux ibbażati fuq RPM (RedHat Package Manager).
Jippermetti lill-utenti u lill-amministraturi tas-sistema li faċilment jinstallaw, jaġġornaw, ineħħu jew ifittxu pakketti tas-softwer fuq sistema. Ġie żviluppat u rilaxxat minn Seth Vidal taħt GPL (Liċenzja Pubblika Ġenerali) bħala sors miftuħ, li jfisser li kulħadd jista 'jitħalla tniżżel u jaċċessa l-kodiċi biex jiffissa bugs u jiżviluppa pakketti personalizzati.
YUM juża bosta repożitorji ta' partijiet terzi biex jinstalla pakketti awtomatikament billi jsolvi l-kwistjonijiet tad-dipendenzi tagħhom.
Aġġornament: Il-kmand yum huwa sostitwit bid-distribuzzjonijiet ibbażati fuq l-RPM.
Biex tinstalla pakkett imsejjaħ Firefox, ħaddem il-kmand t'hawn taħt li awtomatikament issib u tinstalla d-dipendenzi kollha meħtieġa għal 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!
Il-kmand t'hawn fuq se jitlob konferma qabel ma tinstalla kwalunkwe pakkett fis-sistema tiegħek. Jekk trid tinstalla pakketti awtomatikament mingħajr ma titlob l-ebda konferma, uża l-għażla -y
kif muri hawn taħt l-eżempju.
# yum -y install firefox
Biex tneħħi pakkett kompletament bid-dipendenzi kollha, ħaddem il-kmand li ġej kif muri hawn taħt.
# 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!
Bl-istess mod, il-kmand ta 'hawn fuq se jitlob konferma qabel ma tneħħi pakkett. Biex tiddiżattiva l-pront ta' konferma żid l-għażla -y
kif muri hawn taħt.
# yum -y remove firefox
Ejja ngħidu li għandek verżjoni skaduta tal-pakkett MySQL u trid taġġornaha għall-aħħar verżjoni stabbli. Sempliċement mexxi l-kmand li ġej se ssolvi awtomatikament il-kwistjonijiet kollha tad-dipendenzi u tinstallahom.
# 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!
Uża l-funzjoni tal-lista biex tfittex il-pakkett speċifiku b'isem. Pereżempju biex tfittex pakkett imsejjaħ OpenSSH, uża l-kmand.
# 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
Biex it-tfittxija tiegħek tkun aktar preċiża, iddefinixxi l-ismijiet tal-pakketti bil-verżjoni tagħhom, f'każ li tkun taf. Pereżempju biex tfittex verżjoni speċifika OpenSSH-4.3p2 tal-pakkett, uża l-kmand.
# yum list openssh-4.3p2
[ Tista 'tħobb ukoll: Kif Tiżgura u Tibbies OpenSSH Server ]
Jekk ma tiftakarx l-isem eżatt tal-pakkett, imbagħad uża l-funzjoni tat-tfittxija biex tfittex il-pakketti kollha disponibbli biex jaqblu mal-isem tal-pakkett li speċifikajt. Per eżempju, biex tfittex il-pakketti kollha li jaqblu mal-kelma.
# 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
Għid li tixtieq tkun taf l-informazzjoni dwar pakkett qabel ma tinstallah. Biex tikseb informazzjoni dwar pakkett ħarġet il-kmand hawn taħt.
# 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.
Biex telenka l-pakketti kollha disponibbli fid-database Yum, uża l-kmand hawn taħt.
# yum list | less
Biex telenka l-pakketti installati kollha fuq sistema, ħarġet il-kmand hawn taħt, se turi l-pakketti installati kollha.
# yum list installed | less
Yum jipprovdi funzjoni tintuża biex issib liema pakkett jappartjeni fajl speċifiku. Pereżempju, jekk tixtieq tkun taf l-isem tal-pakkett li għandu l-/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
Biex issib kemm pakketti installati fis-sistema tiegħek għandhom aġġornamenti disponibbli, iċċekkja biex tuża l-kmand li ġej.
# yum check-update
Biex iżżomm is-sistema tiegħek aġġornata bl-aġġornamenti kollha tas-sigurtà u tal-pakketti binarji, mexxi l-kmand li ġej. Se tinstalla l-aħħar garża u aġġornamenti tas-sigurtà kollha fis-sistema tiegħek.
# yum update
Fil-Linux, numru ta 'pakketti huma miġbura fi grupp partikolari. Minflok tinstalla pakketti individwali ma 'yum, tista' tinstalla grupp partikolari li jinstalla l-pakketti kollha relatati li jappartjenu għall-grupp. Per eżempju biex telenka l-gruppi kollha disponibbli, sempliċement toħroġ il-kmand li ġej.
# 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
Biex tinstalla grupp ta 'pakketti partikolari, nużaw l-għażla bħala groupinstall. Per eżempju, biex tinstalla MySQL Database, sempliċement tesegwixxi l-kmand ta 'hawn taħt.
# 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!
Biex taġġorna kwalunkwe pakkett tal-grupp installat eżistenti, mexxi l-kmand li ġej kif muri hawn taħt.
# 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!
Biex tħassar jew tneħħi kwalunkwe grupp installat eżistenti mis-sistema, uża biss il-kmand hawn taħt.
# 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!
Biex telenka r-repożitorji Yum kollha attivati fis-sistema tiegħek, uża l-għażla li ġejja.
# 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
Il-kmand li ġej se juri r-repożitorji yum kollha attivati u diżattivati fis-sistema.
# 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
Biex tinstalla pakkett partikolari minn repożitorju speċifiku attivat jew diżattivat, trid tuża --enablerepo
għażla fil-kmand yum tiegħek. Per eżempju biex Installa l-pakkett PhpMyAdmin, tesegwixxi biss il-kmand.
# 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!
L-utilità Yum tipprovdi qoxra tad-dwana fejn tista 'tesegwixxi kmandi multipli.
# 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 >
B'default yum iżomm id-dejta kollha tal-pakkett ppermettiet tar-repożitorju f'/var/cache/yum/ ma' kull sotto-direttorju, biex tnaddaf il-fajls kollha fil-cache mir-repożitorju attivat, għandek bżonn tmexxi l-kmand li ġej regolarment biex tnaddaf il-cache kollha u tagħmel żgur li m'hemm xejn spazju bla bżonn qed tuża. Ma rridux nagħtu l-output tal-kmand ta 'hawn taħt, għaliex inħobbu nżommu d-dejta fil-cache kif inhi.
# yum clean all
Biex tara t-tranżazzjonijiet kollha tal-passat tal-kmand yum, uża biss il-kmand li ġej.
# 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
Aħna ppruvajna nkopru l-kmandi bażiċi kollha biex tavvanza yum bl-eżempji tagħhom. Jekk xi ħaġa relatata mal-kmandi yum setgħet tlift. Jekk jogħġbok aġġornana permezz tal-kaxxa tal-kummenti tagħna. Għalhekk, inkomplu naġġornaw l-istess ibbażat fuq ir-rispons li rċeviet.