|
tid=21377&一、yum移除與安裝 ' D4 Q& I1 K' k9 \0 c; ~
1.查詢是否有安裝yum" u9 Q7 H/ _, g3 w) H* N2 @
1 R) a: w9 p4 Y9 d4 P
- [root@localhost ~]# rpm -qa | grep yum$ Y3 Q% y6 L& X5 N; Y/ z( `
- yum-metadata-parser-1.1.2-3.el5.centos* ?2 `% s1 V, k' L
- yum-3.2.22-33.el5.centos
' o5 _1 O% o% a8 |1 s0 | - yum-fastestmirror-1.1.16-14.el5.centos.1) D5 T. P& `) Y: c
- yum-updatesd-0.9-2.el5
複製代碼
; Z( j0 j) ?3 {2.移除yum (移除的方式有兩種擇一即可)0 K* M" o8 D0 N5 J7 T5 L6 I7 o _
2.1用yum的方式移除! P$ O3 H+ p1 P4 l/ c
- [root@localhost ~]# yum remove yum*
複製代碼 1 ]% m+ x6 I: a p8 o4 X
2.2用rpm -e的方式移除
! C V+ h, j) \1 N: \- Y+ T% E* p#先查看有那些yum檔案要移除的
0 Q; w u; @; N. M) M- [root@localhost ~]# rpm -qa | grep yum9 D5 O/ E* u8 {! R9 E% K, q
- yum-metadata-parser-1.1.2-3.el5.centos5 I, X0 y$ e h4 Q6 G9 O, c% L
- yum-3.2.22-33.el5.centos
; r& I7 b" q" ~ - yum-fastestmirror-1.1.16-14.el5.centos.1" D# ~, s D p5 T7 V
- yum-updatesd-0.9-2.el5
複製代碼
# e' x4 i$ u. D, U4 U& m6 q#移除yum如果要忽略相依性的問題,可使用 --nodeps 選項5 N$ N+ i3 R6 ~3 G
- [root@localhost ~]# rpm -e yum-metadata-parser-1.1.2-3.el5.centos
1 G& D6 Z* \1 p% W - [root@localhost ~]# rpm -e yum-3.2.22-33.el5.centos
* i$ }8 g4 n9 F* u: k - [root@localhost ~]# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1 M1 D3 p( I9 @, X8 j
- [root@localhost ~]# rpm -e yum-updatesd-0.9-2.el5
複製代碼 ; }+ J# W; x$ Z* l$ w5 V
二、安裝yum
2 ]/ C4 L- u! K& W g: g1.安裝源
/ m7 Q6 W" W9 o" p5 ]2 Z5 w% W在安裝源的部份可以到以下的網址查看6 b7 k/ a" P2 f0 R, e, x( B3 Q+ m
請依自行的需要找到安裝源
- x1 _$ d- a) X0 S2 O6 ^6 gi386 : , @% u6 N/ p! N1 A' J/ {
http://mirrors.sohu.com/centos/5/os/i386/CentOS/7 f% v5 q8 W7 a8 I, c; l
http://mirror.centos.org/centos-5/5/os/i386/CentOS/
+ q7 [6 Z+ z# _" h7 T: y* d* V, _* f, t+ t# A, z
x86_64 : 9 K+ [& [' k! j) o% Z. u
http://mirrors.sohu.com/centos/5/os/x86_64/CentOS/3 h- ?2 p: L8 U o
http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/: z- d" I) y( P# i% p
* I, h% ?6 }' l" S/ X
, Y5 y9 _$ R( G( d/ ^# `在yum的部份主要是使用到以下4個檔
5 X8 V9 \" u# ]1 Gyum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
! W! B: p; @6 a7 Ayum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm* R3 {* Z8 A+ L- Y) p2 j
yum-3.2.22-37.el5.centos.noarch.rpm
$ I! A h K2 p' D" e4 yyum-updatesd-0.9-2.el5.noarch.rpm
0 F, n7 s9 j/ x: y
! ?4 m7 u9 `, {2安裝yum
3 X) a! H6 ~1 J8 Q* [: xi3861 g2 }* \2 {7 z: q
- [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
3 t- ]6 ~2 w; l - [root@localhost ~]# rpm -qa |grep yum
8 q# A$ I5 Y3 J0 k% e - yum-updatesd-0.9-2.el50 } |" K) k) W
- yum-metadata-parser-1.1.2-3.el5.centos
; p! n @# W) \1 z' u% w7 { - yum-fastestmirror-1.1.16-16.el5.centos
7 S: g0 p6 q0 ] - yum-3.2.22-37.el5.centos
複製代碼 2 D! c" Y" _( Q1 u2 N: @
x86_64
4 o% q$ k: f. `. u, ~- [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
+ V' V3 C, S* H* D: M" W - [root@localhost ~]# rpm -qa |grep yum
7 i( I6 y) e6 b1 L) Q2 b9 X - yum-updatesd-0.9-2.el5$ R" m! \% ^& S4 D
- yum-metadata-parser-1.1.2-3.el5.centos3 Q# q" W* Y( ~8 B j- L$ r
- yum-fastestmirror-1.1.16-16.el5.centos
" E; s" H j0 E) B: v& L - yum-3.2.22-37.el5.centos
複製代碼 % m- Z$ p5 X |1 A
2.2更新所有已安裝的套件(依個人需求看是否更新)
6 x# ~$ C$ J ^+ ~) p- [root@localhost ~]# yum -y update
複製代碼
: J* E& W' @) u2 a三、yum指令說明
' ^3 I. G# P6 ]" C* ~在使用yum時,會將下載的東西,存放在/var/cache/yum目錄下。( Q' Z! S9 d: |0 ]3 W$ i, ?: b2 L
1.yum更新& |/ J" Z& L( w, O; V9 v
yum check-update
7 L3 Z& f, w" x$ v$ g#檢查能更新的套件有那些5 ^2 F' _6 C& ~3 Q
( O. s% g- b! B' l2 \
yum update
8 X% e7 [0 K0 Z9 H, U! a4 Z#更新所有已安裝的套件,若在update後面接上套件名稱的話可針對該套件更新1 ?6 Z8 U3 S. t1 t* Z& G1 F0 G
如yum update httpd
5 P4 R6 k" m. L7 {- G/ ^$ q' N3 S9 U* h/ H- G( q8 n) B
yum upgrade
) O4 X' S; ]. s+ ~& v% x5 s: v# }#功能跟update差不多,差別在於yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級。
1 T9 _: J# g" a: g/ O6 `" d! j: M) c2 j7 R. c
1.1安裝.移除套件" g; n# t( b8 g) D5 N% e" E5 g
yum install
$ `) A# ], z2 G+ |( V/ Q#安裝套件,install後面接要安裝的套件名稱,如yum install httpd。若要把所有相關的一起安裝的話可在最後加上「*」。如yum install httpd*, R1 s, j" B6 N6 S8 f8 F5 x/ R7 n
; X$ m( X# I9 X; g7 B
yum --enablerepo=(Repository) install 安裝時只使用某個套件庫,如果多個,之間可以逗號分開,先查看/etc/yum.repos.d/有那些.repo4 l R* Q s- u' R4 i9 ]9 F8 ^9 @
如yum --enablerepo remi,remi-php55 install php
& O9 p- ^- g4 c f" s0 D/ s1 ]7 }" P% [! s% V
yum reinstall重新安裝套件
4 M# T b( Y; y8 d( J9 E1 S, \. j7 K
yum remove
' H. b6 `9 b) o, U( x7 c#移除套件,在這邊會考慮到相依性的問題,可以用yum deplist 找出所有相依套件,再手動一一移除不要的套件,跳過要保留的套件,如公用套件(升級套件可能會用到)
3 P( m" a( ?; }. l$ N. U" m1 l% J* h, F& t; p6 U
例如:
6 O# r0 P2 }# s/ A& pyum deplist httpd | grep -v httpd | grep provider | awk '{print $2}' | sort -u
: m; @- T$ t, u8 _; k0 Dremove後可接要移除套件名稱,如yum remove httpd。若要把相關套件也一起移除的話可在最後加上「*」。如yum remove httpd*7 Q h( ?5 ]. s! ^8 [! b
4 }: f# z1 e! G
yum clean
5 B' e! s& K" y#清除安裝下載時的暫存套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。) w, T5 |2 u" t: W
" J0 ?) ]* f+ A* h3 q
1.2清暫存
5 @2 C$ v# f+ L) ^7 r3 f' I# ?yum clean
! M' s2 n# v J# B# n#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum, S7 `4 ^- m& K" Z c+ C
( {/ h& V5 C% n
yum clean packages+ e% y( r. G+ r* Y, Q" {" d9 a
#用來清除暫存(/var/cache/yum)目錄下的套件
2 `1 [: {0 s( `0 _
U5 e, t' s$ X) ]; S: lyum clean headers# p- H# i. N- Z- J2 O8 C
#用來清除暫存(/var/cache/yum)目錄下的 headers
3 |& f" f: S9 a% i# i
+ k; J6 t, S, T4 }% C0 E/ S. yyum clean oldheaders/ @/ o7 J. C" ?/ b$ [% F4 @" y6 K" H
#用來清除暫存(/var/cache/yum)目錄下的 oldheaders 3 ^! ?% n) T5 U7 @( t" y
F4 E7 f n5 I" ]3 d9 j9 K: hyum clearn all
$ L& P9 j6 Y/ E/ w#直接把所有的暫存都一次清除。
! B/ K6 B6 ?- g2 k. L: c- [- l" u8 i% e
1.3列清單) o8 Z2 O; y4 B
yum list
, o2 k! D3 w4 O0 R. F0 {#列出所有Repository庫的套件,若在list後面接套件名稱,則可單獨列出該套件。
2 t, h. [+ |, t4 g n* F9 M/ e
- K; H/ r' |* d& _2 \4 ?yum list updates+ s5 p8 U, a/ L U; `
#列出所有可以更新的套件
! \" j- n( _ Y% t, Z6 z0 ?1 [! q N. y1 {, p0 r3 |( a
yum list installed/ Z* p) l& z7 B
#列出所有已經安裝的套件7 t; M- z/ F& w+ G3 x
8 B3 X* L0 g+ j7 _0 X+ Syum list extra
( g5 E2 d( N) w% V- s6 |% D#列出所有已安裝但不在 yum Repository庫 內的套件
3 N+ t, g% F5 \: _; L5 y2 g8 E' ]! H) ~! S& D% k9 D
1.4列出套件的相關資訊
8 M- \) \- ~' h; r3 cyum info9 ?, @2 @/ n0 D# n7 V; [9 A
#列出所有套件的相關資訊,若在info後接上套件名稱,則可單獨列出該套件相關資訊。
' P$ p+ e* \) n! Z: ^如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來9 L# h: m3 e& H5 K& ~* R/ ^
( Q; ~/ E$ o/ c6 O
yum info updates
0 D5 e. z0 U4 i+ }#列出所有可以更新的套件資訊
, q" }" A$ e G; k' G& W1 j# w* P7 h/ j+ h7 ~
yum info installed8 {8 k2 ^* M8 z; u$ c& x, J$ P6 e7 k& V# e
#列出所有已安裝的套件資訊
# _* M+ O M4 s9 ?. c5 B" e" v8 u, `( P9 x( `" W8 O8 t0 Y' C
yum info extras
% \1 w( K; X. Y Q" ?#列出所有已安裝但不在 Yum Repository庫 內的套件資訊
4 ]3 p% C7 i& q# j4 e' g
7 y% ~/ W* G* \6 I# m; V3 A( C
F: n. Q3 ]8 P1 Z1 M! y( `! _1.5搜尋功能
, ]1 L N/ i: M9 @" b7 E( ~yum search% G4 @, H6 O1 A C1 h' p, X3 i
#搜尋所有相關的套件,如yum search httpd,在從中找到所需要的套件。類似關鍵字的用途
% }/ q+ }; W; I
* X. O" l% l7 G3 Y5 w四、升級套件但不動kernel
$ v; F2 t; |0 o2 j |如果想要用yum來升級套件,但又不想動到kernel的話。請參考下面做法
6 \4 ?# T& p3 t: F$ @' {0 }6 n[root@localhost ~]# vim /etc/yum.conf, {/ |/ d/ I. u8 @+ _
#在[main]當中加入下面字串$ p; m& Z) A! }
exclude=kernel kernel-source+ H8 P1 e& z4 b3 X. e& R7 j o
5 \6 ?5 [1 i1 K, |: a# W4 R雖然說yum的用法很多,但是一般常用的大概就是安裝、更新和移除。剩下的等有用到才查看就可以了。3 t# H1 ]# H# W( y
" [2 E3 ~# e r* x) C% C
/ L2 b! t; |: z6 u, P2 k" q- l
有關yum常見的問題可以參考官網的解答
6 `3 x: ~' [& G8 M5 Uhttp://yum.baseurl.org/wiki/Faq% Y8 y0 `0 z/ X: A" L" h/ P% r
2 M) r! c3 Y% y; v! D5 |2 W7 \, S& e5 t6 z# C, |" t
註: 此篇參考於 http://ithelp.ithome.com.tw/question/10077313
9 w2 t* z) b" w7 d
6 [7 z5 z( c0 {, L2 f6 N
: Y4 o' b2 Q* e
0 b* x) N/ m! {/ w! A0 |/ @. c7 r( _
# }- }3 H" M2 S3 A1 m' ?! Y
$ \7 j$ U; T/ B# y' T r9 G' ^" O; r# d) L4 T$ C$ _& \" m
% x3 a" q6 T4 R! \4 h; | |
|