Download package using yum command

Yum เป็นโปรแกรมสำหรับการติดตั้ง package แบบ online ของ Linux ทางฝั่ง Red Hat ซึ่งมีลักษณะการทำงานคล้ายกับ apt-get (โปรแกรมติดตั้งทางฝั่ง Debain หรือ Ubuntu) และการใช้งานโดยส่วนใหญ่แล้วจะใช้เพื่อติดตั้ง package ต่างๆ เพื่อลดปัญหาการเรียกหา dependency ของ package เพราะถ้าเราติดตั้งแบบใช้คำสั่งติดตั้งธรรมดา จะรู้สึกปวดหัวกับการเรียกหา package ต่างๆมากมาย

นอกจากนี้ Yum ยังสามารถใช้ดาวโหลด package ต่างๆโดยไม่ต้องติดตั้งก็ได้ เพียงแค่ติดตั้ง package yum-downloadonly โดยใช้คำสั่ง

[root@Ezylinux ~]# yum install yum-downloadonly

จากนั้นเวลาใช้คำสั่ง yum install ให้เพิ่ม –downloadonly เข้าไป ดังตัวอย่างด้านล่าง ส่วนไฟล์ที่ download จะเก็บไว้ที่ /tmp แต่ถ้าไม่มี option –downloaddir=/tmp ไฟล์จะเก็บไว้ที่ /var/cache/yum/

[root@Ezylinux ~]# yum install --downloadonly --downloaddir=/tmp kernel
Loading "dellsysidplugin2" plugin
Loading "downloadonly" plugin
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
 * extras: mirror.yourconnect.com
 * base: mirror.yourconnect.com
 * addons: mirror.yourconnect.com
 * updates: mirror.yourconnect.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
--> Processing Dependency: httpd = 2.2.3-31.el5.centos.2 for package: mod_ssl
--> Processing Dependency: httpd = 2.2.3-31.el5.centos.2 for package: httpd-manual
---> Package httpd.x86_64 0:2.2.3-43.el5.centos set to be updated
--> Running transaction check
---> Package httpd-manual.x86_64 0:2.2.3-43.el5.centos set to be updated
---> Package mod_ssl.x86_64 1:2.2.3-43.el5.centos set to be updated
--> Processing Dependency: openssl >= 0.9.8e-12.el5_4.4 for package: mod_ssl
--> Running transaction check
--> Processing Dependency: openssl = 0.9.8e-7.el5 for package: openssl-devel
---> Package openssl.i686 0:0.9.8e-12.el5_4.6 set to be updated
---> Package openssl.x86_64 0:0.9.8e-12.el5_4.6 set to be updated
--> Running transaction check
---> Package openssl-devel.x86_64 0:0.9.8e-12.el5_4.6 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved
=================================================================================================================================================================================
 Package                                     Arch                                 Version                                               Repository                          Size
=================================================================================================================================================================================
Installing:
 httpd                                       x86_64                               2.2.3-43.el5.centos                                   base                               1.2 M
 httpd-manual                                x86_64                               2.2.3-43.el5.centos                                   base                               813 k
 mod_ssl                                     x86_64                               1:2.2.3-43.el5.centos                                 base                                92 k
 openssl                                     i686                                 0.9.8e-12.el5_4.6                                     base                               1.4 M
 openssl                                     x86_64                               0.9.8e-12.el5_4.6                                     base                               1.4 M
 openssl-devel                               x86_64                               0.9.8e-12.el5_4.6                                     base                               1.9 M

Transaction Summary
=================================================================================================================================================================================
Install       6 Package(s)
Upgrade       0 Package(s)

Total download size: 6.8 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): mod_ssl-2.2.3-43.e 100% |=========================|  92 kB    00:00
(2/6): httpd-manual-2.2.3 100% |=========================| 813 kB    00:00
(3/6): httpd-2.2.3-43.el5 100% |=========================| 1.2 MB    00:00
(4/6): openssl-0.9.8e-12. 100% |=========================| 1.4 MB    00:00
(5/6): openssl-0.9.8e-12. 100% |=========================| 1.4 MB    00:00
(6/6): openssl-devel-0.9. 100% |=========================| 1.9 MB    00:00

exiting because --downloadonly specified

ส่วนเสริม
เราสามารถใช้คำสั่ง yumdownloader ในการ download package ไฟล์ได้เช่นกัน แต่ต้องรู้ version ของ package ที่จะ download ขั้นแรกให้ติดตั้ง package yum-utils เสียก่อน ด้วยคำสั่ง

[root@Ezylinux ~]# yum -y install yum-utils

จากนั้นจึงสามารถ download package ต่างๆด้วยคำสั่งด้านล่าง ในตัวอย่างคือการ download package httpd

[root@Ezylinux ~]# yumdownloader httpd-2.2.3-43

You May Have Missed