|
|
tid=21377&一、yum移除與安裝 5 W# u& H j3 b9 A
1.查詢是否有安裝yum. a, ~# m, E# J1 R" f m
- K. R- v, P# J+ K/ S( j- [root@localhost ~]# rpm -qa | grep yum1 x% {9 H! i; V9 K# y1 ^# w
- yum-metadata-parser-1.1.2-3.el5.centos
- Z+ n- h8 n9 l6 @1 g: b - yum-3.2.22-33.el5.centos
5 z: y1 U, w$ S+ K4 V0 @7 H - yum-fastestmirror-1.1.16-14.el5.centos.1
8 \/ D8 E% S- H - yum-updatesd-0.9-2.el5
複製代碼 $ Y, ?7 z$ ^5 W7 J' X$ k
2.移除yum (移除的方式有兩種擇一即可)" n9 V% I/ S5 L9 s
2.1用yum的方式移除
9 Z$ ?1 x/ ]5 J5 r- [root@localhost ~]# yum remove yum*
複製代碼
^& r+ s. A5 e1 p/ _9 }* L1 Z4 A9 T2.2用rpm -e的方式移除6 j6 r% m3 `) \( T: P( F
#先查看有那些yum檔案要移除的
' u$ `% q! `! J: J# }- [root@localhost ~]# rpm -qa | grep yum9 u- B" f Z+ x9 E5 A3 B
- yum-metadata-parser-1.1.2-3.el5.centos
3 Q7 e2 o% T1 C1 H. c1 ]! q4 i - yum-3.2.22-33.el5.centos
+ J; W- \7 h! z, ^% | - yum-fastestmirror-1.1.16-14.el5.centos.1/ D" b- j2 Q. X% ~; x! r5 }
- yum-updatesd-0.9-2.el5
複製代碼 4 E# z* q; u! p ^
#移除yum如果要忽略相依性的問題,可使用 --nodeps 選項
% a8 P) Z0 r. }: ~3 K1 M; d- [root@localhost ~]# rpm -e yum-metadata-parser-1.1.2-3.el5.centos
! u3 u! U+ V; j+ T( x - [root@localhost ~]# rpm -e yum-3.2.22-33.el5.centos
+ N, T- \0 w5 S+ R2 ]2 P - [root@localhost ~]# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1
: J" P/ c7 X9 w% m$ H - [root@localhost ~]# rpm -e yum-updatesd-0.9-2.el5
複製代碼 ( b) O5 r5 T1 b$ E3 J
二、安裝yum
2 z* h( a' R' _) B3 M1.安裝源
2 q5 c4 n3 N/ s在安裝源的部份可以到以下的網址查看
' P$ v9 C- G2 i9 E9 @/ i請依自行的需要找到安裝源
9 \2 {( J8 Q$ p; [1 Ri386 : 4 y+ p, {6 L# Y6 H- o1 a$ P9 s( j
http://mirrors.sohu.com/centos/5/os/i386/CentOS/+ d( E) ~6 h$ Z% z: |3 I
http://mirror.centos.org/centos-5/5/os/i386/CentOS/1 s& P2 \ b' O$ T$ T
( E8 E! [; ^! ix86_64 : 4 @/ P4 ^# F9 W1 ^: D
http://mirrors.sohu.com/centos/5/os/x86_64/CentOS/
# H9 C: {% j ?( @3 ]http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/ L- j7 x' P' e5 P
* V$ r1 G Y% f; b6 \) I; O6 `( i/ h1 t) ^5 U# L
在yum的部份主要是使用到以下4個檔
, o# B9 c6 S6 _# V- Q( dyum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
! B- B/ w; y: {2 n4 F3 R5 Jyum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm6 m% p2 \/ I, X( M
yum-3.2.22-37.el5.centos.noarch.rpm4 u( h8 K' i4 r3 c4 K0 X9 L, X1 v& ?
yum-updatesd-0.9-2.el5.noarch.rpm6 \! A5 a" v2 D- T" Q( W) P
z- e: m% r' M T" d+ j, B+ y2安裝yum- L! }) Z1 f+ `/ `
i386
, G+ K c9 X1 n4 l! X, S- [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: i7 |. H1 S) U+ U/ K
- [root@localhost ~]# rpm -qa |grep yum
3 L7 d M1 a# F! o2 p, E0 t - yum-updatesd-0.9-2.el5$ I/ a |1 W0 o; C7 [
- yum-metadata-parser-1.1.2-3.el5.centos
) v! G5 w# k8 S& s. u. b) K - yum-fastestmirror-1.1.16-16.el5.centos
' o2 z. @; n8 O& Z2 i0 U4 T - yum-3.2.22-37.el5.centos
複製代碼
5 }( Q( X& ?2 n, a9 g( d [* n# Q7 bx86_64# T3 Y2 Z& A1 t' E4 G* [& O
- [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
( ?5 o6 T$ @8 B' `7 V: W - [root@localhost ~]# rpm -qa |grep yum5 a5 H$ E k9 p& w; W) {' v
- yum-updatesd-0.9-2.el5
5 C7 m4 l1 \; O - yum-metadata-parser-1.1.2-3.el5.centos6 i/ b( g7 A8 Y6 p" z2 u
- yum-fastestmirror-1.1.16-16.el5.centos$ \6 Z7 O$ C$ ~* Q
- yum-3.2.22-37.el5.centos
複製代碼 2 U4 X: E. X- G% K) X$ C
2.2更新所有已安裝的套件(依個人需求看是否更新)
6 G" O3 T N: }+ i- {- [root@localhost ~]# yum -y update
複製代碼
3 r( s( e0 }. ]( @三、yum指令說明. i M9 N/ _7 f) Y, s( f
在使用yum時,會將下載的東西,存放在/var/cache/yum目錄下。+ I: x+ e+ c) m8 l1 j% A% \
1.yum更新
8 U4 E" x! N% ]yum check-update ; _& Y4 \- C! x( D0 f2 b+ ? F
#檢查能更新的套件有那些
* r6 H& b/ d& z0 X3 K/ V. c. ?; d
2 H% S" r: P# t0 u; R+ Zyum update 9 A! ^% \$ s# i: R6 F$ G0 S" `4 r
#更新所有已安裝的套件,若在update後面接上套件名稱的話可針對該套件更新
/ `- t. N' x8 D( W4 P, S( ]: u' G. y如yum update httpd
: A2 t. j2 N/ N6 \6 X9 e) E, N0 t" W1 l6 s* I/ {/ |1 G
yum upgrade' e8 a) k$ Y% Y* J2 u. a% w
#功能跟update差不多,差別在於yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級。
7 y8 q# ~) U' j; P1 ?7 b8 _
& w7 r! O* h- \% V% S. z: k1.1安裝.移除套件
, @9 H! i; W! P1 vyum install 7 L4 A5 ]9 u0 M( Y2 @4 O# d* x- n6 N
#安裝套件,install後面接要安裝的套件名稱,如yum install httpd。若要把所有相關的一起安裝的話可在最後加上「*」。如yum install httpd*
1 `" R2 t# \ ^0 G i7 @
9 ^) X- e$ A8 K" f% Nyum --enablerepo=(Repository) install 安裝時只使用某個套件庫,如果多個,之間可以逗號分開,先查看/etc/yum.repos.d/有那些.repo" ?. w3 G; ]- z* K
如yum --enablerepo remi,remi-php55 install php
) W. R3 s( A# Y: ]7 q/ Z+ E. S7 b8 F! y C0 a4 h, t0 ?
yum reinstall重新安裝套件( T: K; z9 i1 g8 Y0 {, `9 o
8 Q8 z7 R! a( C K
yum remove. `" S/ M6 a! s( {
#移除套件,在這邊會考慮到相依性的問題,可以用yum deplist 找出所有相依套件,再手動一一移除不要的套件,跳過要保留的套件,如公用套件(升級套件可能會用到) ) k5 Y1 v' c) Q7 Q; H
, D# r) A! y/ V+ t+ U! o9 ~$ Z例如:
; _& i; j8 g' \; F+ E: D) o; Fyum deplist httpd | grep -v httpd | grep provider | awk '{print $2}' | sort -u0 g' T! p e3 M
remove後可接要移除套件名稱,如yum remove httpd。若要把相關套件也一起移除的話可在最後加上「*」。如yum remove httpd*3 r$ R. P2 ~$ T' ?4 w8 s
$ U, v5 B% k+ @
yum clean
; p `! e3 q8 @6 Q8 ] M#清除安裝下載時的暫存套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。! a! ?/ ?7 N1 Z4 I/ G9 |4 Z( Z# C
. P0 M `5 W+ B0 F, w E) g: U
1.2清暫存3 c; x0 {9 {/ A
yum clean! t# s: K0 J8 z p2 {; k8 t
#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum% [% a2 {' L `! E+ [
1 t8 e6 D$ i1 D' g8 hyum clean packages3 J( T' k$ K* z! U' w/ K; U/ x
#用來清除暫存(/var/cache/yum)目錄下的套件4 F; c6 Y1 g d. [6 U( c0 l# B3 K
: j! T0 a7 B+ V
yum clean headers8 j+ e4 G+ R' W' j+ f! s
#用來清除暫存(/var/cache/yum)目錄下的 headers
; c5 d* @( e5 n# f0 J: D1 I7 x \! t' Z3 X* O
yum clean oldheaders* c- [) I( d; `
#用來清除暫存(/var/cache/yum)目錄下的 oldheaders
/ w5 p8 d; p- i. x f% h- c6 T6 k$ e' U7 o( U
yum clearn all
1 e; N Q* w+ ^#直接把所有的暫存都一次清除。
' Q7 N) v, t6 P& [! R& e
9 Z& W8 P+ E1 o0 o! N3 H$ w1.3列清單/ ]- ?) Y5 N3 A
yum list
/ R3 q5 O# i" A5 G4 R5 |" b#列出所有Repository庫的套件,若在list後面接套件名稱,則可單獨列出該套件。6 a( [" ^2 c5 J, x
9 E- L6 ]/ \8 Y4 Pyum list updates0 m3 A4 Y% Y8 [8 W% Z
#列出所有可以更新的套件+ h" D; m' U* h! R9 p' m. P/ y; `( H
1 A( a+ D h% h( h' uyum list installed& i$ s- N4 Y4 S9 ^5 @+ {) _
#列出所有已經安裝的套件
! \. E/ M7 f/ Y7 m0 D8 q9 i v& r3 f5 w5 z4 k7 m- s, K" h6 d
yum list extra2 q8 T/ x; u8 }& N! B1 M7 l, U+ @, j2 r
#列出所有已安裝但不在 yum Repository庫 內的套件& q' k" e/ @/ ?% ~2 B. y) G
1 B3 H. J8 @& j1.4列出套件的相關資訊
! a; P) t' \9 F# `5 dyum info9 [; L$ a+ ^9 {
#列出所有套件的相關資訊,若在info後接上套件名稱,則可單獨列出該套件相關資訊。& ` j% N2 { r
如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來! |+ U4 T' C" m- y$ e
6 {' B' T" I) J V2 W
yum info updates0 ^! d- t( c. {! d! W
#列出所有可以更新的套件資訊
8 \3 L7 e. ^; y1 O; U2 S9 T6 E
; g, U8 {) U! U% W$ Tyum info installed5 |; U4 f1 x6 @1 e G3 k
#列出所有已安裝的套件資訊
" e. q- V! b4 p! U% O( d2 H, [$ w. v) |% p' j
yum info extras
) H' v4 ]2 F; L5 ^0 q#列出所有已安裝但不在 Yum Repository庫 內的套件資訊
, K6 g( G2 b# z7 V8 D& a
; {6 o Z% ]1 q3 _$ m( E. {# y9 D$ M) q6 Q
1.5搜尋功能* P6 W* h; k9 K1 }) [
yum search
" c& J$ ^' V$ w$ P$ v#搜尋所有相關的套件,如yum search httpd,在從中找到所需要的套件。類似關鍵字的用途8 |/ J4 @) F6 |! O& u- r
" J- M# c0 d/ C四、升級套件但不動kernel
9 X. g, {0 e! r0 N g, k1 I如果想要用yum來升級套件,但又不想動到kernel的話。請參考下面做法
. u' m1 J4 n5 T B[root@localhost ~]# vim /etc/yum.conf: r; a! J" W! |7 U
#在[main]當中加入下面字串
) B" z9 C, z3 @) Y/ u% @5 F* `exclude=kernel kernel-source
, X' W! U8 W/ |4 b
( h' I( U9 E& s9 b( b雖然說yum的用法很多,但是一般常用的大概就是安裝、更新和移除。剩下的等有用到才查看就可以了。
7 p l2 a% `5 n0 f# g4 s9 f' A8 }( b* r9 j" p" k- v
0 D" i% T8 b9 V7 v有關yum常見的問題可以參考官網的解答. Z" \4 p4 H6 g, [* M
http://yum.baseurl.org/wiki/Faq- V0 A' k7 ?3 u0 k
, M- n$ `0 @& O$ i6 Y9 I2 O
; J( Z3 `" H- k" \# ]註: 此篇參考於 http://ithelp.ithome.com.tw/question/10077313; v0 i/ z3 z1 ]9 v% u0 T* Q3 |
9 j4 K! t. W0 L' e2 x& D) k
( x( S! D. m9 \' m, v7 D t
l- d$ N" R4 a% N; `
* C+ i. g7 A8 E3 H6 a* ~
. V6 {* x0 V+ C/ o8 \2 f2 K# k7 v# L [# Y; _! _2 `9 {9 U
. w n: \- d& N, I* F3 Z" r1 ?7 X! m
|
|