2012年8月21日 星期二

Fedora 中常用的 YUM 更新命令

雖然從「程式選單」→「系統」→「管理」→「軟體更新」可以啟動「圖型化介面」的更新程式,而其內部最終也是使用 yum 的方式更新。
但是,總是覺得執行速度好像有點慢。由遠端連線時,縱使是使用 VNC 連線,Fedora 還是不讓你更新 (註:這是 SELinux 的安全機制)。更何況,有時只用 SSH 連線時,如何使用?
YUM 這個更新程式,除了可以在文字介面的「終端機」下命令外,還有其它參數可以運用。還可用接續執行的方式,連著下達數個指令。YUM 是這麼好用的更新程式,接下來就介紹幾個常用的命令下法。

1. 切換成 root 身份

以下操作都需先切換成 root 身份,請參考 " 在 Linux 中,切換為 root 以操作系統 " 一文。

2. 執行更新

更新時,依不同需求可以加參數,或是更新完再接續執行命令。下列命令依需求分列,方便參考使用:
注意1:未安裝的套件,是不會被更新的,請放時。
注意2:發現下載速度太慢時,同時按 [Ctrl]+[c] 兩個鍵,YUM 會再找下個「套件資料庫伺服器」繼續下載,按太多次時 YUM 可能會停止執行,再重下命令就可以了。

更新全部套件

[root@Celeron-D ~]# yum update

只更新指定的套件

只更新某些套件,通常是「懷疑某個套件有問題,試做更新」、「全部更新太花時間,只做重點更新」時使用,
[root@Celeron-D ~]# yum update yum* rpm*
上例中的 yum* 和 rpm* 是限制只對名稱開頭為這兩個的所有套件更新。
注意:新安裝或久未更新的系統,建議先更新 yum* 和 rpm* 這兩組套件,可以提昇後續的更新速度。

更新全部套件,但某些套件除外

有時某些套件更新後,可能會造成系統不穩定。例如:因驅動程式不相容時,Linux 的核心就暫時不要更新。
[root@Celeron-D ~]# yum update -x kernel*
當有數個套件都不更新時,用「,」接起來。例:「-x kernel*,eclipse*」。

更新時,所有詢問皆答「y」

[root@Celeron-D ~]# yum update -y
確定所有詢問皆可答「y」時,再下這個命令。

更新後,接續執行「關機」或「重開機」命令

下達更新命令後,通常會執行一段時間。這時候想暫時離開位置,或是不再用電腦,這個命令可以在更新執行完畢後,接續執行下個命令。
[root@Celeron-D ~]# yum update -y ; shutdown -h +1
[root@Celeron-D ~]# yum update -y ; shutdown -r +1
第一個命令列是更新完後,等待 1 分鐘再關機。第二個則是更新完後,等待 1 分鐘再重開機。
注意1:因為要加「-y」這個參數,所以先確定無誤再下這個命令。
注意2:更新後的關機命令設定為「延遲 1 分鐘」,可以避免要「取消更新」時來不及,會被關機或重開機。

3. 清除所有套件資料庫

有時太久未更新,或是網路世界有些變動 (通常是某個「套件資料庫伺服器」離線)。套件資料庫的內容與實際不符,更新套件資料庫的程序不能正常執行。這時就用這個命令將套件資料庫整個清除,
[root@Celeron-D ~]# yum clean all
再下達步驟2的命令,會自動從官方網站重新下載「套件資料庫伺服器」的更新位址。

已測試版本:

  • Fedora: 14, 17

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)