|
|
一、yum移除與安裝 2 z4 f& d' a* q$ ]
1.查詢是否有安裝yum
2 L( r4 I/ y# k# U; |0 Z9 g4 G ]; R1 S- J! m
- [root@localhost ~]# rpm -qa | grep yum
6 e6 K: [8 @. l - yum-metadata-parser-1.1.2-3.el5.centos+ l' O8 i5 ?# }/ v# V# g+ v
- yum-3.2.22-33.el5.centos; O( L5 ^7 S$ w! X4 d% x
- yum-fastestmirror-1.1.16-14.el5.centos.1 T1 {/ R/ D6 V# I. x3 B
- yum-updatesd-0.9-2.el5
複製代碼
- x/ |- d7 m* \3 P1 d0 y. K [! V8 B2.移除yum (移除的方式有兩種擇一即可)
8 j0 K# P: q& ?; ^; C6 M2.1用yum的方式移除4 F H1 r$ g. f3 m+ ?
- [root@localhost ~]# yum remove yum*
複製代碼
# f& ^7 k/ o2 }" r8 K( L2.2用rpm -e的方式移除0 W! v6 T( h) g; s9 U
#先查看有那些yum檔案要移除的
9 d) Y) K9 C/ S$ S- [root@localhost ~]# rpm -qa | grep yum, j2 Y$ q+ I/ R0 R. J
- yum-metadata-parser-1.1.2-3.el5.centos
: C8 s: r- n' ?$ m* G* A" h - yum-3.2.22-33.el5.centos& j2 P- M4 R0 b
- yum-fastestmirror-1.1.16-14.el5.centos.1
2 T! ^# u' g* g - yum-updatesd-0.9-2.el5
複製代碼 . S( {& e: |" E Q
#移除yum如果要忽略相依性的問題,可使用 --nodeps 選項
! s: O) B' u. |- [root@localhost ~]# rpm -e yum-metadata-parser-1.1.2-3.el5.centos& g2 J# V x. b& T
- [root@localhost ~]# rpm -e yum-3.2.22-33.el5.centos& J1 n' R& w3 n! w; H
- [root@localhost ~]# rpm -e yum-fastestmirror-1.1.16-14.el5.centos.19 T& X* O9 C8 x( a
- [root@localhost ~]# rpm -e yum-updatesd-0.9-2.el5
複製代碼 0 X9 v5 T6 q- M: e( @ W' {
二、安裝yum
$ j6 {" ^& w% ?6 V0 o1.安裝源5 g0 r: Y9 ~! N2 q
在安裝源的部份可以到以下的網址查看6 f& Q- U+ O# J" c) |. t) k
請依自行的需要找到安裝源
9 w* w* i, o0 p* ?( V3 Ai386 : 9 q2 ?+ v/ F, n# d9 _
http://mirrors.sohu.com/centos/5/os/i386/CentOS/ ~$ q' T+ }, P5 W, D" Z
http://mirror.centos.org/centos-5/5/os/i386/CentOS/
# {4 Z* a: n2 U' j' K3 W7 Q' c$ q% \6 t+ p% R% n
x86_64 : - e2 }' m# X a- h* n
http://mirrors.sohu.com/centos/5/os/x86_64/CentOS/, ?1 f# J H% Y" c
http://mirror.centos.org/centos-5/5/os/x86_64/CentOS/1 e" X l$ n) e6 J7 t, L+ d
+ s! B4 } [2 p5 r8 g
- a! ` ]: V; j' q; m j在yum的部份主要是使用到以下4個檔
1 t5 N3 L- Q# V) D @* {# S8 R2 xyum-metadata-parser-1.1.2-3.el5.centos.i386.rpm ; W) B8 g6 V7 k' r ?
yum-fastestmirror-1.1.16-16.el5.centos.noarch.rpm
, b9 y: u! C9 N; H9 K4 B4 Syum-3.2.22-37.el5.centos.noarch.rpm7 F1 a/ Q# U# f
yum-updatesd-0.9-2.el5.noarch.rpm/ D% X3 B$ u( V k; e7 K7 I: n3 N
8 Q$ R/ U% L: k+ M' J( R2安裝yum
( C" V. J/ |" u0 Q+ Ki386, T! o( e4 m0 {3 x* S: c
- [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 \! U: |* E `) U$ o9 Y - [root@localhost ~]# rpm -qa |grep yum3 Y0 B% M o' F# g# S. c, ?
- yum-updatesd-0.9-2.el5/ o: m8 z# a* n1 a, F. G
- yum-metadata-parser-1.1.2-3.el5.centos9 W8 V8 T' \6 N+ _+ M" ^
- yum-fastestmirror-1.1.16-16.el5.centos
1 H! `" m9 x9 t* u2 {' n2 D - yum-3.2.22-37.el5.centos
複製代碼 # q! ~; J$ o4 ~3 g
x86_64+ v2 s4 f5 |# U8 ^8 x
- [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
' N, z6 K& W4 t8 I - [root@localhost ~]# rpm -qa |grep yum
, U* a n' J0 ~; u( O& y$ v - yum-updatesd-0.9-2.el5
8 @/ O T% Y: t - yum-metadata-parser-1.1.2-3.el5.centos$ ? ?0 l) c5 Z$ U* Y# z/ z) t
- yum-fastestmirror-1.1.16-16.el5.centos% z& Z& |$ [* Y
- yum-3.2.22-37.el5.centos
複製代碼
0 i, r" l+ }: D+ H& G3 U' }2.2更新所有已安裝的套件(依個人需求看是否更新)- X3 F6 ^) Z& u0 q
- [root@localhost ~]# yum -y update
複製代碼 8 N4 f0 f B0 D
三、yum指令說明% e" K0 @4 ]6 @0 g/ O# ]* b U
在使用yum時,會將下載的東西,存放在/var/cache/yum目錄下。' a1 L/ g! k3 `' j" `( o
1.yum更新3 \. {* B% Y1 M K7 |( v1 I
yum check-update
% G/ W8 }. G/ M$ V#檢查能更新的套件有那些5 m' G5 U! @( R, r* ?% y6 A
/ h7 k a4 p& a- [) lyum update V7 |* }' l8 i$ z& j% o
#更新所有已安裝的套件,若在update後面接上套件名稱的話可針對該套件更新+ ]& e1 d6 ?( C( Q
如yum update httpd
$ B" v& E$ u1 R- q( m! i3 S' V& ?
% j1 g/ e; T* b4 k0 q) Lyum upgrade! D. x7 }+ _( l A4 B. |) O
#功能跟update差不多,差別在於yum upgrade會連同一些過舊即將洮汰的套件也一起更新,大多使用在版本升級。
7 `; S3 ^& r2 W4 [$ e! u5 D2 v- m
1.1安裝.移除套件
* ^8 i% S9 C1 j' u# V# tyum install - R; h* n: N- Y0 _8 y
#安裝套件,install後面接要安裝的套件名稱,如yum install httpd。若要把所有相關的一起安裝的話可在最後加上「*」。如yum install httpd*
- U2 s! ~8 x$ B2 j$ H
' s7 E% i# O, H' t1 ~9 Ryum --enablerepo=(Repository) install 安裝時只使用某個套件庫,如果多個,之間可以逗號分開,先查看/etc/yum.repos.d/有那些.repo
3 y4 O# U7 x* U8 a- ]如yum --enablerepo remi,remi-php55 install php
. l* M+ j+ p6 W! B% Z( a1 {+ }: E3 U5 m1 g' m; h( V
yum reinstall重新安裝套件8 m1 h: s' H( Z7 H/ k$ G
9 Z: q/ B8 }3 e" q' j- f" u
yum remove
- ?+ s' u7 L! ^0 F* z#移除套件,在這邊會考慮到相依性的問題,可以用yum deplist 找出所有相依套件,再手動一一移除不要的套件,跳過要保留的套件,如公用套件(升級套件可能會用到)
+ |, k2 s- x9 K6 L! }6 p
M/ f. v: D& W; M8 w& O/ Y例如:
* V; J# E: I) @: \6 gyum deplist httpd | grep -v httpd | grep provider | awk '{print $2}' | sort -u$ q$ R5 ^+ ?, @" o) ~% [
remove後可接要移除套件名稱,如yum remove httpd。若要把相關套件也一起移除的話可在最後加上「*」。如yum remove httpd*, l4 L3 ]% @2 v6 S* Z' \
: w# H6 m7 p& e# |6 ^yum clean
7 J5 F& S7 k W5 X( n3 u' F#清除安裝下載時的暫存套件原始檔,大多是存放在/var/cache/yum,通常會下yum clean packages或是yum clean all,一次全刪除。* [7 b! D+ p9 T& N
' ^. g6 C) m8 Q; H* [
1.2清暫存
8 v+ C5 M. {7 F. r9 [% Uyum clean& s q$ C4 q K1 ]
#清除安裝下載時的暫套件原始檔,大多是存放在/var/cache/yum
, P; i1 x& E9 V% ?2 p3 G
) p- a( r( v, O {$ `yum clean packages
+ l& _% T( {5 s3 q6 G- c#用來清除暫存(/var/cache/yum)目錄下的套件: @7 I: g& o7 @- S% r
6 g. v: m0 |' @7 e- }; n, J
yum clean headers8 E! [, _9 d5 f$ C! P7 P+ K$ ^
#用來清除暫存(/var/cache/yum)目錄下的 headers
e1 H- R" e, d, i L, K( k& S! Y$ ?
( Z" t. ]/ A$ }8 ~: Jyum clean oldheaders
0 k& ?; K$ r1 z$ Z' |+ ]: d#用來清除暫存(/var/cache/yum)目錄下的 oldheaders
- S, x+ G/ ^# M3 u0 O* q5 S' g( m- I. X8 ?0 c& ~2 a
yum clearn all! L) L$ P& K. v; o! J$ |
#直接把所有的暫存都一次清除。
. h; F+ B: Q$ F$ u0 ^( [1 \0 p9 x& @3 G( }3 d- p: ]
1.3列清單
J: {# ]0 d4 Q8 }yum list
+ S; c( q% c" I& G' z- T$ c#列出所有Repository庫的套件,若在list後面接套件名稱,則可單獨列出該套件。
\# Z9 M- } i$ S& S% o
5 M# I5 `4 K. n, c) h8 wyum list updates/ V( E& I& d! O: H
#列出所有可以更新的套件
4 R* y4 `9 X, s3 q; v' A' z- K: P; D% Z" K2 H5 k3 J% P- n
yum list installed
. h+ M) M& o/ i A+ u0 G8 Z0 s#列出所有已經安裝的套件
B6 h5 m2 i1 ^! W" j. p" T8 E+ t* \6 u' r B9 l7 D0 A
yum list extra
: X" a6 g5 e, m7 M# o#列出所有已安裝但不在 yum Repository庫 內的套件
2 X# x' \) N& j" d
- d$ B, \3 M# g1.4列出套件的相關資訊! l2 o: f& q5 l3 O, t+ R
yum info" U" d( {+ ~! {- Y
#列出所有套件的相關資訊,若在info後接上套件名稱,則可單獨列出該套件相關資訊。
' i3 A0 A! Z6 H: @4 h如yum info httpd 或yum info httpd*,差別在於有加「*」則會把以httpd開頭的都列出來
! [- F0 T. @- F8 R4 x' S5 T* u) `5 P. _: \- t$ A9 I0 Y0 d/ _" a5 [4 u! ?
yum info updates+ C/ I* z* o# w4 U' V
#列出所有可以更新的套件資訊7 n+ x. g( u6 ]" {6 g' C9 Y$ N
2 H2 l3 D! x" A6 \) B
yum info installed7 T8 l" e/ ]6 }% x+ j
#列出所有已安裝的套件資訊+ X$ _0 Q9 g }. ~2 L1 Y
( F" h7 F6 q' U4 Ayum info extras. R7 W) {# |7 F3 }4 z9 Y7 [
#列出所有已安裝但不在 Yum Repository庫 內的套件資訊5 [* S3 N2 d. a! @: C7 j0 P
$ R' u0 _3 T: _: [' Z4 m2 r
' J& n( L1 Y B. z% [
1.5搜尋功能
/ D0 {/ D' f' Q+ U* }yum search* j2 [7 m& h# m) h8 ^2 F2 v
#搜尋所有相關的套件,如yum search httpd,在從中找到所需要的套件。類似關鍵字的用途) n4 `; k# Y+ L. l
9 t1 e( t3 C$ F: ^. n5 E
四、升級套件但不動kernel. W, W# Y+ Y% q9 U& @% _, G9 E
如果想要用yum來升級套件,但又不想動到kernel的話。請參考下面做法0 j4 l. l4 C2 c) E3 A, j. G( r4 I
[root@localhost ~]# vim /etc/yum.conf
1 q0 D9 y( Q( q: r# e* b! s#在[main]當中加入下面字串
; W5 |' o" F- X0 [2 Sexclude=kernel kernel-source" G# U, j- y$ e, K% M
% x0 w4 }" K$ a6 J7 C8 w
雖然說yum的用法很多,但是一般常用的大概就是安裝、更新和移除。剩下的等有用到才查看就可以了。
4 q/ J' a, C/ b' d5 ]/ {
# R) {& Q) \" P! f/ n, H6 ^2 ~" A* K# z& Q% s4 q
有關yum常見的問題可以參考官網的解答
' A; x2 y3 T' {# l, Uhttp://yum.baseurl.org/wiki/Faq
% M4 J2 `, z. S* |3 j0 m# f; v4 L1 ^0 D1 @/ S) \% p
7 B, `$ _2 Q) ^; G0 }3 W註: 此篇參考於 http://ithelp.ithome.com.tw/question/100773134 H2 [; N4 v! |8 ]/ x
- w! Z5 C w$ V
8 ?+ o+ O6 H9 q5 U4 l
/ k1 t" ^$ [2 s, z! U
3 M, ^% R+ G" n' A
" U+ c% C! H# k1 k ^* W, D- W$ U0 u0 K9 E0 g+ H$ B1 |% m) @
* v* `. ~$ x2 H3 A6 y( c/ S, c% ?
# y2 R, [8 {+ Y |
|
|