20 YUM Commands alang sa Linux Package Management
Niini nga artikulo, makakat-on kita unsaon pag-instalar, pag-update, pagtangtang, pagpangita sa mga pakete, pagdumala sa mga pakete ug mga repository sa mga sistema sa Linux gamit ang YUM (Yellowdog Updater Modified) nga himan nga gimugna sa RedHat.
Ang mga panig-ingnan nga mga sugo nga gipakita niini nga artikulo praktikal nga gisulayan sa among mga sertipikasyon sa RHEL, o aron lang masusi ang mga paagi sa pag-instalar sa bag-ong mga pakete ug ipadayon ang imong sistema nga labing bag-o.
Ang sukaranan nga kinahanglanon sa kini nga artikulo mao, kinahanglan nga adunay usa ka sukaranan nga pagsabut sa mga mando ug usa ka nagtrabaho nga operating system sa Linux, diin mahimo nimong susihon ug buhaton ang tanan nga mga mando nga gilista sa ubos.
Unsa ang YUM?
Ang YUM (Yellowdog Updater Modified) usa ka open-source command-line ingon man graphical-based package management tool para sa RPM (RedHat Package Manager) nga nakabase sa Linux system.
Gitugotan niini ang mga tiggamit ug mga tagdumala sa sistema nga dali nga mag-install, mag-update, magtangtang o mangita mga pakete sa software sa usa ka sistema. Gi-develop ug gi-release ni Seth Vidal ubos sa GPL (General Public License) isip open-source, nga nagpasabot nga bisan kinsa mahimong tugutan sa pag-download ug pag-access sa code aron ayohon ang mga bugs ug paghimo og customized nga mga pakete.
Ang YUM naggamit ug daghang mga third-party nga repository aron awtomatikong i-install ang mga pakete pinaagi sa pagsulbad sa ilang mga isyu sa dependency.
Update: Ang yum command gipulihan sa RPM-based distributions.
Aron ma-install ang usa ka package nga gitawag og Firefox, padagana lang ang command sa ubos nga kini awtomatik nga makit-an ug ma-install ang tanan nga gikinahanglan nga dependencies alang sa 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!
Ang sugo sa ibabaw mangayo alang sa kumpirmasyon sa dili pa i-install ang bisan unsang pakete sa imong sistema. Kung gusto nimo nga awtomatiko nga i-install ang mga pakete nga wala mangayo og bisan unsang kumpirmasyon, gamita ang kapilian -y
sama sa gipakita sa ubos nga pananglitan.
# yum -y install firefox
Aron makuha ang usa ka pakete nga hingpit sa tanan nga mga dependency, pagdagan lang ang mosunud nga mando sama sa gipakita sa ubos.
# 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!
Sa samang paagi, ang sugo sa ibabaw mangayo ug kumpirmasyon sa dili pa kuhaa ang usa ka pakete. Aron ma-disable ang confirmation prompt idugang lang ang opsyon -y
sama sa gipakita sa ubos.
# yum -y remove firefox
Ingnon ta nga ikaw adunay usa ka outdated nga bersyon sa MySQL package ug gusto nimo nga i-update kini sa pinakabag-o nga stable nga bersyon. Pagdagan lang ang mosunud nga mando awtomatiko nga masulbad ang tanan nga mga isyu sa dependency ug i-install kini.
# 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!
Gamita ang list function aron pangitaon ang piho nga pakete nga adunay ngalan. Pananglitan sa pagpangita sa usa ka pakete nga gitawag og OpenSSH, gamita ang sugo.
# 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
Aron mas tukma ang imong pagpangita, ipasabot ang mga ngalan sa pakete sa ilang bersyon, kung nahibal-an nimo. Pananglitan sa pagpangita sa usa ka piho nga bersyon OpenSSH-4.3p2 sa package, gamita ang sugo.
# yum list openssh-4.3p2
[ Tingali ganahan ka usab: Unsaon Pagsiguro ug Pagtig-a sa OpenSSH Server ]
Kung dili nimo mahinumduman ang eksaktong ngalan sa package, unya gamita ang search function aron pangitaon ang tanan nga magamit nga mga pakete aron ipahiangay ang ngalan sa package nga imong gitakda. Pananglitan, sa pagpangita sa tanan nga mga pakete nga mohaum sa pulong.
# 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
Ingna nga gusto nimong mahibal-an ang kasayuran bahin sa usa ka pakete sa dili pa kini i-install. Aron makakuha og impormasyon sa usa ka pakete i-isyu lang ang sugo sa ubos.
# 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.
Aron ilista ang tanan nga magamit nga mga pakete sa database sa Yum, gamita ang mando sa ubos.
# yum list | less
Aron ilista ang tanan nga mga naka-install nga mga pakete sa usa ka sistema, i-isyu lang ang mando sa ubos, ipakita niini ang tanan nga na-install nga mga pakete.
# yum list installed | less
Naghatag ang Yum og function nga gigamit sa pagpangita kung unsang pakete ang nahisakop sa usa ka piho nga file. Pananglitan, kung gusto nimo mahibal-an ang ngalan sa package nga adunay /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
Aron mahibal-an kung pila ang na-install nga mga pakete sa imong sistema nga adunay mga update nga magamit, susiha aron magamit ang mosunud nga mando.
# yum check-update
Aron mapadayon ang imong sistema nga labing bag-o sa tanan nga mga update sa seguridad ug binary nga pakete, padagana ang mosunud nga mando. I-install niini ang tanan nga pinakabag-o nga mga patch ug mga update sa seguridad sa imong sistema.
# yum update
Sa Linux, daghang mga pakete ang gi-bundle sa usa ka partikular nga grupo. Imbis nga i-install ang indibidwal nga mga pakete nga adunay yum, mahimo nimong i-install ang usa ka partikular nga grupo nga mag-install sa tanan nga mga may kalabutan nga pakete nga nahisakop sa grupo. Pananglitan aron ilista ang tanan nga magamit nga mga grupo, i-isyu lang ang mosunod nga mando.
# 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
Aron ma-install ang usa ka partikular nga grupo sa pakete, gigamit namon ang kapilian ingon pag-install sa grupo. Pananglitan, aron ma-install ang MySQL Database, ipatuman lang ang mando sa ubos.
# 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!
Aron ma-update ang bisan unsang na-install nga mga pakete sa grupo, pagdagan lang ang mosunud nga mando sama sa gipakita sa ubos.
# 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!
Aron mapapas o matangtang ang bisan unsang na-install nga grupo gikan sa sistema, gamita lang ang mando sa ubos.
# 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!
Aron ilista ang tanan nga gipalihok nga Yum repository sa imong sistema, gamita ang mosunod nga kapilian.
# 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
Ang mosunud nga mando magpakita sa tanan nga gi-enable ug disabled nga yum repository sa 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
Aron ma-install ang usa ka partikular nga pakete gikan sa usa ka piho nga gi-enable o gi-disable nga repository, kinahanglan nimong gamiton ang --enablerepo
usa ka kapilian sa imong yum command. Pananglitan sa Pag-install sa PhpMyAdmin package, i-execute lang ang command.
# 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!
Ang Yum utility naghatag og usa ka custom nga kabhang diin mahimo nimong ipatuman ang daghang mga sugo.
# 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 >
Pinaagi sa default, gitipigan ni yum ang tanan nga repository nga nakapahimo sa data sa pakete sa/var/cache/yum/sa matag sub-direktoryo, aron malimpyohan ang tanan nga mga naka-cache nga file gikan sa gipalihok nga repository, kinahanglan nimo nga padaganon kanunay ang mosunud nga mando aron malimpyohan ang tanan nga cache ug mahimo. sigurado nga wala’y gamit nga wala kinahanglana nga wanang. Dili namo gusto nga ihatag ang output sa ubos nga sugo, tungod kay gusto namo nga tipigan ang mga naka-cache nga datos sama niini.
# yum clean all
Aron makita ang tanang nangaging mga transaksyon sa yum command, gamita lang ang mosunod nga sugo.
# 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
Gisulayan namon nga tabonan ang tanan nga sukaranan sa pag-uswag sa mga yum nga mando sa ilang mga pananglitan. Kung adunay bisan unsang butang nga may kalabutan sa yum nga mga mando mahimo’g nasipyat. Palihug i-update kami pinaagi sa among kahon sa komento. Mao nga, nagpadayon kami sa pag-update sa parehas base sa nadawat nga feedback.