ºìÁªLinuxÃÅ»§
Linux°ïÖú

YUM²Ö¿â·þÎñ±Ê¼Ç:ÅäÖÃYUM

·¢²¼Ê±¼ä:2014-06-23 15:15:09À´Ô´:ºìÁª×÷Õß:velcbo
rpm°ü¹ÜÀíÃüÁYUM

½èÖúÓÚYUMÈí¼þ²Ö¿â£¬¿ÉÒÔÍê³É°²×°¡¢Ð¶ÔØ¡¢×Ô¶¯Éý¼¶rpmÈí¼þ°üµÈÈÎÎñ£¬Äܹ»×Ô¶¯²éÕÒ²¢½â¾örpm°üÖ®¼äµÄÒÀÀµ¹ØÏµ£¬¶øÎÞÐè¹ÜÀíÔ±Öð¸ö¡¢ÊÖ¹¤µØÈ¥°²×°Ã¿Ò»¸örpm°ü£¬Ê¹¹ÜÀíÔ±ÔÚά¶È»¤ÔÚÁ¿linux·þÎñÆ÷ʱ¸ü¼ÓÇáËÉ×ÔÈç¡£ÌØ±ðÊÇÔÚÓµÓдóÁ¿linuxÖ÷»úµÄ±¾µØÍøÂçÖУ¬¹¹½¨Ò»Ì¨Ô´·þÎñÆ÷¿ÉÒÔ´ó´ó»º½âÈí¼þ°²×°¡¢Éý¼¶µÈ¶ÔÓÚinternetµÄÒÀÀµ¡£

Òª³É¹¦Ê¹ÓÃYUM»úÖÆÀ´¸üÐÂϵͳºÍÈí¼þ£¬ÐèÒªÓÐÒ»¸ö°üº¬¸÷ÖÖrpm°²×°ÎļþµÄÈí¼þ²Ö¿â£¬ÌṩÈí¼þ¿âµÄ·þÎñÆ÷Ò²³ÆÎª¡°Ô´¡±·þÎñÆ÷¡£ÔÚ¿Í»§»úÖÐÖ»ÒªÕýÈ·Ö¸¶¨Èí¼þ²Ö¿âµÄµØÖ·µÈÐÅÏ¢£¬¾Í¿ÉÒÔͨ¹ý¶ÔÓ¦µÄ¡°Ô´¡±·þÎñÆ÷À´°²×°»ò¸üÐÂÈí¼þÁË¡£

YUMÈí¼þ²Ö¿â¼´¿ÉÒÔ×÷Ϊ±¾µØYUMÔ´£¬¼´Îª±¾µØÖ÷»úÌṩÈí¼þÔ´·þÎñ£»Ò²¿ÉÒÔ´ëÖúFTP»òHTTPЭÒéÀ´½øÐз¢²¼£¬ÕâÑù¿ÉÒÔÃæÏòÍøÂçÖеÄËùÓпͻ§»úÌṩÈí¼þÔ´·þÎñ¡£ÎªÁ˱ãÓÚ¿Í»§»ú²éѯÈí¼þ°ü£¬»ñÈ¡ÒÀÀµ¹ØÏµµÈÐÅÏ¢£¬ÔÚÈí¼þ²Ö¿âÖÐÐèÒªÌṩ²Ö¿âÊý¾Ý¿â£¨repodata£©£¬ÆäÖÐÊÕ¼¯ÁËĿ¼ÏÂËùÓÐrpm°üµÄÍ·²¿ÐÅÏ¢¡£

ÔÚRHEL6ϵͳµÄ°²×°¹âÅÌÖУ¬ÒÑÕë¶ÔÈí¼þĿ¼Packages/½¨ºÃÁËrepodataÊý¾Ý£¬Òò´ËÖ»Òª¼òµ¥µØ½«Õû¸ö¹âÅÌÖеÄÄÚÈÝ»ò½«¹âÅÌÈ«²¿ÄÚÈݸ´ÖƵ½Ó²ÅÌͨ¹ýHTTP»òFTP½øÐз¢²¼£¬¾Í¿ÉÒÔ×÷ΪÈí¼þ²Ö¿âÁË¡£

