在現在的 Internet 上面,Cracker 實在是太多了!這些 Cracker 利用已知道的 Linux 上面的套件漏洞,來進行偵測、入侵您的主機,因此,除了未來架設防火牆之外,最重要的 Linux 日常管理工作,莫過於套件的升級了!不過,經由每日觀察網路安全通報所告知的套件漏洞,以及等待各大 distribution 針對這些漏洞來提供 RPM 檔案,以使 Client 來升級的過程中,實在是有點緩慢啊!因此,目前就有很多線上直接更新的機制出現了!有了這些線上直接更新 RPM 的手段與方法,我們系統管理員在管理主機系統上面,可就輕鬆的多囉!趕緊來看看吧! |
[root@test
root]# rpm -qa | grep up2date
up2date-3.1.23-1 |
[root@test roo]# rpm --rebuilddb |
[root@test
roo]# rhn_register
0. debug No 1. rhnuuid 6b1058dc-82ee-11d7-9acb-cd7c6dfdb7bc 2. isatty Yes 3. showAvailablePacka No 4. depslist [] 5. retrieveOnly No 6. enableRollbacks No 7. pkgSkipList ['kernel*'] 8. storageDir /var/spool/up2date 9. adminAddress ['root@localhost'] 10. noBootLoader No 11. serverURL https://xmlrpc.rhn.redhat.com/XMLRPC 12. fileSkipList [] 13. sslCACert /usr/share/rhn/RHNS-CA-CERT 14. noReplaceConfig Yes 15. noReboots None 16. useNoSSLForPackage No 17. systemIdPath /etc/sysconfig/rhn/systemid 18. enableProxyAuth No 19. retrieveSource No 20. versionOverride 21. headerFetchCount 10 22. networkRetries 5 23. enableProxy No 24. proxyPassword 25. noSSLServerURL http://xmlrpc.rhn.redhat.com/XMLRPC 26. keepAfterInstall No 27. proxyUser 28. removeSkipList ['kernel*'] 29. useGPG Yes 30. gpgKeyRing /etc/sysconfig/rhn/up2date-keyring.gpg 31. httpProxy 32. headerCacheSize 40 33. forceInstall No 34. noReboot No Enter number of item to edit <return to exit, q to quit without saving>: 這個時候可以按下 Enter 來離開!而且,這個畫面只有在第一次才會出現! 此外,不同的版本出現的畫面不太相同!不過原理都一樣的啦!需要特別留意的 是上面幾個不同字體的部分!不過不要緊,可以先保持預設值,其他的 未來再手動來設定。 Your GPG keyring does not contain the Red Hat, Inc. public key. Without it, you will be unable to verify that packages Update Agent downloads are securely signed by Red Hat. Your Update Agent options specify that you want to use GPG. To install the key, run the following as root: rpm --import /usr/share/rhn/RPM-GPG-KEY 這裡在說明我們的註冊程式沒有 Red Hat 的 GPG 公鑰(Public Key), 所以需要手動來製作一份!直接輸入上面的字眼即可! [root@test root]# rpm --import /usr/share/rhn/RPM-GPG-KEY |
[root@test
/root]# up2date -l <==列出所有可以升級的套件
[root@test /root]# up2date --showall <==列出您的版本中,有沒有可以升級的套件 [root@test /root]# up2date -i packages<==直接升級 packages 那個套件!例如: [root@test /root]# up2date -i gdb <==直接連到 Red Hat 主機升級 gdb 這個套件 [root@test /root]# up2date -u <==全部的套件升級!等於升級您的 Red Hat ! |
# 1. 先檢查一下我的主機需要進行更新的套件有哪些?
[root@test /root]# up2date -l Fetching package list for channel: redhat-linux-i386-9... ######################################## Fetching Obsoletes
list for channel: redhat-linux-i386-9...
Fetching rpm
headers...
Name
Version Rel
註:因為我曾經更新過,所以這裡顯示出來的套件有點少喔! ^_^ # 2. 針對 unzip
這個套件來更新一下:
Fetching package
list for channel: redhat-linux-i386-9...
Fetching Obsoletes
list for channel: redhat-linux-i386-9...
Fetching rpm
headers...
Testing package
set / solving RPM inter-dependencies...
|
[root@test
root]# urpmi.removemedia [name]
參數說明: [name]:為媒體的名稱 範例: [root@test root]# urpmi.removemedia package.ftp.nsysu # 事實上,我蠻討厭原版光碟還在 /etc/urpmi/urpmi.cfg 裡面的, # 所以我都會將他移除說! |
[root@test
root]# urpmi.update [name]
參數說明: [name]:為媒體的名稱 範例: [root@test root]# urpmi.update update.ftp.nsysu |
[root@test
root]# vi /etc/crontab
# 在這個檔案當中新增一行: 30 5 * * * root /usr/sbin/urpmi.update update.ftp.nsysu > /dev/null ; /usr/sbin/urpmi --media update.ftp.nsysu --auto --auto-select > /dev/null # 特別注意,上面是同一行啊! |
[root@test
root]# rpm -ivh \
> http://ftp.freshrpms.net/pub/freshrpms/redhat/9/apt/apt-0.5.5cnc6-fr1.i386.rpm [root@test root]# rpm --import \ > ftp://linux.sinica.edu.tw/redhat/redhat-9/en/os/i386/RPM-GPG-KEY [root@test root]# rpm --import http://ftp.freshrpms.net/pub/freshrpms/RPM-GPG-KEY |
[root@test
root]# vi /etc/apt/sources.list
# Red Hat Linux 9 rpm http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms #rpm-src http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms # 裡面料的格式為: # rpm <APT伺服器位址> <相對於伺服器的路徑> <目錄一> <目錄二> <目錄三> ... # 以上面的例子來說,事實上 RPM 放置的目錄在: # http://ayo.freshrpms.net/redhat/9/i386/RPMS.os # http://ayo.freshrpms.net/redhat/9/i386/RPMS.updates # http://ayo.freshrpms.net/redhat/9/i386/RPMS.freshrpms |
[root@test root]# apt-get update |
[root@test
root]# apt-get <options> <更新項目>
<套件名稱>
參數說明: options:關於參數有底下幾個較常見的: -q 不要輸出訊息,安靜一點比較好嗎?! ^_^ -y 如果 apt-get 在工作過程中需要使用者回應,這個參數可以直接回答 yes 更新項目:更新的動作有底下幾個: update:就是剛剛我們上個動作說的,要更新 Client 與 Server 的清單對應 install:安裝某個套件,後面接套件名稱 dist-upgrade:自動升級我們系統上面已經安裝的所有 RPM 套件喔 clean:將下載自 APT 主機的的 RPM 檔案刪除哩! 範例: [root@test root]# apt-get install tcpdump # 安裝 tcpdump 這個套件 [root@test root]# apt-get -y dist-upgrade # 升級我們系統上面的所有 RPM 套件 [root@test root]# apt-get clean # 至於每日更新的話,可以寫入 /etc/crontab 喔 [root@test root]# vi /etc/crontab 40 5 * * * root apt-get update; apt-get -y dist-upgrade ; apt-get clean |
http://linux.vbird.org/download/#zzgetrpm整個程式的安裝方法也是很簡單的!