|
|
tid=21377&一、yum移除與安裝 9 U$ |) t8 \% P8 B8 I; i
1.查詢是否有安裝yum: |) c! o) X" X2 O: h }- u- S- b4 r
) S) V* }2 u. _- Q O7 m
- [root@localhost ~]# rpm -qa | grep yum
' @$ O! @6 i/ \ - yum-metadata-parser-1.1.2-3.el5.centos
8 _. U* G! D) K" G4 t' o- [ - yum-3.2.22-33.el5.centos
+ T& U/ A5 i; Z) r) s% C. v - yum-fastestmirror-1.1.16-14.el5.centos.1
; _- R6 C6 i. [, {, Z0 q8 p1 J5 p - yum-updatesd-0.9-2.el5
複製代碼
5 c$ e( K( U6 i" h2.移除yum (移除的方式有兩種擇一即可)" m( z4 M$ v2 Y# u; L
2.1用yum的方式移除
% ?) `0 ~1 |8 q# K( j- [root@localhost ~]# yum remove yum*
複製代碼
8 Y; y; ~; r; k' M! ]2.2用rpm -e的方式移除
|- {7 ]+ K" \" ^#先查看有那些yum檔案要移除的
( g: q5 B7 D; A- B- j) G3 ~- [root@localhost ~]# rpm -qa | grep yum8 e* p; ^' \! x. l6 @ R( B
- yum-metadata-parser-1.1.2-3.el5.centos0 l+ p. [" D" v# i
- yum-3.2.22-33.el5.centos4 G P& C4 h( z7 H( J/ e
- yum-fastestmirror-1.1.16-14.el5.centos.1) c4 ]) x% Z! g: A; o
- yum-updatesd-0.9-2.el5
複製代碼
; W7 O* H' ~3 `#移除yum如果要忽略相依性的問題,可使用 --nodeps 選項; b; F* z; F- W* w1 D. v Z% W
- [root@localhost ~]# rpm -e yum-metadata-parser-1.1.2-3.el5.centos
8 D; D3 a$ [ b2 m3 U - [root@localhost ~]# rpm -e yum-3.2.22-33.el5.centos, l" F% K% a- F3 x. M' N g
- [root@localhost ~]# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1
( c0 Z7 `5 o$ U+ I: [ - [root@localhost ~]# rpm -e yum-updatesd-0.9-2.el5
複製代碼 5 `0 [& B' [/ t6 N" r6 D
二、安裝yum" E' X# [2 f% e' [# P
1.安裝源
4 ]4 O7 x& L6 Z2 F! [" q7 o在安裝源的部份可以到以下的網址查看
* @, l4 G9 @* j/ [請依自行的需要找到安裝源
; A5 X4 ~% V, ^: G+ u, ci386 : + Y! ?+ C3 D8 h( f" F4 Y! f- \5 W
http://mirrors.sohu.com/centos/5/os/i386/CentOS/# ]4 [2 ]& |5 O+ X) n5 W
http://mirror.centos.org/centos-5/5/os/i386/CentOS/8 a& j+ m0 _/ e
: M0 c. m/ O* O, v# Z* k$ l0 Cx86_64 : # B0 I" I( q9 V# w6 P5 E
http://mirrors.sohu.com/centos/5/os/x86_64/CentOS/
* _; A% }& w3 P7 T# Xhttp://mirror.centos.org/centos-5/5/os/x86_64/CentOS/
1 K6 `* l: P' u2 a' Z) P( W6 p8 S! Y" T% _* U; G: @& `
4 w5 E' z* M; G9 _, t) w2 K) Z9 x在yum的部份主要是使用到以下4個檔
Y9 O8 ~- M; Hyum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
* f- v; J- x+ ~. F: N& uyum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm' x' o6 z+ G( f6 B, E; @
yum-3.2.22-37.el5.centos.noarch.rpm- ^1 y2 z G# j! ^$ b
yum-updatesd-0.9-2.el5.noarch.rpm% v; c8 ^8 x# F! @
) S; S% d$ q0 @/ L2安裝yum* m1 p# {7 v% g: a1 |
i386
0 p3 e& u/ R+ ?, u- [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
5 T' x! n" k% F% @. G% g2 A5 {; ] - [root@localhost ~]# rpm -qa |grep yum& _+ W0 f. E4 h, B8 K& Y1 h- s1 D
- yum-updatesd-0.9-2.el5, X8 M* Y0 K" I1 F/ ^& x% p
- yum-metadata-parser-1.1.2-3.el5.centos9 @- g0 ?2 S+ `6 U/ H
- yum-fastestmirror-1.1.16-16.el5.centos8 I! {4 m2 a3 \( O# |
- yum-3.2.22-37.el5.centos
複製代碼 " d$ o' F/ Y$ w! q; V
x86_643 }" H1 e; ]- \' q1 `: ^" D
- [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
* u C* N3 l( C/ ^6 ` - [root@localhost ~]# rpm -qa |grep yum
7 f% ~# e! c) c) \. M - yum-updatesd-0.9-2.el55 O; i8 j$ `6 S8 s5 m
- yum-metadata-parser-1.1.2-3.el5.centos
' z& Z7 G9 d9 ^5 {4 l, Y - yum-fastestmirror-1.1.16-16.el5.centos
' Y1 \7 |# {8 V( T$ b0 u+ @ - yum-3.2.22-37.el5.centos
複製代碼
2 X! E: K, S0 ^9 p. m2.2更新所有已安裝的套件(依個人需求看是否更新)# v- }* o1 N/ G; o' T- ?5 A
- [root@localhost ~]# yum -y update
複製代碼
- Q% K+ L/ @* f/ z/ p3 q, Z" ]三、yum指令說明
) p: A: Y4 Q0 p8 |0 {2 N( F& x. `在使用yum時,會將下載的東西,存放在/var/cache/yum目錄下。
3 I2 d ^ x( P9 y8 H( L1.yum更新6 q/ c& F9 e3 q1 B7 H6 a5 G
yum check-update : R! _' F1 e) D+ Q
#檢查能更新的套件有那些, b7 g, h3 `% ]# ]# f
! b! U ]/ N, N5 D
yum update 5 l8 w2 `, D. |) H# R
#更新所有已安裝的套件,若在update後面接上套件名稱的話可針對該套件更新& P `; S+ A& w
如yum update httpd1 Z$ Y% O; \8 E( `& U$ e
3 m9 I d$ M- i. K/ r
yum upgrade
' ^! g7 W% v' B* W#功能跟update差不多,差別在於yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級。2 p _( D+ ~' l' q" N3 z
6 x# U0 v: Z% f6 F* f& e! ?
1.1安裝.移除套件# k' i( h$ r7 P* o: |
yum install
1 R% R0 F2 b$ }0 K5 J0 \' U9 ?+ [#安裝套件,install後面接要安裝的套件名稱,如yum install httpd。若要把所有相關的一起安裝的話可在最後加上「*」。如yum install httpd*; b1 N! u) L$ R. G& W* U
5 Z6 S8 T T4 P' X" M
yum --enablerepo=(Repository) install 安裝時只使用某個套件庫,如果多個,之間可以逗號分開,先查看/etc/yum.repos.d/有那些.repo" @# M2 K; z$ y3 S7 w
如yum --enablerepo remi,remi-php55 install php
. S6 `0 z1 e, m* J* }4 Y7 u* Z( C+ `/ k- E; B. Q2 ~
yum reinstall重新安裝套件6 v: L, c; [4 o1 B2 z
( V/ x/ O4 X- [8 c( G$ D
yum remove
4 X; Z8 {" y( Q/ L* e* T#移除套件,在這邊會考慮到相依性的問題,可以用yum deplist 找出所有相依套件,再手動一一移除不要的套件,跳過要保留的套件,如公用套件(升級套件可能會用到) + l; |1 u _& C$ I& k! t
1 M# i$ I, |" c# b$ D5 z. ]+ K) l7 M+ ?
例如:6 B- A9 C/ \- C8 a, t& f
yum deplist httpd | grep -v httpd | grep provider | awk '{print $2}' | sort -u
8 u% w1 ~+ T% N- N! h7 L* |remove後可接要移除套件名稱,如yum remove httpd。若要把相關套件也一起移除的話可在最後加上「*」。如yum remove httpd*
( m' `8 V' L+ L( L: t) F, w1 k# w/ h$ \1 M; |
yum clean1 E5 C) `7 P3 c, k7 }; r, S4 P
#清除安裝下載時的暫存套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。
# i; y) M5 b! Y6 d6 [1 T( B. F/ p; V% D$ A5 e
1.2清暫存
/ H! h: w, A; pyum clean
5 ]7 p; m2 G" L0 |#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum& q+ D* j+ i5 O7 M ]
1 X# r, c2 S% R- w) t3 U; X, X5 B6 e |/ xyum clean packages7 z! a$ n6 o# [9 ?
#用來清除暫存(/var/cache/yum)目錄下的套件$ i; T! c" Q4 v( B/ Y
+ X* ~( B) U5 i1 I. @yum clean headers
* m+ y- Z) s" \' ?+ H/ h#用來清除暫存(/var/cache/yum)目錄下的 headers4 r0 n0 i4 W& G! h. k( q
8 y) m$ f6 R2 p! U
yum clean oldheaders
k% K, s, I5 \8 y( @#用來清除暫存(/var/cache/yum)目錄下的 oldheaders
2 L$ r! ]# R4 Q1 D5 B7 V2 ^! x2 x0 J8 U* c# f- s
yum clearn all
" _, t. N& {0 t* d$ [$ m! F6 o#直接把所有的暫存都一次清除。; C" Q! r; t% x* I% |- Q! ?# K
5 F- ?: W' \4 o. _5 q1.3列清單' y- D1 A& o e1 y* j
yum list
8 ~* o7 K8 @% w+ v- d#列出所有Repository庫的套件,若在list後面接套件名稱,則可單獨列出該套件。- v# M8 U& `4 o* M, X) c U
7 K# c" X u A2 e5 W; w
yum list updates: L2 [7 D% s9 K
#列出所有可以更新的套件: U4 a% b, t4 B3 Y
6 { l/ J/ Q0 ^* Z1 g! A0 X
yum list installed7 {/ o* O6 M, [( t9 A
#列出所有已經安裝的套件
/ J8 j, A8 B6 C* z+ a6 g( O$ o$ C' R& d7 E8 e# H1 Z/ q
yum list extra. s5 R% d! j5 j* s9 d
#列出所有已安裝但不在 yum Repository庫 內的套件5 s+ Y1 W; j, y3 |
% S2 E# H& n7 [6 R9 S1.4列出套件的相關資訊
! r, }- r8 y% C2 kyum info4 g7 O2 x( O# I5 j9 k( [
#列出所有套件的相關資訊,若在info後接上套件名稱,則可單獨列出該套件相關資訊。
: }8 G4 t$ |/ a如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來
6 I- A- ]1 C3 ]6 e; r; w8 |! z6 u2 a# q, s" s/ _
yum info updates
+ S# I7 y4 c0 A- R4 \#列出所有可以更新的套件資訊
5 M. e/ P! O" G
* g: d9 m1 U( ^* F( L# [0 g) ryum info installed
) y: f K' [% g#列出所有已安裝的套件資訊
+ x( F9 h, P. S# [- c1 V
7 X- C5 P, K6 s/ V1 eyum info extras
6 ^6 f. `2 l9 b( ?2 ^#列出所有已安裝但不在 Yum Repository庫 內的套件資訊
7 G8 t. j* I, H0 M8 k' C1 e. Y7 K' ^: Q/ K3 H) I
$ I' f! \, m) t) Y. x+ A7 ~
1.5搜尋功能
# e& H2 a4 z0 J: \6 U% W: zyum search
* F4 T0 L0 @8 s8 q#搜尋所有相關的套件,如yum search httpd,在從中找到所需要的套件。類似關鍵字的用途
; S$ F' B( P P7 l+ f7 r' b9 Z) w: n {1 _
四、升級套件但不動kernel1 `$ l/ z, U4 [5 j" q
如果想要用yum來升級套件,但又不想動到kernel的話。請參考下面做法8 o, i+ W7 a+ W0 g9 c% B, O8 x+ Q
[root@localhost ~]# vim /etc/yum.conf
s2 ?* K u1 D4 q1 f. U9 s0 A#在[main]當中加入下面字串
/ T# V& i7 p- nexclude=kernel kernel-source
. G- |1 Z$ k# y* L2 Q; w
' F. [9 i" u' x9 G雖然說yum的用法很多,但是一般常用的大概就是安裝、更新和移除。剩下的等有用到才查看就可以了。9 \! G$ C8 x3 [ {! b2 n
) [& M% o3 U+ [& ?0 s' D
. ]( q4 K; M( ~8 S) O/ b3 ]+ u
有關yum常見的問題可以參考官網的解答, D$ P( `4 C' b/ @* ~/ x
http://yum.baseurl.org/wiki/Faq
: `: a2 Y9 E9 d5 h, [! ^$ L6 l- K5 j8 r, w( [
- h4 Q! u% o& C# ]/ }& u
註: 此篇參考於 http://ithelp.ithome.com.tw/question/10077313
i' V' J$ Z; M, r* T: G% h O' a8 |( Y7 y9 h
: O2 g2 M; t. R x+ v- _
; t/ u$ K' w* `) b3 O
$ Q; B, k( I& a9 a9 `1 m0 M% X
3 s6 }& K1 _: H( s g$ G
) `& C/ {) |2 d% P$ Z7 `# B; J( ]/ e" \2 C
" [. Y% b8 R! r5 R m2 U4 z |
|