A£©£º±¾µØYUM£º(¹âÅÌÔ´)
ÒÔÏÂÊÇrhel_6.0-i386-DVDµÄĿ¼½á¹¹£º
HighAvailability ¸ß¿ÉÓÃÏà¹ØÈí¼þ°ü£¬ÈçrhcsµÈÏà¹ØÌ×¼þ
Server ³£¹æÈí¼þ°ü£¬Èçmysql,httpd,¿ª·¢¹¤¾ß£¬ÏµÍ³¹ÜÀí¹¤¾ßµÈ
LoadBalancer ¸ºÔؾùºâÏà¹ØÈí¼þ°ü£¬Èçlvs,pirihan
ResilientStorage´æ´¢
Packages ÕæÕý´æ·ÅËùÓÐÈí¼þ°üµÄĿ¼
images rhel°²×°½ø³ÌËùÐèÒªµÄÒýµ¼ºÍÇý¶¯¾µÏñÎļþ£¬
isolinux ¾µÏñÎļþÒýµ¼Ê±ËùÐèÒªµÄÎļþ
ÓÃyumÀ´°²×°ËùÐèÒªµÄÈí¼þ°ü£¬ÏÈÀ´´î½¨yum¹âÅÌÔ´£º
ÏȽ«RHEL6µÄ¹âÅ̹ÒÔØµ½Ä³Ò»Ä¿Â¼Ï£¬Èç¹ÒÔØµ½/mnt
#mount /dev/cdrom /mnt
ÔÚ/etc/yum.repos.dĿ¼Ï´´½¨Ò»¸öÒÔ.repo½áβµÄÎļþ£º
#vi /etc/yum.repos.d/server.repo
ÅäÖÃÄÚÈÝÈçÏ£º
[Server] //²Ö¿âÃû³Æ
name=Server //²Ö¿âÃèÊöÐÅÏ¢
baseurl=file:///mnt/Server //URL·ÃÎÊ·¾¶
enabled=1 //ÆôÓôËÈí¼þ²Ö¿â
gpgcheck=1 //ÑéÖ¤Èí¼þ°üµÄÇ©Ãû
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release //GPG¹«Ô¿ÎļþµÄλÖÃ

[LoadBalancer]
name=LoadBalancer
baseurl=file:///mnt/LoadBalancer
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]
name=HighAvailability
baseurl=file:///mnt/HighAvailability
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ResilientStorage]
name=ResilientStorage
baseurl=file:///mnt/ResilientStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release


