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

LinuxÈí¼þ°²×°Ö®RPMµÄ°²×°¼¼ÇÉ

·¢²¼Ê±¼ä:2006-10-08 00:46:13À´Ô´:ºìÁª×÷Õß:Ííµã
1.ÈçºÎ°²×°rpmÈí¼þ°ü
rmpÈí¼þ°üµÄ°²×°¿ÉÒÔʹÓóÌÐòrpmÀ´Íê³É¡£Ö´ÐÐÏÂÃæµÄÃüÁî
rpm -i your-package.rpm
ÆäÖÐyour-package.rpmÊÇÄãÒª°²×°µÄrpm°üµÄÎļþÃû£¬Ò»°ãÖÃÓÚµ±Ç°Ä¿Â¼Ï¡£
°²×°¹ý³ÌÖпÉÄܳöÏÖÏÂÃæµÄ¾¯¸æ»òÕßÌáʾ£º
... conflict with ... ¿ÉÄÜÊÇÒª°²×°µÄ°üÀïÓÐһЩÎļþ¿ÉÄܻḲ¸ÇÏÖÓÐ
µÄÎļþ£¬È±Ê¡Ê±ÕâÑùµÄÇé¿öÏÂÊÇÎÞ·¨ÕýÈ·°²×°µÄ¿ÉÒÔÓÃ
rpm --force -i Ç¿ÖÆ°²×°¼´¿É
... is needed by ...
... is not installed ... ´Ë°üÐèÒªµÄһЩÈí¼þÄãûÓа²×°¿ÉÒÔÓÃ
rpm --nodeps -i À´ºöÂÔ´ËÐÅÏ¢
Ò²¾ÍÊÇ˵£¬rpm -i --force --nodeps ¿ÉÒÔºöÂÔËùÓÐÒÀÀµ¹ØÏµºÍÎļþÎÊÌ⣬ʲô°ü
¶¼Äܰ²×°ÉÏ£¬µ«ÕâÖÖÇ¿ÖÆ°²×°µÄÈí¼þ°ü²»Äܱ£Ö¤ÍêÈ«·¢»Ó¹¦ÄÜ

2.ÈçºÎ°²×°.src.rpmÈí¼þ°ü
ÓÐЩÈí¼þ°üÊÇÒÔ.src.rpm½áβµÄ£¬ÕâÀàÈí¼þ°üÊǰüº¬ÁËÔ´´úÂëµÄrpm°ü£¬ÔÚ°²×°Ê±
ÐèÒª½øÐбàÒë¡£ÕâÀàÈí¼þ°üÓÐÁ½ÖÖ°²×°·½·¨£¬
·½·¨Ò»£º
1.Ö´ÐÐrpm -i your-package.src.rpm
2. cd /usr/src/redhat/SPECS
3. rpmbuild -bp your-package.specs Ò»¸öºÍÄãµÄÈí¼þ°üͬÃûµÄspecsÎļþ
4. cd /usr/src/redhat/BUILD/your-package/ Ò»¸öºÍÄãµÄÈí¼þ°üͬÃûµÄĿ¼
5. ./configure ÕâÒ»²½ºÍ±àÒëÆÕͨµÄÔ´ÂëÈí¼þÒ»Ñù£¬¿ÉÒÔ¼ÓÉϲÎÊý
6. make
7. make install

·½·¨¶þ:
1.Ö´ÐÐrpm -i you-package.src.rpm
2. cd /usr/src/redhat/SPECS
ǰÁ½²½ºÍ·½·¨Ò»Ïàͬ
3. rpmbuild -bb your-package.specs Ò»¸öºÍÄãµÄÈí¼þ°üͬÃûµÄspecsÎļþ
Õâʱ£¬ÔÚ/usr/src/redhat/RPM/i386/ £¨¸ù¾Ý¾ßÌå°üµÄ²»Í¬£¬Ò²¿ÉÄÜÊÇi686,noarchµÈµÈ)
ÔÚÕâ¸öĿ¼Ï£¬ÓÐÒ»¸öеÄrpm°ü£¬Õâ¸öÊDZàÒëºÃµÄ¶þ½øÖÆÎļþ¡£
Ö´ÐÐrpm -i new-package.rpm¼´¿É°²×°Íê³É¡£

