|
tid=21377&一、yum移除與安裝 7 R, N) q# k6 ^
1.查詢是否有安裝yum" C* @3 Y+ B2 L1 G' L5 x# ]5 n" `
/ y+ s8 @, u) S- [root@localhost ~]# rpm -qa | grep yum: Q5 S% W( E; X* Z1 e/ G
- yum-metadata-parser-1.1.2-3.el5.centos
, b# N# t. C/ K, Y8 f& S - yum-3.2.22-33.el5.centos6 m" I+ g) V6 |- Q% }
- yum-fastestmirror-1.1.16-14.el5.centos.10 k/ E% M9 x3 u& w& D
- yum-updatesd-0.9-2.el5
複製代碼 9 m _5 k" j$ a6 c7 f
2.移除yum (移除的方式有兩種擇一即可)
% T8 _! W9 S; v# {& {2.1用yum的方式移除, `- Q* x/ a6 g: J* f3 h
- [root@localhost ~]# yum remove yum*
複製代碼
, j7 q5 K3 ?, t' e- \ l7 d2.2用rpm -e的方式移除% C( _* T1 F2 S9 T* X; B) ?
#先查看有那些yum檔案要移除的
6 i1 K) e% s' I; z$ _$ j. M5 T$ E% [- [root@localhost ~]# rpm -qa | grep yum
# B& ]% V4 Y; C9 Q8 W7 s - yum-metadata-parser-1.1.2-3.el5.centos
9 M. l$ ]2 \1 A i9 |2 X2 V7 G - yum-3.2.22-33.el5.centos
; b" a2 \7 N N6 o' @ U - yum-fastestmirror-1.1.16-14.el5.centos.1) O# [% C. w0 e3 l
- yum-updatesd-0.9-2.el5
複製代碼
# n! S9 C0 z( r#移除yum如果要忽略相依性的問題,可使用 --nodeps 選項9 Z- z! ^6 q Q- e8 t) h
- [root@localhost ~]# rpm -e yum-metadata-parser-1.1.2-3.el5.centos
* J/ Z5 l! D) V; r9 _( ? - [root@localhost ~]# rpm -e yum-3.2.22-33.el5.centos
' [9 Y9 `5 p+ c$ S e3 U; _, k - [root@localhost ~]# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.16 W+ L4 ^; e3 R' a9 s% K3 ~! W
- [root@localhost ~]# rpm -e yum-updatesd-0.9-2.el5
複製代碼 3 y5 k# X% \& [+ J* O
二、安裝yum
& K" K; L% m$ Q$ }0 V, G7 \1.安裝源
8 Q4 I, ~7 m9 i! d: g在安裝源的部份可以到以下的網址查看' c8 ^9 i% _8 h, P
請依自行的需要找到安裝源
1 t. n7 q$ y' g Ui386 :
# u( w t6 i% i$ Lhttp://mirrors.sohu.com/centos/5/os/i386/CentOS/2 Z3 H' D& A+ m/ l
http://mirror.centos.org/centos-5/5/os/i386/CentOS/
5 c& _! d7 e; D( N3 i w1 g
% D. g- ]6 M' i; K# B' F7 ^0 O9 _x86_64 :
$ w0 \7 C& M5 w. thttp://mirrors.sohu.com/centos/5/os/x86_64/CentOS/4 G7 x0 r, N8 W
http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/, M9 c9 P1 H; x
( G) h( @/ p1 w
) k6 Q; S8 _6 {" \8 B% W
在yum的部份主要是使用到以下4個檔
& w' L2 B7 D5 F# m) Tyum-metadata-parser-1.1.2-3.el5.centos.i386.rpm 7 ^( J1 F; f) h3 w
yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm
* y) I. E* F# r* P- O- m/ c+ eyum-3.2.22-37.el5.centos.noarch.rpm
+ T4 x9 B7 J, `9 }7 l* A3 ]yum-updatesd-0.9-2.el5.noarch.rpm
5 ]: K) ^$ `% }' N; d" i+ u$ v
1 l2 S: X# w+ U6 y5 x2安裝yum0 o; F6 z# P4 g* l& p
i386
5 C& x9 i) Y" `5 q$ J- [root@localhost ~]# rpm -ivh http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/i386/CentOS/yum-updatesd-0.9-2.el5.noarch.rpm; S* r4 @5 S1 `, V7 \
- [root@localhost ~]# rpm -qa |grep yum8 a9 ]4 ?# V" v% k- n
- yum-updatesd-0.9-2.el5
1 j2 J2 R6 e/ ^0 ?' K - yum-metadata-parser-1.1.2-3.el5.centos) P! ?3 k& W! v! ?3 X
- yum-fastestmirror-1.1.16-16.el5.centos
+ S) z6 Z& I4 i3 U R; ]1 i - yum-3.2.22-37.el5.centos
複製代碼
- y* u, `( @+ o3 w9 R9 Rx86_64
$ H' w8 t( q) G* c$ E$ K- [root@localhost ~]# rpm -ivh http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-3.2.22-37.el5.centos.noarch.rpm http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/yum-updatesd-0.9-2.el5.noarch.rpm
! p' L \5 q Z8 K# y9 y4 Y - [root@localhost ~]# rpm -qa |grep yum
1 C w- S* e0 r0 Q6 k* |1 m c - yum-updatesd-0.9-2.el56 |, i6 ?6 h1 N8 h- J) b
- yum-metadata-parser-1.1.2-3.el5.centos/ r$ y0 |2 o3 R
- yum-fastestmirror-1.1.16-16.el5.centos
0 c& B R2 X: Z! ^; j0 Z - yum-3.2.22-37.el5.centos
複製代碼 6 _. n1 N- ^) m. h) _5 y" [
2.2更新所有已安裝的套件(依個人需求看是否更新)* H# `# b2 P8 g; h
- [root@localhost ~]# yum -y update
複製代碼
/ k2 M6 ^5 _0 W1 \% g- |三、yum指令說明$ f" v0 c1 _' h
在使用yum時,會將下載的東西,存放在/var/cache/yum目錄下。- {8 L7 u9 ^% e$ x6 c* i. q
1.yum更新
1 T. R5 y- y; u4 U% ~8 F& hyum check-update
) ~0 M# U- {, X2 T#檢查能更新的套件有那些
, ]0 G1 B4 O1 ^ D0 Z) y3 h
1 ]3 D, U7 P. @yum update
+ K4 Q M1 |5 {/ q1 D( z5 O#更新所有已安裝的套件,若在update後面接上套件名稱的話可針對該套件更新0 T) I. h/ Z( v9 M
如yum update httpd% G( K" [& o r9 v% r; n! J
8 ?( h& j7 g( ~. G0 R; s& h# k' ]& pyum upgrade
, L) D7 d+ a, d) c% {1 m r#功能跟update差不多,差別在於yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級。9 [' h8 w6 S) E% O7 F$ M5 h9 A$ ^: |
) V% p. f W' ^9 a1.1安裝.移除套件
: A* Y( a3 @, b. `; X' d3 V0 K+ N: @yum install
s( {1 B L$ o7 z( a# c7 g#安裝套件,install後面接要安裝的套件名稱,如yum install httpd。若要把所有相關的一起安裝的話可在最後加上「*」。如yum install httpd*0 Z$ K$ k# r% d: x: j. x
* ]' M6 ?$ [- G- oyum --enablerepo=(Repository) install 安裝時只使用某個套件庫,如果多個,之間可以逗號分開,先查看/etc/yum.repos.d/有那些.repo
+ w; v# f2 ]+ v$ h$ _, }% t如yum --enablerepo remi,remi-php55 install php
7 m7 F& }4 O6 [1 u
. `2 S1 C, d ^) W* w* Yyum reinstall重新安裝套件
# Y# r% G5 [& N$ ?9 n- X
+ ^, ~' t' ?2 B d/ `yum remove0 Q& ~3 X: k8 o2 k9 k" ?$ S9 V
#移除套件,在這邊會考慮到相依性的問題,可以用yum deplist 找出所有相依套件,再手動一一移除不要的套件,跳過要保留的套件,如公用套件(升級套件可能會用到)
4 [6 X* v" z# o& y6 H6 E% R' l& s1 R% {
例如:1 R- f4 P1 F5 p4 A0 {6 Q
yum deplist httpd | grep -v httpd | grep provider | awk '{print $2}' | sort -u
+ G9 r/ O8 {8 L. ?/ e: L# }remove後可接要移除套件名稱,如yum remove httpd。若要把相關套件也一起移除的話可在最後加上「*」。如yum remove httpd*3 U/ N1 R' y2 c6 Z: \6 H2 c
* m: D! b% B5 G7 G$ w! I wyum clean+ O- t: P& I; V1 I/ _! k
#清除安裝下載時的暫存套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。! y5 S' H, M [: O/ R
& G1 q& {/ ~6 }1.2清暫存
% e% A+ r. O/ X+ Z" Y; [' Yyum clean! W. k5 R& K9 {7 W8 `
#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum. B5 ^0 Z4 P' |2 B; m* b4 S( q& |
; M3 N8 f/ j( j/ J9 z/ ^yum clean packages
* C* ~4 g5 I+ i7 [( c+ K; _4 x#用來清除暫存(/var/cache/yum)目錄下的套件
0 |' Z; T0 ], j1 X( `$ U; [; j: G0 E6 ]
yum clean headers @0 H! i" ~/ | q3 r6 S
#用來清除暫存(/var/cache/yum)目錄下的 headers
* R: B+ k7 U7 }5 |: j; z) T4 g8 M8 c( E
yum clean oldheaders6 m5 a X/ J z/ ~* F V/ E
#用來清除暫存(/var/cache/yum)目錄下的 oldheaders
3 z( q$ M8 V1 E& {4 Q, N5 e5 g/ l% h3 ]* M, z: ~, v
yum clearn all
2 X' X6 g4 [( \- H7 s4 t& ^#直接把所有的暫存都一次清除。) M7 [5 G, l9 G: R5 d% Q$ D. e
2 T& ^- r1 S& C( |6 z- D) K/ p
1.3列清單/ D2 V: [; {7 d' `
yum list% E% ~9 l: }) Z7 C/ Q) H" i
#列出所有Repository庫的套件,若在list後面接套件名稱,則可單獨列出該套件。
: z& X2 B) E* M0 l* ?" G8 i' S% a. l6 ~! ]5 G
yum list updates
2 P. B5 ~6 K9 B# u. d#列出所有可以更新的套件
/ V, i. c& F4 h/ t1 p$ A+ \: F$ Y
/ L) a% f4 v7 E5 x/ vyum list installed: n5 g6 L, F; ?* T. G( k
#列出所有已經安裝的套件
- b! e5 |9 i! O4 A( X
A; f9 w2 c7 v7 x/ E4 s" M, t; \' Hyum list extra# Y+ R6 V0 K$ V+ F' z' I
#列出所有已安裝但不在 yum Repository庫 內的套件
7 d8 R) v$ Z8 r9 {/ @8 g$ G. |$ s. A( U! ]
1.4列出套件的相關資訊
7 q( `- P5 X( T3 Ryum info
5 u' }9 z) m1 r#列出所有套件的相關資訊,若在info後接上套件名稱,則可單獨列出該套件相關資訊。) g* q& N' E0 | j9 c! y$ y
如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來 W- {# S. {+ L2 _+ X2 g) W; ?
0 n8 [$ N% _: f, j. i
yum info updates
) K3 h- m/ G! D: T0 P; O$ ?#列出所有可以更新的套件資訊
" n0 Q a1 d! r# ]& i+ j- M/ S7 I9 l' w9 ]0 h
yum info installed
% k& ^7 w n0 i% M4 t: h#列出所有已安裝的套件資訊! e2 d$ n# }2 b0 P. \
/ _. l6 o5 v5 F J* c: Yyum info extras) l- X& [, S3 a' o
#列出所有已安裝但不在 Yum Repository庫 內的套件資訊
3 j J/ S2 r; C, {( u
% Z3 C9 K# }- y7 g$ g" @( v# F) l) o1 d+ l& K% G. R: E9 o
1.5搜尋功能4 c$ h& ] P* J t: n" u5 k6 K* }
yum search1 c6 K& ]# A, A% O
#搜尋所有相關的套件,如yum search httpd,在從中找到所需要的套件。類似關鍵字的用途
1 y8 X& B' F1 d1 H+ H, D) Q9 i& |5 Y# ?: H0 z
四、升級套件但不動kernel. k5 x: ^4 ^( R- l. L
如果想要用yum來升級套件,但又不想動到kernel的話。請參考下面做法
: u' g. P" m o" R2 ~[root@localhost ~]# vim /etc/yum.conf
5 }, j: r7 a5 x4 Y* B#在[main]當中加入下面字串
" I/ J* I: m7 ^( Q B' u7 v& \ ~4 ]exclude=kernel kernel-source
0 q. A; s, I5 l {$ o" e! L2 v9 l n; Q6 k
雖然說yum的用法很多,但是一般常用的大概就是安裝、更新和移除。剩下的等有用到才查看就可以了。
8 W( v" V5 H/ {* h: O; J5 d
# Z. e) D9 e6 g6 v( Z/ j
/ H) b. r" g" N$ ?. T有關yum常見的問題可以參考官網的解答) ]2 Q; _4 _% V+ ?
http://yum.baseurl.org/wiki/Faq1 |9 S. k' X2 P4 v. t3 Q+ W
2 C. [0 x7 s: B, m
: c& U; ~& [6 H% B& t! i2 l) ^* {' j
註: 此篇參考於 http://ithelp.ithome.com.tw/question/10077313* u: S0 L/ g5 }0 D. @' x6 N
7 P) S7 d" c: R+ t; Z3 u2 H: _+ P
& G1 D4 J' `4 B; [# Z1 x- w
1 o) S% k: w3 j- Z$ A
2 } O% i& w! p; C6 B. p( F
" D& D/ b S2 W J8 d% D& _4 ]- Y! Z$ t B8 T, e
7 [/ D/ z, b7 ^* @4 P& m
|
|