YumÃüÁî¸ñʽ£º
yum
²ÎÊý˵Ã÷:
options: ³£ÓõÄÓУº
-y : Èç¹ûÔÚ¹¤×÷¹ý³ÌÖÐÈçҪʹÓÃÕßÏìÓ¦,Õâ¸ö²ÎÊý¿ÉÒÔÖ±½Ó»Ø´ðyes
command:
list : ÁгöÔÚyum server ÉÏÃæÓеÄRPMÌ×¼þ£»ÈôÖ´ÐÐyum list installedÔò±íʾֻÁгöϵͳÖÐÒѰ²×°µÄÈí¼þ°ü£¬yum list availableÔò±íʾֻÁгöÈí¼þ²Ö¿âÖпÉÓã¨ÉÐδ°²×°£©µÄÈí¼þ°ü£¬yum list updateÔò±íʾÁгö¿ÉÒÔÉý¼¶°æ±¾µÄÈí¼þ°ü¡£
install: °²×°Ä³¸öÌ×¼þ
update : Éý¼¶Ä³¸öÌ×¼þ,Èç¹ûupdateºóÃæÃ»ÓнÓÌ×¼þÃû³Æ,¼´¸üÐÂĿǰÖ÷»úËùÓÐÒѰ²×°µÄÌ×¼þ.
info : Áгöij¸öÌ×¼þµÄÏêϸÐÅÏ¢,Ï൱ÓÚrpm -qi packageÄÚÈÝ
clean : ½«ÒÑÏÂÔØµ½±¾»úµÄpackages»òheadersÒÆ³ý
remove : ÒÆ³ýÒѾ­°²×°ÔÚϵͳÖеÄij¸öÌ×¼þ
yum update È«²¿¸üÐÂ
yum update package ¸üÐÂÖ¸¶¨³ÌÐò°üpackage
yum check-update ¼ì²é¿É¸üеijÌÐò
yum info ÏÔʾ°²×°°üÐÅÏ¢
yum list ÏÔʾËùÓÐÒѾ­°²×°ºÍ¿ÉÒÔ°²×°µÄ³ÌÐò°ü
yum list ÏÔʾָ¶¨³ÌÐò°ü°²×°Çé¿ö
yum search ²éÕÒÈí¼þ°ü£¬µ±ÐèÒª¸ù¾Ýij¸ö¹Ø¼ü´ÊÀ´²éÕÒÏà¹ØµÄÈí¼þ°üʱ£¬¿ÉÒÔÖ´ÐÐyum search ¹Ø¼ü´Ê£¬Ä¬ÈϽö¸ù¾ÝÈí¼þ°üÃû³ÆºÍÃèÊöÐÅÏ¢½øÐÐËÑË÷¡£ÈôÖ´ÐÐyum search all ¹Ø¼ü´Ê£¬¿ÉÒÔÀ©´óËÑË÷·¶Î§£¬ÀýÈ磬ÒÔϽ«ËÑË÷Èí¼þ²Ö¿â²¢ÁгöÓëhttpdÏà¹ØµÄÈí¼þ°ü¡£Yum search allhttpd
yum clean headers Çå³ýheader
yum clean packages Çå³ýÏÂÔØµÄrpm°ü
yum clean all Çå³ýheaderÓërpm°ü
yum grouplist £¬ÁгöËùÓÐ×é
yum groupinstall °²×°Ä³¸öÈí¼þ×éÈ磺yumgroupinstall Virtualization °²×°ÐéÄ⻯
ÎÊÌâ½â¾ö£º
1¡¢Èç¹ûÊ״ΰ²×°Èí¼þ°üÖ®ºó£¬Ôٴΰ²×°±ðµÄÈí¼þ°üµÄʱºò£¬ºÜ¿ÉÄܻᷢÏÖ±¨´íÁË£¬´íÎóÐÅÏ¢ÈçÏ£º
Error: Cannot retrieve repository metadata (repomd.xml) for repository:
InstallMedia. Please verify its path and try again
Æäʵ£¬rhel6ÔÚÊ״ζÁÈ¡¸ÄÈí¼þ²Ö¿âÖ®ºó£¬»á°ÑÔ­±¾¹âÅ̸ùĿ¼Ï£¬Ò²¾ÍÊÇһͬ±»Ä㿽±´µ½Èí¼þ²Ö¿âĿ¼µÄmedia.repo¸´ÖÆÒ»·Ýµ½/etc/yum.repos.d/,¶ø¸ÃÎļþÒ²¾ÍÊǵ¼Ö±¾µØyumԴʧЧµÄ×ï¿ý»öÊס£
½â¾ö·½·¨£º
ɾ³ýÈí¼þ²Ö¿âÖеÄmedia.repo
# rm -f /share/rhel/media.repo
2¡¢Èç¹û°²×°Èí¼þ°ü³öÏÖpublic key for ¡­¡­.rpm isnot install
½â¾ö·½·¨£ºµ¼ÈëÍêÕûÐÔÑéÖ¤µÄ¹«Ô¿
#mount /dev/sr0 /mnt
#rpm --import /mnt/RPM-GPG-KEY-redhat-release

±¾µØYUM£¨Ó²ÅÌÔ´£©

ÔÚ±¾µØ´´½¨Ò»¸ö´æ·ÅYUMÔ´µÄĿ¼£¬Èçmkdir /yum

½«RHEL6¹âÅÌÖеÄËùÓÐÄÚÈÝ¿½±´µ½/yumÖÐ

