【教學】Fedora 如何自動更新系統 (update)



贊助商連結


頁 : [1] 2

linux_xp
2004-10-24, 07:54 PM
我們知道在 Windows 下,要自動更新系統
只要執行 MS Windows Update 就可以了,輕鬆愜意

那麼 Linux 下,是否也有這種"輕鬆愜意"的自動更新方法呢?

答案是有的!


Fedora 內建兩種自動更新的方式:
---------------------------------------------------
1.up2date:

RedHat 自己研發的更新方式
有「X視窗」和「純文字模式」兩種介面

2.yum (Yellowdog Updater Modified)

這是 Linux 兩種標準自動更新方式 APT & YUM ,其中一種
預設使用 yum 的 Linux 發行版比較多
例如:Fedora 預設就是使用 yum
yum 只有「純文字模式」介面


以下只說明,如何使用 yum 進行自動更新
因為 up2date 畢竟是 RedHat 自家的東西
只有 RedHat系列 (含Fedora)可以使用
學習用標準的 yum 做更新會比較好


Fedora 如何自動更新系統 (update):
---------------------------------------------------
1.
由於 Fedora 已內建 yum ,所以這邊不說明 yum 如何安裝

指令:rpm -qa | grep yum
可查詢系統上是否有安裝yum ,若沒有,請自行去下載安裝

2.
yum 的使用方法(指令):


1.列出所有可更新的套件清單
指令:yum check-update

2.安裝所有更新套件
指令:yum update

3.僅安裝指定的套件
指令:yum install 指定的套件名稱

4.列出所有可安裝的套件清單
指令:yum list

3.
若想知道本機系統上,有那些套件需要更新,可打指令:
yum check-update

若要自動更新全部,可打指令:
yum update

這樣就OK了,更新完畢後重開機一次
你的 Fedora 就是最新版本,已修正所有目前可知的漏洞 ;)


4.
當然如果這麼簡單,就不叫教學了 :eek:

由於 Fedora 的 yum
預設的更新主機在國外,也就是 Fedora 的官方更新主機
連線到國外下載,速度之慢,可想而知....

在這裡,我們可以修改 yum 的組態檔
把連線主機,改成國內各大學的 Linux 更新主機,如此速度就會比較快

------------------------
/etc/yum.conf
-----------------------


