|
|
tid=21377&一、yum移除與安裝
8 F; a! B2 d1 @$ @1 x1.查詢是否有安裝yum: N5 @+ t" R5 y2 t* U8 I) @1 c
# v; x3 J( k7 }# c3 c7 j( o$ L
- [root@localhost ~]# rpm -qa | grep yum
( d/ D( d/ w! Q& R5 Q - yum-metadata-parser-1.1.2-3.el5.centos
, X# {* i" n) { - yum-3.2.22-33.el5.centos
. T2 k D+ p7 ~0 ?. c - yum-fastestmirror-1.1.16-14.el5.centos.1
+ m3 C8 a- Z+ ~5 y; I6 A - yum-updatesd-0.9-2.el5
複製代碼
9 ?- r1 T5 x2 A+ W' D$ W2.移除yum (移除的方式有兩種擇一即可)0 d1 C* h' G) |0 g9 I
2.1用yum的方式移除
1 W( M7 J( @( z: W- [root@localhost ~]# yum remove yum*
複製代碼 8 g2 G, G- y* D; _
2.2用rpm -e的方式移除
4 D6 f; I3 o" @& W7 @, Z#先查看有那些yum檔案要移除的6 [9 k7 `" E' B1 q: r
- [root@localhost ~]# rpm -qa | grep yum% W. e7 }8 N$ r, u( e9 F
- yum-metadata-parser-1.1.2-3.el5.centos2 h. J; ]1 C6 d: X+ n+ } c+ o
- yum-3.2.22-33.el5.centos# j: _6 t8 j) b
- yum-fastestmirror-1.1.16-14.el5.centos.11 C9 w" A, C- D7 k9 O
- yum-updatesd-0.9-2.el5
複製代碼 - C8 P( X. b3 m6 g- y: [% f
#移除yum如果要忽略相依性的問題,可使用 --nodeps 選項# b! u' Z6 J8 |6 J: d( i0 o3 L9 k) T
- [root@localhost ~]# rpm -e yum-metadata-parser-1.1.2-3.el5.centos6 \+ F; O$ Z$ M- B) C4 h
- [root@localhost ~]# rpm -e yum-3.2.22-33.el5.centos
2 {3 B1 K' R8 \0 E/ M# A - [root@localhost ~]# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1
' s. s6 u3 y8 {/ r7 n8 F$ m( a - [root@localhost ~]# rpm -e yum-updatesd-0.9-2.el5
複製代碼 & B" S) G, Q- Z& N% F& G/ j, I
二、安裝yum
8 ]0 C0 y8 X' T% S1.安裝源
3 P5 [: v1 e2 }- w5 M2 Q/ I& c在安裝源的部份可以到以下的網址查看
* U$ Y( F3 F, \5 _/ X請依自行的需要找到安裝源% @! D+ U; S% w0 l
i386 :
( @& m( L* E1 U; X) h) shttp://mirrors.sohu.com/centos/5/os/i386/CentOS/
' i9 l2 O! J4 @) }/ s9 i+ R# h3 O1 shttp://mirror.centos.org/centos-5/5/os/i386/CentOS/& C; U6 b3 q# |2 l$ c( G
2 m1 p4 ?1 Y& b& t# Hx86_64 :
, O& g! I4 R1 k, Q. o; t9 yhttp://mirrors.sohu.com/centos/5/os/x86_64/CentOS/
1 d, @: ?' N% m% j5 Lhttp://mirror.centos.org/centos-5/5/os/x86_64/CentOS/5 M6 U6 X0 \7 ?7 q$ l1 e$ R
& Q0 x+ L" `" Q8 o; X
- F# }" h* P# }
在yum的部份主要是使用到以下4個檔( U# {4 z7 q- F
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm ! y" l0 }6 f2 J; ^; y/ A8 _" r
yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm
+ v4 N5 Z; J9 h3 a# g3 w4 R0 H; hyum-3.2.22-37.el5.centos.noarch.rpm
& B, v9 x Y; @4 Cyum-updatesd-0.9-2.el5.noarch.rpm/ _! w' Q% }7 Q- T: v2 S, C
8 s3 |. J* d8 H+ C% _
2安裝yum" [" E7 Y4 o) P2 C4 h
i386
3 v0 x7 L4 q& v; s$ Z [5 P- [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/ ~1 g2 u7 F8 q- [" Y8 ~, x
- [root@localhost ~]# rpm -qa |grep yum2 _. \4 p% W* O
- yum-updatesd-0.9-2.el5$ I0 [$ |- N" R$ a1 i7 T
- yum-metadata-parser-1.1.2-3.el5.centos+ e! t8 y3 v4 f
- yum-fastestmirror-1.1.16-16.el5.centos/ U7 ` r, }0 K6 h3 K
- yum-3.2.22-37.el5.centos
複製代碼
Q2 O2 f* l! c- g, g$ ?/ x0 l6 dx86_64
2 U+ R0 F( f7 ]% O$ V8 F* `0 {- [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
& |: V4 L& y$ K! y j - [root@localhost ~]# rpm -qa |grep yum }4 @, B/ c* h: j
- yum-updatesd-0.9-2.el56 t Y( Y! `. ^5 Q7 C1 W
- yum-metadata-parser-1.1.2-3.el5.centos0 B; x1 f" h6 z8 _8 Z3 h `
- yum-fastestmirror-1.1.16-16.el5.centos) n) N# f" A. D$ X; B) E; L, g: Q
- yum-3.2.22-37.el5.centos
複製代碼
1 F) Q X' Q) `- l, l2.2更新所有已安裝的套件(依個人需求看是否更新). {& Y' l6 |$ g+ \6 H
- [root@localhost ~]# yum -y update
複製代碼
6 u5 s8 C: u% ] q三、yum指令說明0 A. b! h- H. O5 k
在使用yum時,會將下載的東西,存放在/var/cache/yum目錄下。
, `' C% G1 v' H# _' |1 [1.yum更新: C9 X8 L9 q' I
yum check-update
9 c1 d2 q2 s" q# e3 n#檢查能更新的套件有那些. O0 n# m& v. W! d2 E% ?) m- O( F
/ A+ {. ^9 j" a. _ d) Cyum update ' A% {2 O/ K' O- _$ @. S
#更新所有已安裝的套件,若在update後面接上套件名稱的話可針對該套件更新3 L( I, K& X: A
如yum update httpd: E4 f$ r( d6 H9 N; @ B# z
8 B0 V; A+ F1 u" v0 n
yum upgrade( h. |8 v4 P- |5 a5 y; I1 T
#功能跟update差不多,差別在於yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級。. r2 g7 n, |" j' ^2 j" X, @( g
: a" m H; [% b# s% {# \$ S0 W3 a. D1.1安裝.移除套件
7 g" K" }3 p0 j3 ryum install
4 J% }2 g9 C6 X1 s/ c9 O: M#安裝套件,install後面接要安裝的套件名稱,如yum install httpd。若要把所有相關的一起安裝的話可在最後加上「*」。如yum install httpd*
4 V" T7 \; i# @, f& U
, D2 e6 [) b" ?, syum --enablerepo=(Repository) install 安裝時只使用某個套件庫,如果多個,之間可以逗號分開,先查看/etc/yum.repos.d/有那些.repo
) a" t0 {6 C9 `$ U如yum --enablerepo remi,remi-php55 install php
9 t- C2 d5 U4 Z0 ^' y/ F2 w% r7 ]* x% L2 v/ y) I; e
yum reinstall重新安裝套件' F5 D4 h3 F* `, J( T
+ s8 e1 @# ?; }# C
yum remove9 r5 J4 ^ Q2 r: `8 b1 |2 j
#移除套件,在這邊會考慮到相依性的問題,可以用yum deplist 找出所有相依套件,再手動一一移除不要的套件,跳過要保留的套件,如公用套件(升級套件可能會用到) 3 w& a9 |7 W" g7 L8 A
# s7 @! K, f" b9 E u3 C0 M" v0 L7 D
例如:" w1 F t$ o5 n. ?$ `
yum deplist httpd | grep -v httpd | grep provider | awk '{print $2}' | sort -u
0 C8 \- D6 V/ T0 g2 G# A7 tremove後可接要移除套件名稱,如yum remove httpd。若要把相關套件也一起移除的話可在最後加上「*」。如yum remove httpd*0 |: t6 h; b& Q, I
# `2 | {* {+ l# g9 T1 V$ ?) z' ^
yum clean) o$ d" R. A6 `. ~
#清除安裝下載時的暫存套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。+ g) f* R9 M4 a4 Q3 g
i" |; H8 U5 D% t) t5 x- x
1.2清暫存
# b4 j9 C; M2 o5 _! G5 _3 \, uyum clean# ` \/ _" {* K3 m6 u
#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum( F/ \' B, y- b! j
9 W/ `, e4 K2 i. R
yum clean packages
+ P6 |1 t1 T( G/ E( K#用來清除暫存(/var/cache/yum)目錄下的套件
" h9 O- R% Q2 H. ^) z" w: m
' ?- ]. O* X- }9 I4 Byum clean headers
. i; U8 N% ?. i#用來清除暫存(/var/cache/yum)目錄下的 headers
" ~# L% B' v( X
) j% g& j! E* Q' x# i+ N4 Uyum clean oldheaders8 H$ J/ s7 L- @& F- N3 C7 g7 f: ?
#用來清除暫存(/var/cache/yum)目錄下的 oldheaders 9 M% C% ]9 H9 I; S/ l/ W
- W5 ^, C. Z: R4 D S4 p# S: {
yum clearn all/ f$ _8 |+ t% k9 T0 u- B
#直接把所有的暫存都一次清除。
$ H& I, n6 C+ m' @6 o2 O+ ?" a" ?( m2 ^7 b
1.3列清單
* @, n0 \* I, x/ E9 ^3 a. I+ Wyum list. o' x; Z8 ~3 k5 L& N
#列出所有Repository庫的套件,若在list後面接套件名稱,則可單獨列出該套件。6 G/ z e3 P s/ b* ?
7 g7 p3 T( a2 u/ r9 q9 C' s4 t; Q
yum list updates
( e M" Q9 l2 V) G R5 X3 b m#列出所有可以更新的套件1 n! w7 F; c9 x4 Z% ^
. d7 s/ @' [) ]4 n4 L# H) }
yum list installed, i* {9 h3 l0 d# i3 f, J
#列出所有已經安裝的套件- @; Q* _% b' [ l+ L" k
# e! y5 W. x+ o$ @* e& U& Z
yum list extra9 s3 T; V5 M, i+ G
#列出所有已安裝但不在 yum Repository庫 內的套件' J" r8 p# y Q8 |0 |0 W9 u
2 i3 F" r' p6 X5 [" ~# Y- |/ y/ b
1.4列出套件的相關資訊
5 }) t8 a' P$ v: g: G7 X9 Uyum info7 D3 S P" c& x1 L8 s1 K) H
#列出所有套件的相關資訊,若在info後接上套件名稱,則可單獨列出該套件相關資訊。
0 B+ H3 a0 P) i+ ~5 N如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來' X( b! D/ u- f1 t! a5 E
% M v2 j/ N2 l0 Ryum info updates M5 ]# n2 I5 I# t
#列出所有可以更新的套件資訊
6 s' @8 }( h, z! e: c/ d
$ n9 {; N1 s3 } N' _% f$ yyum info installed/ P Z2 H" y+ q! `" @# i
#列出所有已安裝的套件資訊+ ~6 E8 V# G& X4 u6 Z. Z
6 [6 g+ P" R" l5 Nyum info extras. q1 \. y7 J" `0 y
#列出所有已安裝但不在 Yum Repository庫 內的套件資訊" Y7 P+ A+ x. C' f9 `. I
0 W( p" k$ d1 v
/ D: k9 P8 V! j; d( V+ o1 i; B1.5搜尋功能
% u4 ~7 e8 u- O$ M/ x9 ?yum search/ m( z0 k( F: A5 a; R
#搜尋所有相關的套件,如yum search httpd,在從中找到所需要的套件。類似關鍵字的用途
1 U$ ?" V/ b6 R: l6 t# c; }- i- t* _( y1 k
四、升級套件但不動kernel- \; ^" S+ Q9 O/ b
如果想要用yum來升級套件,但又不想動到kernel的話。請參考下面做法
. K+ p& H3 ]. |( }) o3 v( p[root@localhost ~]# vim /etc/yum.conf" [" G) C% P; f' W
#在[main]當中加入下面字串6 e2 I) r- O2 _) s$ ^
exclude=kernel kernel-source! r4 f) q8 X& Y) }; }" y, q" w8 O
; |7 N: `& I2 Q& O( L" K! M
雖然說yum的用法很多,但是一般常用的大概就是安裝、更新和移除。剩下的等有用到才查看就可以了。
7 \: z7 O: w9 i
% E/ I, K7 h+ S. t+ y1 U6 I8 g( E) E* N. i. T" _% ]
有關yum常見的問題可以參考官網的解答
+ o% S1 g) @' Khttp://yum.baseurl.org/wiki/Faq
' T5 {2 F* s n# R$ I$ r" t4 T1 A$ ?6 {9 ~$ {+ [8 ]
3 b/ Z! \: {. |; R/ w8 s註: 此篇參考於 http://ithelp.ithome.com.tw/question/10077313" v1 m0 s$ g5 t5 z5 r
9 r% v7 O2 l6 n% \2 J) ^
6 C5 T" b9 l! N6 p. `0 M
, N5 J* y2 d, X
" }+ D' F, b2 L1 ]8 g% o
w) u3 a& {! g4 @* t9 o
8 ]. k" d( |. q; j( d
3 l0 t& U* {# M1 v6 n/ k, T3 W' N' W% q: u
|
|