#mount /dev/cdrom /media

#cp -rf /media/* /yum

ÔÚ/etc/yum.repos.dĿ¼Ï´´½¨Ò»¸öÒÔ.repo½áβµÄÎļþ£º

ÅäÖÃÄÚÈݲÎÕÕ¹âÅÌÔ´µÄYUM£¬´Ë´¦ÂÔ¹ý

ÇåÀíYUM»º´æ

yum clean all

ÑéÖ¤±¾µØYUM°²×°°ü

B£©£ºÍøÂçYUM£¨Í¨¹ýFTP»òHTTPЭÒ鷽ʽʵÏÖÍøÂçYUM°²×°RPM°ü£©

ÔÚLinuxÖ÷»úÖÐʹÓÃYUM¿Í»§¶Ë¹¤¾ßÔÚÏßÉý¼¶¡¢°²×°Èí¼þʱ£¬ÓÉÓÚÊܵ½ÍøÂçÁ¬½ÓËÙ¶È¡¢ÍøÂç´ø¿íµÄÏÞÖÆ£¬ÍùÍù¸øÓû§°²×°´øÀ´²»±ØÒªµÄÂé·³¡£µ«ÊÇÈç¹ûÔÚ¾ÖÓòÍøÖй¹½¨Ò»¸ö»ùÓÚ±¾µØµÄYUMÔ´·þÎñÆ÷£¬Ôò¿ÉÒÔ´ó´ó½â¾öÓû§°²×°Èí¼þËٶȽÏÂýµÄÎÊÌâ

ͨ¹ýFTP·½Ê½£º(·½Ê½1£ºÓ²ÅÌÔ´)

ʵÏÖ²½Ö裺

YUM·þÎñÆ÷¶ËÅäÖãº

½«RHEL6¹âÅÌÖеÄËùÓÐÄÚÈݸ´ÖƵ½±¾µØÓ²ÅÌÏà¹ØÄ¿Â¼Ï£¬Èç/var/ftp/rhel6

ÍÆ¼ö²½Ö裺

°²×°vsftpd·þÎñÈí¼þ°ü

#mkdir/var/ftp/rhel6

#mount /dev/cdrom /media

#cp /media/*/var/ftp/rhel6

Æô¶¯vsftpd·þÎñ:

service vsftpd start

chkconfig vsftpd on

ÔÚÁíһ̨¿Í»§¶Ë²âÊÔ£¬Ê×ÏÈ´´½¨repoÎļþÖ¸¶¨YUMԴλÖÃ

vi /etc/yum.repos.d/server.repo£¬×¢ÒâÎļþµÄÀ©Õ¹ÃûÒªÒÔrepo½á⣬ÎļþÄÚÈÝÈçÏÂ

[Server]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release



[HighAvailability]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/HighAvailability

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release



[LoadBalancer]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/LoadBalancer

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release



[ResilientStorage]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/ResilientStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

ÑéÖ¤£ºÔÚ¿Í»§¶ËÉϰ²×°RPM°ü£¬Èçsamba

ÈôYUM·þÎñÆ÷¿ªÆôÁËselinux¹¦ÄÜ£¬¿Í»§¶Ëͨ¹ýYUM°²×°»áʧ°Ü

½â¾ö·½·¨1£º¹Ø±Õselinux¹¦ÄÜsetenforce 0

·½·¨2£ºsetsebool allow_ftpd_full_access on

ÈôYUM·þÎñÆ÷¿ªÆôÁË·À»ðǽ£¬¿Í»§¶Ëͨ¹ýYUM°²×°»áʧ°Ü

½â¾ö·½·¨1£º¹Ø±Õiptables

·½·¨2£ºÔÚINPUT¹æÔòÁ´ÉÏ´´½¨ÔÊÐíFTP·ÃÎʵĹæÔò¡£

ͨ¹ýFTP·½Ê½£º(·½Ê½2£º¹âÅÌÔ´)

YUM·þÎñÆ÷¶ËÅäÖ㺣¨IP:192.168.0.2£©