3.ÈçºÎÐ¶ÔØrpmÈí¼þ°ü
ʹÓÃÃüÁî rpm -e °üÃû£¬°üÃû¿ÉÒÔ°üº¬°æ±¾ºÅµÈÐÅÏ¢£¬µ«ÊDz»¿ÉÒÔÓкó׺.rpm
±ÈÈçÐ¶ÔØÈí¼þ°üproftpd-1.2.8-1£¬¿ÉÒÔʹÓÃÏÂÁиñʽ£º
rpm -e proftpd-1.2.8-1
rpm -e proftpd-1.2.8
rpm -e proftpd-
rpm -e proftpd
²»¿ÉÒÔÊÇÏÂÁиñʽ£º
rpm -e proftpd-1.2.8-1.i386.rpm
rpm -e proftpd-1.2.8-1.i386
rpm -e proftpd-1.2
rpm -e proftpd-1
ÓÐʱ»á³öÏÖһЩ´íÎó»òÕß¾¯¸æ£º
... is needed by ... Õâ˵Ã÷Õâ¸öÈí¼þ±»ÆäËûÈí¼þÐèÒª£¬²»ÄÜËæ±ãÐ¶ÔØ
¿ÉÒÔÓÃrpm -e --nodepsÇ¿ÖÆÐ¶ÔØ

4.ÈçºÎ²»°²×°µ«ÊÇ»ñÈ¡rpm°üÖеÄÎļþ
ʹÓù¤¾ßrpm2cpioºÍcpio
rpm2cpio xxx.rpm | cpio -vi
rpm2cpio xxx.rpm | cpio -idmv
rpm2cpio xxx.rpm | cpio --extract --make-directories
²ÎÊýiºÍextractÏàͬ£¬±íʾÌáÈ¡Îļþ¡£v±íʾָʾִÐнø³Ì
dºÍmake-directoryÏàͬ£¬±íʾ¸ù¾Ý°üÖÐÎļþÔ­À´µÄ·¾¶½¨Á¢Ä¿Â¼
m±íʾ±£³ÖÎļþµÄ¸üÐÂʱ¼ä¡£

5.ÈçºÎ²é¿´Óërpm°üÏà¹ØµÄÎļþºÍÆäËûÐÅÏ¢
ÏÂÃæËùÓеÄÀý×Ó¶¼¼ÙÉèʹÓÃÈí¼þ°ümysql-3.23.54a-11
1.ÎÒµÄϵͳÖа²×°ÁËÄÇЩrpmÈí¼þ°ü
rpm -qa ½²ÁгöËùÓа²×°¹ýµÄ°ü
Èç¹ûÒª²éÕÒËùÓа²×°¹ýµÄ°üº¬Ä³¸ö×Ö·û´®sqlµÄÈí¼þ°ü
rpm -qa |grep sql

2.ÈçºÎ»ñµÃij¸öÈí¼þ°üµÄÎļþÈ«Ãû
rpm -q mysql ¿ÉÒÔ»ñµÃϵͳÖа²×°µÄmysqlÈí¼þ°üÈ«Ãû£¬´ÓÖпÉÒÔ»ñµÃ
µ±Ç°Èí¼þ°üµÄ°æ±¾µÈÐÅÏ¢¡£Õâ¸öÀý×ÓÖпÉÒԵõ½ÐÅÏ¢mysql-3.23.54a-11

3.Ò»¸örpm°üÖеÄÎļþ°²×°µ½ÄÇÀïÈ¥ÁË£¿
rpm -ql °üÃû
×¢ÒâÕâÀïµÄÊDz»°üÀ¨.rpmºó׺µÄÈí¼þ°üµÄÃû³Æ
Ò²¾ÍÊÇ˵ֻÄÜÓÃmysql»òÕßmysql-3.23.54a-11¶ø²»ÊÇmysql-3.23.54a-11.rpm¡£
Èç¹ûÖ»ÊÇÏëÖªµÀ¿ÉÖ´ÐгÌÐò·Åµ½ÄÇÀïÈ¥ÁË£¬Ò²¿ÉÒÔÓÃwhich£¬±ÈÈç
which mysql