[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/

[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/


注意紅色的地方,就是 yum 會去連線的更新主機網址

改成以下,可自由選擇搭配

base 主機:
(大小寫有差別,請先實際連線,看伺服器是否仍存在)


◎ http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/1/i386/os/
◎ http://linux.nctu.edu.tw/ftp/dists/fedora/core/1/i386/os/
◎ ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/1/i386/os/
◎ ftp://linux.nctu.edu.tw/dists/fedora/core/1/i386/os/
◎ ftp://linux.sinica.edu.tw/fedora/linux/core/1/i386/os/


updates 主機:
(大小寫有差別,請先實際連線,看伺服器是否仍存在)


◎ http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/updates/1/i386/
◎ http://linux.nctu.edu.tw/ftp/dists/fedora/core/updates/1/i386/
◎ ftp://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/updates/1/i386/
◎ ftp://linux.nctu.edu.tw/dists/fedora/core/updates/1/i386/
◎ ftp://linux.sinica.edu.tw/fedora/linux/core/updates/1/i386/


路徑中的 /1/ 是代表 core 1
如是使用core 2,請自行改成 /2/

改完後存檔,不必重啟服務,立刻生效

然後 yum 的更新速度就會飛快了
:jump:

################################################

補充01:Fedora core 3 和 4 的 yum base 資料庫設定法

FC3 和 FC4 的 yum base 資料庫設定,有別於之前 FC2
並不是在 /etc/yum.conf 中設定

cd /etc/yum.repos.d/

vi fedora.repo (設定 base 主機,僅列出需要修改處)


baseurl=http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/$releasever/$basearch/os/

# mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever


vi fedora-updates.repo (設定 update 主機,僅列出需要修改處)



baseurl=http://ftp.isu.edu.tw/pub/Linux/Fedora/linux/core/updates/$releasever/$basearch/

# mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever


說明:
1.義守大學是 Fedora 官方認可的台灣區 mirror 站,所以這邊設定義守大學的主機。

2.
$releasever 是變數,會自動替換成 core 的版本,例如:3 或 4
$basearch 是變數,會自動替換成核心種類,例如:i386 或 i686

------------------------------------------------------------------------
補充02:如果執行 yum 時,說找不到 RPM-GPG-KEY 怎麼辦?

安裝即可:

FC3


rpm --import /usr/share/doc/fedora-release-3/RPM-GPG-KEY-fedora

FC4


rpm --import /usr/share/doc/fedora-release-4/RPM-GPG-KEY-fedora


------------------------------------------------------------------------
補充03:如何安裝某個套件軟體的完整版?

事實上,即使打:yum install (套件名稱)
yum 也不會安裝該套件的所有元件,僅會安裝一般常用的

例如:yum install php
就會發現,漏掉很多東西,諸如 php-mysql......

此時只要打:yum install php*
即可安裝該套件的所有程式

若不是真的對套件各個元件非常了解
建議安裝任何套件,都直接在後面加*
可以避免缺東缺西,導致整體服務運作失常
:)

贊助商連結


rushoun
2004-10-25, 01:27 AM
謝謝您的分享,受益不少。

jessee780522
2004-10-25, 10:17 AM
APT也可以用.....
不過yum好像在套件補齊的方面作的比apt好一點...(?)

childlike
2004-11-03, 05:14 PM
也可以用apt-get

APT教學 (http://apt.nc.hcc.edu.tw/web/apt/apt.html)

linux_xp
2005-06-22, 06:51 AM
補充 FC3 和 FC4 ,yum 的設定法,給有需要的朋友參考

頂 :)

topm
2005-06-26, 08:31 PM
感謝你的分享

wumins
2006-05-28, 07:21 AM
頂一下,FC5好像也有內建yum的圖形介面了,叫做pirut吧,就是選單中那隻可愛的小黃狗...

linux_xp
2006-05-28, 04:31 PM
再補充一個密技:「全自動排程更新」
CentOS 亦適用

Q. WIN-XP/2003 有全自動更新,無需人工操作,那 Linux 有沒有?

A.
有!而且更高級!

可以指定要甚麼時間進行更新,以及更新後要不要重開機
例如:凌晨 4~6 點,是網路負載最低的時刻
利用這個時間進行更新,對伺服器服務的影響最小


步驟:
-------------------------------------------
1.
vi /etc/crontab (寫入排程檔)

加入以下內容,#字號開頭,該行是註解


# 每週二凌晨 5 點,全自動更新
# 若有更新則重開機 (因為可能更新核心,需重開機)

0 5 * * 2 root yum -y update && reboot


2.
/etc/rc.d/init.d/crond restart

重新載入排程設定檔,使設定生效


說明:
-----------------------------------
1.
分、時、日、月、週
0 5 * * 2 的意思,就是 5 點,任何日子,任何月,週二
也就是一個禮拜,更新一次啦
若要其它時間,可在這邊改
若要每日更新,可打 0 5 * * *

2.
root 是說以 root 權限,執行該排程
yum 只有 root 能執行

3.
yum -y update && reboot 是要執行的指令

yum -y update 就是全自動更新
-y 參數會自動回答 yes,這樣才能全自動

&& 是邏輯判斷式
意思是「假如前面的指令有執行成功,"才" 執行後面的指令」

而 reboot 就是重開機囉

假如有更新成功,才重開機的意思

因為並不是每次執行 yum ,都一定會有更新
如果沒更新到東西,就不需要重開機

註:
有更新核心 kernel,才需要重開機
像更新 apache 之類的 service ,只要 httpd restart 就行了
但是這種判斷式需另寫 shell script 來處理
所以乾脆統統 reboot 比較不會那麼複雜化
像有些人的 server 是不能隨便重開機的
則可另外撰寫 shell script 來判斷
或是 yum 更新時,也可以加參數不更新核心


防火牆規則寫的再好,銅牆鐵壁
但若 service 或 kernel 本身就有漏洞,就好比有內奸外應
甚麼牆都是擋不住的

常常更新系統,修補漏洞,才可以確保資訊安全
:D

linux_xp
2006-05-28, 04:50 PM
yum 使用小技巧:

1. 查詢某個套件的情況 (是否有安裝,或者安裝了哪幾個元件?)

範例:
yum list | grep php

先 list 全部套件列表,再管線給 grep 去作搜尋
grep 後面打要搜尋的字串

註:直接打 yum list php* ,在某些版本是沒有作用的


2.連續安裝多個套件

例如:
yum list | grep vim

總共會列出以下套件:


vim-common.i386
vim-debuginfo.i386
vim-enhanced.i386
vim-minimal.i386 (前面四個約幾百 KB)
vim-X11.i386 (約 1.2 MB)


但是你並不想安裝 vim-X11 那個套件 (X視窗下的 vim)
因為你的系統根本就沒有 X,是在 run-level-3 啟動的
裝了不會用到,佔硬碟空間,且浪費時間下載

這時可以用連續安裝多個套件的方式:
yum install vim-c* vim-d* vim-e* vim-m*

則只安裝這四個套件,略過 vim-X11


3.移除套件

移除套件很簡單:yum remove [套件名稱]
套件名稱支援萬用字元 * 補齊

範例:
yum remove openoffice*

如果不小心裝到 openoffice ,又用不到,可以將其移除
因為它有 200 多MB

也就是說,全自動更新時
假如 openoffice 有更新,就要浪費時間下載 200 多MB
且不會去用到

這種情況,就應該移除

Fedora 安裝時
即使選擇「最小安裝」,仍會裝到 openoffice,很奇怪

CentOS 有一種 server CD 版本
這種版本非常適合架設網站用途,推薦使用
它移除了架設網站不會用到的套件,避免安裝時安裝到

:)

FLY
2006-06-18, 07:32 PM
這篇主題的資訊我剛好有需要 thx! linux_xp
受教了!謝謝分享!