ÏȽ«RHEL6ϵͳ¹âÅ̹ÒÔØµ½/var/ftp/pubĿ¼ÏÂ

È·±£vsftpd·þÎñÆô¶¯

YUM¿Í»§¶ËÅäÖãº(IP:192.168.0.1)

ÔÚ/etc/yum.repos/Ŀ¼Ï´´½¨Ò»¸öÒÔ.repoΪºó׺µÄÎļþ£¬ÄÚÈÝÈçÏ£º

[Server]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release



[HighAvailability]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/HighAvailability

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release



[LoadBalancer]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/LoadBalancer

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release



[ResilientStorage]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/ResilientStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

ÔÚ¿Í»§¶ËÉϲâÊÔ

2¡¢Í¨¹ýHTTPD·½Ê½£ºÓëftp·½Ê½ÀàËÆ

(ÂÔ)

¶ÔÓÚÓû§ËѼ¯µÄ·ÇRHEL6¹âÅ̵ĸü¶àÆäËûÈí¼þ°ü£¨±ØÐë°üÀ¨´æÔÚÒÀÀµ¹ØÏµµÄËùÓа²×°Îļþ£©³ýÁËӦ׼±¸ÏàÓ¦µÄĿ¼ÒÔÍ⣬»¹ÐèÒªÊÖ¶¯´´½¨repodataÊý¾ÝÎļþ£¬Õâ¾ÍÒªÓõ½createrepo¹¤¾ß£¨RHEL6¹âÅÌÖÐÓУ©

ÒÔRHEL6°²×°¹âÅÌÖÐPackages/Ŀ¼µÄRPM°üΪÀý£º

°²×°createrepo¹¤¾ß£º

createrepoaÖ÷ÒªÓÃÓÚÊÕ¼¯Ä¿Â¼ÖеÄrpm°üÎļþµÄÍ·ÐÅÏ¢£¬ÒÔ´´½¨repodataÈí¼þ²Ö¿âÊý¾Ý£¨¾­gzipѹËõµÄxmlÎļþ£©¡£

mount /dev/cdrom /mnt //¹ÒÔØ¹âÅÌ

rpm -ivh /mnt/Packages/createrepo-0.9.8-4.el6.noarch.rpm

×¢Ò⣺°²×°createrepo°üʱҪÒÀÀµÒÔÏÂÁ½¸ö°ü£ºdeltarpmºÍpython-deltarpm£¬²»ÄܺöÂÔÕâÁ½¸ö°ü

°²×°FTP·þÎñÆ÷:

rpm -ivh /mnt/Packages/vsftpd-2¡­¡­..(°´TAB¼ü×Ô¶¯²¹Æë)

ÅäÖÃÈí¼þ²Ö¿âĿ¼£º

¿É²Î¿¼°²×°¹âÅ̵ÄServerĿ¼

mkdir/var/ftp/pub/Packages

mkdir/var/ftp/pub/repodata

´Ó¹âÅ̰ÑËùÓеÄRPM°ü¸´ÖƵ½/var/ftp/pub/PackagesĿ¼Ï£¨ÒªÈ·±£Ó²ÅÌÓÐ×ã¹»µÄ´ÅÅ̿ռ䣩

cp - a /mnt/Packages/* /var/ftp/pub/Packages/

´´½¨Èí¼þ²Ö¿âÐÅÏ¢Îļþ:

cd/var/ftp/pub/

createrepo --database ./

[root@serverpub]# ls repodata/

filelists.sqlite.bz2 other.sqlite.bz2 primary.sqlite.bz2 repomd.xml

filelists.xml.gz other.xml.gz primary.xml.gz

¿ÉÒÔ¿´µ½ÒѾ­´´½¨ºÃÁËÏàÓ¦µÄÈí¼þ²Ö¿âÐÅÏ¢Îļþ

ÔÚ¿Í»§¶ËÉÏ´´½¨À©Õ¹ÃûΪ.repoµÄÎļþ£¬ÄÚÈݲο¼ÉÏÃæµÄÉèÖá£

×÷Õߣºzhengyanru
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