4.Ò»¸örpm°üÖаüº¬ÄÇЩÎļþ
Ò»¸öûÓа²×°¹ýµÄÈí¼þ°ü£¬Ê¹ÓÃrpm -qlp ****.rpm
Ò»¸öÒѾ­°²×°¹ýµÄÈí¼þ°ü£¬»¹¿ÉÒÔʹÓÃrpm -ql ****.rpm

5.ÈçºÎ»ñÈ¡¹ØÓÚÒ»¸öÈí¼þ°üµÄ°æ±¾£¬ÓÃ;µÈÏà¹ØÐÅÏ¢£¿
Ò»¸öûÓа²×°¹ýµÄÈí¼þ°ü£¬Ê¹ÓÃrpm -qip ****.rpm
Ò»¸öÒѾ­°²×°¹ýµÄÈí¼þ°ü£¬»¹¿ÉÒÔʹÓÃrpm -qi ****.rpm

6.ij¸ö³ÌÐòÊÇÄĸöÈí¼þ°ü°²×°µÄ£¬»òÕßÄĸöÈí¼þ°ü°üº¬Õâ¸ö³ÌÐò
rpm -qf `which ³ÌÐòÃû` ·µ»ØÈí¼þ°üµÄÈ«Ãû
rpm -qif `which ³ÌÐòÃû` ·µ»ØÈí¼þ°üµÄÓйØÐÅÏ¢
rpm -qlf `which ³ÌÐòÃû` ·µ»ØÈí¼þ°üµÄÎļþÁбí
×¢Ò⣬ÕâÀï²»ÊÇÒýºÅ£¬¶øÊÇ`£¬¾ÍÊǼüÅÌ×óÉϽǵÄÄǸö¼ü¡£
Ò²¿ÉÒÔʹÓÃrpm -qilf£¬Í¬Ê±Êä³öÈí¼þ°üÐÅÏ¢ºÍÎļþÁбí

7.ij¸öÎļþÊÇÄĸöÈí¼þ°ü°²×°µÄ£¬»òÕßÄĸöÈí¼þ°ü°üº¬Õâ¸öÎļþ
×¢Ò⣬ǰһ¸öÎÊÌâÖеķ½·¨£¬Ö»ÊÊÓÃÓë¿ÉÖ´ÐеijÌÐò£¬¶øÏÂÃæµÄ·½·¨£¬²»½ö¿ÉÒÔ
ÓÃÓÚ¿ÉÖ´ÐгÌÐò£¬Ò²¿ÉÒÔÓÃÓÚÆÕͨµÄÈκÎÎļþ¡£Ç°ÌáÊÇÖªµÀÕâ¸öÎļþÃû¡£
Ê×ÏÈ»ñµÃÕâ¸ö³ÌÐòµÄÍêÕû·¾¶£¬¿ÉÒÔÓÃwhereis»òÕßwhich£¬È»ºóʹÓÃrpm -qfÀýÈ磺
# whereis ftptop
ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz
# rpm -qf /usr/bin/ftptop
proftpd-1.2.8-1
# rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt
proftpd-1.2.8-1

×ܽ᣺
»ñµÃÈí¼þ°üÏà¹ØµÄÐÅÏ¢ÓÃrpm -q£¬q±íʾ²éѯquery£¬ºóÃæ¿ÉÒÔ¸úÆäËûÑ¡Ï±ÈÈç
i ±íʾinfo£¬»ñµÃÈí¼þ°üµÄÐÅÏ¢£»
l ±íʾlist£¬»ñµÃÎļþÁÐ±í£»
a ±íʾall£¬ÔÚËùÓаüÖÐÖ´Ðвéѯ£»
f ±íʾfile£¬¸ù¾ÝÎļþ½øÐÐÏà¹ØµÄ²éѯ£»
p ±íʾpackage£¬¸ù¾ÝÈí¼þ°ü½øÐвéѯ
ÐèÒªµÄ²éѯÌõ¼þ¿ÉÒÔʹÓÃgrep²úÉú£¬»òÕß´Ó"` `"ÖеÄÃüÁîÐвúÉú

6.¹ØÓÚrpmÈí¼þ°üµÄһЩÏà¹ØÖªÊ¶
1.ʲôÊÇrpm
rpm ¼´RedHat Package Management£¬ÊÇRedHatµÄ·¢Ã÷Ö®Ò»

2.ΪʲôÐèÒªrpm
ÔÚÒ»¸ö²Ù×÷ϵͳÏ£¬ÐèÒª°²×°ÊµÏÖ¸÷ÖÖ¹¦ÄܵÄÈí¼þ°ü¡£ÕâЩÈí¼þ°üÒ»°ã¶¼Óи÷×ÔµÄ
³ÌÐò£¬µ«ÊÇͬʱҲÓдí×Û¸´ÔÓµÄÒÀÀµ¹ØÏµ¡£Í¬Ê±»¹ÐèÒª½â¾öÈí¼þ°üµÄ°æ±¾£¬ÒÔ¼°°²×°£¬
ÅäÖã¬Ð¶ÔصÄ×Ô¶¯»¯ÎÊÌ⡣ΪÁ˽â¾öÕâЩÎÊÌ⣬RedHatÕë¶Ô×Ô¼ºµÄϵͳÌá³öÁËÒ»¸ö
½ÏºÃµÄ°ì·¨À´¹ÜÀí³ÉǧÉϰٵÄÈí¼þ¡£Õâ¾ÍÊÇRPM¹ÜÀíϵͳ¡£ÔÚϵͳÖа²×°ÁËrpm¹ÜÀíϵͳ
ÒÔºó£¬Ö»ÒªÊÇ·ûºÏrpmÎļþ±ê×¼µÄ´ò°üµÄ³ÌÐò¶¼¿ÉÒÔ·½±ãµÄ°²×°£¬Éý¼¶£¬Ð¶ÔØ

3.ÊDz»ÊÇËùÓеÄlinux¶¼Ê¹ÓÃrpm
ÈκÎϵͳ¶¼ÐèÒª°ü¹ÜÀíϵͳ£¬Òò´ËºÜ¶àlinux¶¼Ê¹ÓÃrpmϵͳ¡£µ«rpmϵͳÊÇΪRHרÃÅ
µ«ÊÇTL,MandrakeµÈϵͳҲ¶¼Ê¹ÓÃrpm¡£ÓÉÓÚrpmµÄÔ´³ÌÐò¿ÉÒÔÔÚ±ðµÄϵͳÉϽøÐбàÒ룬
ËùÒÔÓпÉÄÜÔÚ±ðµÄϵͳÉÏҲʹÓÃrpm
³ýÁËrpm£¬ÆäËûһЩϵͳҲÓÐ×Ô¼ºµÄÈí¼þ°ü¹ÜÀí³ÌÐò£¬ÀýÈçdebianµÄdeb°ü£¬
slakwareÒ²¶¼ÓÐ×Ô¼ºµÄ°ü¹ÜÀíϵͳ

4.rpm°üµÄÎļþÃûΪʲôÄÇô³¤
rpm°üµÄÎļþÃûÖаüº¬ÁËÕâ¸öÈí¼þ°üµÄ°æ±¾ÐÅÏ¢£¬²Ù×÷ϵͳÐÅÏ¢£¬Ó²¼þÒªÇóµÈµÈ¡£
±ÈÈçmypackage-1.1-2TL.i386.rpm£¬ÆäÖÐmypackageÊÇÔÚϵͳÖеǼǵÄÈí¼þ°üµÄÃû×Ö
1.1ÊÇÈí¼þµÄ°æ±¾ºÅ£¬2ÊÇ·¢Ðкţ¬TL±íʾÓÃÓÚTL²Ù×÷ϵͳ£¬»¹¿ÉÄÜÊÇRHµÈ¡£i386±íʾ
ÓÃÓÚintel x86ƽ̨£¬»¹¿ÉÄÜÊÇsparcµÈ¡£

5.Èí¼þ°üÎļþÃûÖеÄi386,i686ÊÇʲôÒâ˼
rpmÈí¼þ°üµÄÎļþÃûÖУ¬²»½ö°üº¬ÁËÈí¼þÃû³Æ£¬°æ±¾ÐÅÏ¢£¬»¹°üÀ¨ÁËÊÊÓõÄÓ²¼þ¼Ü¹¹
µÄÐÅÏ¢¡£
i386Ö¸Õâ¸öÈí¼þ°üÊÊÓÃÓÚintel 80386ÒÔÉϵÄx86¼Ü¹¹µÄ¼ÆËã»ú(AI32)
i686Ö¸Õâ¸öÈí¼þ°üÊÊÓÃÓÚintel 80686ÒÔÉÏ(±¼ÌÚproÒÔÉÏ)µÄx86¼Ü¹¹µÄ¼ÆËã»ú(IA32)
noarchÖ¸Õâ¸öÈí¼þ°üÓÚÓ²¼þ¼Ü¹¹Î޹أ¬¿ÉÒÔͨÓá£
i686Èí¼þ°üµÄ³ÌÐòͨ³£Õë¶ÔCPU½øÐÐÁËÓÅ»¯£¬ËùÒÔ£¬Ïòºó¼æÈݱȽÏÓÃÒÔ£¬i386µÄ°üÔÚ
x86»úÆ÷É϶¼¿ÉÒÔÓá£Ïòǰһ°ã²»¼æÈÝ¡£²»¹ýÏÖÔڵļÆËã»ú£¬±¼ÌÚproÒÔϵÄCPUÒѾ­ºÜÉÙ
Óã¬Í¨³£ÅäÖõĻúÆ÷¶¼¿ÉÒÔʹÓÃi686Èí¼þ°ü

6.²»Í¬²Ù×÷ϵͳ·¢ÐеÄrpm°ü¿É·ñ»ìÓã¿
¶ÔÓÚÒѾ­±àÒë³É¶þ½øÖƵÄrpm°ü£¬ÓÉÓÚ²Ù×÷ϵͳ»·¾³²»Í¬£¬Ò»°ã²»ÄÜ»ìÓá£
¶ÔÓÚÒÔsrc.rpm·¢ÐеÄÈí¼þ°ü£¬ÓÉÓÚÐèÒª°²×°Ê±½øÐб¾µØ±àÒ룬ËùÒÔͨ³£¿ÉÒÔÔÚ²»Í¬
ϵͳϰ²×°¡£

7.ʹÓÃrpmʱÓöµ½µÄÒ»Ð©ÌØÊâÎÊÌâ
Q ÎÒÓÃrpm -e **.rpmÎÞ·¨É¾³ýrpm°ü
A °üÃû²»Òª°üÀ¨rpm£¬
rpm -e °üÃû£¬¿ÉÒÔ°üº¬°æ±¾ºÅµÈÐÅÏ¢£¬µ«ÊDz»¿ÉÒÔÓкó׺.rpm

Q ÔÚMSµÄϵͳÏÂÓÐûÓжÁRPMÎļþµÄ¹¤¾ß£¿
A wincmd with rpm plugins.....

Q ÊÇ·ñ¿ÉÒÔͨ¹ýftp°²×°°²×°Éý¼¶rpm°ü£¿
A ¿ÉÒÔ¡£rpm -ivh ftp://xxxxxxxx/PATH2SomeRPM

Q rpm°²×°Ê±ÒÑÓеİü°æ±¾¹ý¸ßÔõô°ì£¿
A ÓÐʱÓÉÓÚ°²×°µÄÈí¼þ°üÌ«ÀÏ£¬¶øÏµÍ³ÖÐÏà¹ØµÄÈí¼þ°ü°æ±¾±È½ÏУ¬ËùÒÔ¿ÉÄÜÐèÒª
°²×°µÄ°üÒÀÀµµÄһЩÎļþ»áÕÒ²»µ½¡£ÕâʱÓÐÁ½ÖÖ½â¾ö°ì·¨£¬
µÚÒ»ÊÇÔÚϵͳÎļþÖÐÕÒµ½ºÍÐèÒªµÄÎļþ¹¦ÄÜÏàͬ»òÏàËÆµÄÎļþ£¬×öÒ»¸ö·ûºÅÁ´½Óµ½
ÐèÒªµÄĿ¼Ï¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. 201000 ÓÚ 2006-10-08 22:54:22·¢±í:

    ²»´í£¬ÎÒϲ»¶