|
|
tid=21377&一、yum移除與安裝
$ [! c4 }. ^9 Z6 E9 Q3 c x$ `& a1.查詢是否有安裝yum# U R5 p& { I" ` ~ s
8 Y2 [9 y) i8 f9 n- [root@localhost ~]# rpm -qa | grep yum
2 K, F9 z; D& n! @1 y# O7 N7 K: j5 V - yum-metadata-parser-1.1.2-3.el5.centos3 _) ]( X) k- e
- yum-3.2.22-33.el5.centos
' K7 i: e- B5 ?3 T7 X9 ? - yum-fastestmirror-1.1.16-14.el5.centos.17 V! i5 c4 a5 ?" K& `, i: h0 x; [
- yum-updatesd-0.9-2.el5
複製代碼
9 V2 ?, N0 h1 o1 X2.移除yum (移除的方式有兩種擇一即可)4 b+ u& V; i; E. }# P
2.1用yum的方式移除1 U: K. h9 ^0 M. X$ m3 q O
- [root@localhost ~]# yum remove yum*
複製代碼
9 K/ Y& f9 {' I2.2用rpm -e的方式移除" z. U+ i+ H& [/ \! Y5 J6 @# R' ]
#先查看有那些yum檔案要移除的
3 @/ M5 q2 e# i, S, R" B- [root@localhost ~]# rpm -qa | grep yum, \1 [/ H/ {: b3 O
- yum-metadata-parser-1.1.2-3.el5.centos
6 S8 V4 l6 W3 {* H - yum-3.2.22-33.el5.centos
9 }+ W( P" u" h6 [+ F - yum-fastestmirror-1.1.16-14.el5.centos.12 [ ^$ V! }' {9 K2 b; U; M' z
- yum-updatesd-0.9-2.el5
複製代碼 7 F) l. I/ f t, R% h
#移除yum如果要忽略相依性的問題,可使用 --nodeps 選項
( K) L- B; W, B( w' Y3 r ^- [root@localhost ~]# rpm -e yum-metadata-parser-1.1.2-3.el5.centos
9 ^9 ?5 `; f3 n% l, ~ - [root@localhost ~]# rpm -e yum-3.2.22-33.el5.centos4 C. Q% G) Y9 Q2 v; N* j0 _
- [root@localhost ~]# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1' b+ g6 Y1 {8 b3 T, v
- [root@localhost ~]# rpm -e yum-updatesd-0.9-2.el5
複製代碼
) ]% y$ Z1 j& |! c4 Y! d' |二、安裝yum
; A5 X) S* W1 O1.安裝源
" c' i4 _' A6 p# B; \在安裝源的部份可以到以下的網址查看
# Q9 u1 r. W4 s' [+ y請依自行的需要找到安裝源
( ?) p" y- n7 Z" K4 V- F/ Ri386 :
, v+ e( _$ [ ?http://mirrors.sohu.com/centos/5/os/i386/CentOS/4 S; h, r9 z) x4 P6 c
http://mirror.centos.org/centos-5/5/os/i386/CentOS/
; _4 U$ d7 k. h0 P9 ~# h$ K- n4 D% ]& t" q) I
x86_64 : / ^$ |- a2 A w* }1 I
http://mirrors.sohu.com/centos/5/os/x86_64/CentOS/4 p* H/ o. @% H6 F# A
http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/" z4 J# D! J1 n" i
: f2 R* ^) E! [# M3 [( M; Z$ l, y0 Y: P
在yum的部份主要是使用到以下4個檔% f+ Q: _7 F0 \; U, t6 T( W' {
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm 0 \* |* G% Y+ W- e: I. O
yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm" T5 ]+ ~3 j- C
yum-3.2.22-37.el5.centos.noarch.rpm* `6 t, m6 x0 v" C
yum-updatesd-0.9-2.el5.noarch.rpm
4 u3 J% I4 ]5 @4 W" e9 A# w+ A! q' ^9 G4 H0 B* A
2安裝yum
$ p/ y+ ]4 C" z! q1 C$ mi386, o( b. [3 J: \7 q: W! H
- [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
- r8 q D) v0 r. y/ d - [root@localhost ~]# rpm -qa |grep yum
4 V5 y2 }. v _ - yum-updatesd-0.9-2.el5
* p j, ~. ?( f( u - yum-metadata-parser-1.1.2-3.el5.centos, [/ u3 }# f$ {9 n+ p9 c
- yum-fastestmirror-1.1.16-16.el5.centos/ P; B- f$ M7 r- G% ^ r9 L z" C
- yum-3.2.22-37.el5.centos
複製代碼 9 @' t. P m4 \2 |4 ~: k, Q
x86_64
( Q$ P4 g( ~# P- [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
) k; `, M) G7 w) T- y* I8 n( ^$ t - [root@localhost ~]# rpm -qa |grep yum7 D: n/ ]; ?1 T- v0 S
- yum-updatesd-0.9-2.el5
0 ]! i9 c- Z" d, U1 Z - yum-metadata-parser-1.1.2-3.el5.centos
0 B- r8 `, i4 j2 L" [- O, q# Z - yum-fastestmirror-1.1.16-16.el5.centos# t# v' W/ }9 d' E' u- P
- yum-3.2.22-37.el5.centos
複製代碼
/ I- j6 U& h4 G. G2.2更新所有已安裝的套件(依個人需求看是否更新)- \' S5 D1 o+ ^5 N
- [root@localhost ~]# yum -y update
複製代碼
}0 W: n& ?: _. A! a& y, m三、yum指令說明$ h w, A/ Y8 v6 y% Q- e- N
在使用yum時,會將下載的東西,存放在/var/cache/yum目錄下。6 b' Q7 G4 C% }. r
1.yum更新
- x% u6 I8 {; `- v: D3 Z; Fyum check-update
8 v/ R1 X, @* b#檢查能更新的套件有那些
8 G! r4 ?% d% @
& H _+ G ?! Y% Y! @1 V0 Xyum update
! t' W" Q1 W5 }7 S#更新所有已安裝的套件,若在update後面接上套件名稱的話可針對該套件更新( h0 g$ M, z' S" r
如yum update httpd& ~& D( q: U) \# g
* M. l% P* R' ]4 L- k
yum upgrade) l- }6 G( E8 P% w" Q) F
#功能跟update差不多,差別在於yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級。. H A l* D1 z& k( t- ?$ z
. _7 |2 [! [7 a w3 Y7 h$ N$ z1.1安裝.移除套件
$ ]! a7 j6 O" ^" ~3 B, Nyum install
: e' f7 ?4 ?$ P7 D. X#安裝套件,install後面接要安裝的套件名稱,如yum install httpd。若要把所有相關的一起安裝的話可在最後加上「*」。如yum install httpd*; [; O* O3 c: ?( a1 ]: U9 g7 n
& A7 h b$ e/ @yum --enablerepo=(Repository) install 安裝時只使用某個套件庫,如果多個,之間可以逗號分開,先查看/etc/yum.repos.d/有那些.repo/ D4 j$ S4 t8 `0 g
如yum --enablerepo remi,remi-php55 install php( W4 f3 b3 \/ q) i5 e: W# t0 m
+ _* R- u- O" f7 eyum reinstall重新安裝套件
2 } c( K$ j# n9 ~) z! n' h% o3 R, q2 p, ~
yum remove0 ]. h4 }8 ~3 L( a7 o- f
#移除套件,在這邊會考慮到相依性的問題,可以用yum deplist 找出所有相依套件,再手動一一移除不要的套件,跳過要保留的套件,如公用套件(升級套件可能會用到) 4 a8 }) j6 K) z, W7 @' H
) ^' n" ]3 o7 d# V: p
例如:
8 G9 s6 u! h, X- z% ~9 `6 N3 U9 ?( Wyum deplist httpd | grep -v httpd | grep provider | awk '{print $2}' | sort -u1 h& S, ]7 A- I. q( x
remove後可接要移除套件名稱,如yum remove httpd。若要把相關套件也一起移除的話可在最後加上「*」。如yum remove httpd*
1 W$ I& e# [0 `$ E4 w# {, n! m5 M% ]0 f- i' |
yum clean
o% W2 r l% C) E) Q/ e; ^ ]4 [#清除安裝下載時的暫存套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。
# y, P7 }- c; f! M6 T9 x- W3 @
9 r. R9 @( Q% ~& r" q1 C" L) E1.2清暫存
5 U" a2 f7 j3 eyum clean
, P- r9 Y* g( j$ }9 {#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum4 s$ |3 S9 h% E7 U8 l0 V5 A
8 n4 B( a! W( t2 r5 Y3 uyum clean packages1 |! a6 i8 z( d& f# R) i! h# w2 M
#用來清除暫存(/var/cache/yum)目錄下的套件
$ Z) w) c4 j [0 x4 K% n
" J: f7 R" B! J. y' |yum clean headers
9 k# S/ r5 l2 r8 n0 v* D#用來清除暫存(/var/cache/yum)目錄下的 headers
8 D+ F) o8 N2 m6 e3 a' f! H# e2 Z0 W- i
yum clean oldheaders: O; t" z) A0 u( r4 ]
#用來清除暫存(/var/cache/yum)目錄下的 oldheaders
9 _1 n% j) O9 I: k V" k
) w" H( q3 P) lyum clearn all
/ w$ F1 ~$ _) N4 q v$ i; _1 f#直接把所有的暫存都一次清除。
d9 Z, p7 G. j' y7 h7 A$ m4 h+ Q1 C
1.3列清單
6 ?* i- w' L% K5 ?; g) tyum list
! r; \/ Y; \# Q* m#列出所有Repository庫的套件,若在list後面接套件名稱,則可單獨列出該套件。
1 [* Z. G1 |- o: k# U) `( [$ |! w. v0 V" R
yum list updates% x+ X' U/ m' R9 Q% ]8 r& U
#列出所有可以更新的套件
* ~ p/ B" c1 s' c2 A# e. B% j6 k% f( q+ p1 G
yum list installed
5 w; u2 {8 r3 c9 v7 V- U: C6 M, C#列出所有已經安裝的套件
( q: _/ u. W5 a. ?6 G3 i" [! s9 ^$ q T9 X& I! j2 |' i0 z3 x
yum list extra
9 f% l% Q* v! `9 x& [. r. f#列出所有已安裝但不在 yum Repository庫 內的套件5 b0 T7 k3 ^! ^* w
0 X* t9 \+ H& X6 u1.4列出套件的相關資訊
1 _ L b# P" h( M3 A: ~- [yum info
5 y) }) a: n5 f" u#列出所有套件的相關資訊,若在info後接上套件名稱,則可單獨列出該套件相關資訊。
# K+ L1 C! ~) g; v5 k5 r0 w如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來7 s" k- K" B- B
% \1 D1 T5 t, o+ u# q" F
yum info updates
& n! N/ }* }, m#列出所有可以更新的套件資訊' c$ ?0 y7 D! o$ i! I
( H# q* u. p) [4 x7 c7 `- ^
yum info installed
Y/ D/ n4 V/ @& J. \#列出所有已安裝的套件資訊
* i, r1 S; ~0 [/ ]
, |9 A7 I1 e' E# h0 G$ Z7 D9 Lyum info extras
$ f( |% R; U+ _#列出所有已安裝但不在 Yum Repository庫 內的套件資訊
5 [& y" T! ]3 k" F" { D/ Y# [8 L, {4 E" j6 Y. |5 j* C! }
, P( M2 v3 @0 g9 c
1.5搜尋功能5 L$ s& K- p' x! l/ I1 g
yum search
3 ^/ O7 y9 E0 u#搜尋所有相關的套件,如yum search httpd,在從中找到所需要的套件。類似關鍵字的用途
9 C2 y& |# _6 `( i( `9 l: W, N4 O) |) d- i' `& {7 r/ \: _4 \: Z2 a
四、升級套件但不動kernel& {. d" o, o) N- n: e8 S6 U
如果想要用yum來升級套件,但又不想動到kernel的話。請參考下面做法2 D' {+ r' I* i) W2 H$ k' M* F6 c
[root@localhost ~]# vim /etc/yum.conf, e& C/ t/ w! A* B
#在[main]當中加入下面字串; B' d% I# j8 v2 q1 ?
exclude=kernel kernel-source6 v" j. _9 ~. W6 a* x& U
# v& l0 q# P, `, V
雖然說yum的用法很多,但是一般常用的大概就是安裝、更新和移除。剩下的等有用到才查看就可以了。* @# _5 Q' ^2 M
N6 Z- b4 A1 e6 l/ `! A
" I+ R4 ^8 N% R: E+ {3 {7 u% @有關yum常見的問題可以參考官網的解答; i8 ?* ]" _. }1 T
http://yum.baseurl.org/wiki/Faq' ^, x* P0 |6 h, k6 C7 f
8 B0 C+ S1 e/ S4 T7 j9 ^
3 H3 ~2 N& c9 ?! C, G* S註: 此篇參考於 http://ithelp.ithome.com.tw/question/10077313& N+ @: B2 \: c' v
* ]. L3 I. [; r- K! [( H
; K0 u& ]9 _% I
" x; f. q; Q0 m H1 `* r' I, n& Y2 a2 [8 v6 w
/ Y1 s x8 s- ?7 Z6 ~4 \7 ` P; O/ }" r% a
% A. G9 P) q: \' e4 h6 w5 ]
+ c" f$ r. K5 J" k) ^* l+ k
|
|