2007年10月31日 星期三

作業系統的線上更新(Online Update for Operating Systems)

現在,線上更新應該算是相當成熟的一種技術了,因為網路的普及,現在連很多軟體的授權還可以經過網路來做線上認證及啟動,不過...大家真的懂怎麼更新嗎?

其實在現在各系統都開始發展圖形介面之後,絕大部份都可以經由滑鼠來解決這問題,而且各作業系統都會把線上更新的預設值設定為開啟,至於M$系統的線上更新可能會遇見的問題還勞煩參考此篇

M$的線上更新應該大家都駕輕就熟(下一步點到底),可是在其它系統來說,有時候想經由線上更新某些BATCH檔就會顯得有點生疏,這也是我這篇要說的重點。

舉例來說:筆者所接觸過的LINUX有FEDORAUBUNTU,光是這兩大陣營使用的方式就不相同(RED HATDEBIAN


雖然它們跟M$系統相同都有圖形介面,不過它們的使用方式與M$系統比較,只能說各有利弊,在這裡我會以指令的方式來說明,所以對於文字介面比較不熟的人,可能會覺得門檻高一點,不過這些小技巧學起來,只可說受益無窮。

在說明之前,有一點可能要先釐清,那就是所謂的線上更新軟體個別更新是不完全相同的,例:你在使用M$的Microsoft Windows Update時,它主要是針對作業系統內原有程式做修補、更新(IE、作業系統的弱點...),但是要針對其它軟體進行更新的話,可能就要採Office Update這種更新方式才能夠得到線上更新的效果。(M$的更新限定使用IE!= =+)

從這裡可以順便提醒一下各位,不要只使用內建的自動更新,至少OFFICE的相關軟體幾乎是每個人電腦裡都具備的軟體(當然你也可以用Open Office),它的更新也要注意喔!至於直接整合更新的技巧就請參考此篇

其實在現在較為熱門的LINUX系統中,也有具備類似的機制:(文字介面

     系統   軟體管理套件   整體更新套件
    ----------------------
     FEDORA    rpm       yum
    ----------------------
     UBUNTU    dpkg       apt-get
    ----------------------

從這介紹應該可看出rpm與dpkg和yum與apt是相互對應的套件程式,我在這裡僅列出常用指令來說明,這樣可讓首次接觸此系統的使用者也能在文字模式進行更新。

以下就是引用自FEDORA(YUMRPM)及UBUNTU官網的內容,讓大家有所查閱:(參數請參照官方說明)

RPM:
    指令         目的
  -------------------
   rpm -qa 套件名    查詢安裝套件
   rpm -ivh 套件名    安裝套件*註1
   rpm -e 套件名    移除套件
  -------------------
   其他參數:
        --test(模擬測試)
        --force(強制安裝,補充缺少的檔案)

   註1:rpm安裝可用的參數有三種,分別是iUF,其功能比較如下
      
    參數    系統未安裝        套件更新
  --------------------------------
     i      直接安裝     X(保留舊有版本)
     U      直接安裝    版本更新(不存在則直接更新)
     F       X      版本更新(無前版本無法更新)
  --------------------------------

DPKG:

    指令        目的
  -------------------
   dpkg -S 檔案   查詢所屬套件
   dpkg -L 套件名  查詢套件安裝檔案
   dpkg -l 套件名  查詢已安裝套件
   dpkg -i xx.deb  安裝套件
   dpkg -Gi xx.deb  升級套件
   dpkg -r 套件名  移除套件(需移除設定檔需增加--purge參數)
  -------------------

YUMAPT-GET就沒有太大的差異,也是新手最愛使用的線上更新模式:

      YUM         APT         目的
  -------------------------------
  yum install 套件名  apt-get install 套件名       安裝
  yum remove 套件名   apt-get remove 套件名     移除
  yum update 套件名  apt-get upgrade(update)套件名 更新*註2
  yum search 套件名   apt-cache search 套件名     查詢
  -------------------------------
  /etc/yum.repos.d/*  /etc/apt/source.list     設定檔路徑

   註2:upgrade是更新所有套件,而update僅更新資料庫內容。

以上聽我寫了一大堆,我想一般非LINUX的使用者已經昏頭轉向,如果有心想要進入LINUX的世界的話,以上常用的指令可就不可不學囉!雖然圖形介面也有相對應的功能,但是拿來裝LINUX的主機大多是舊電腦,多給它一些資源來工作,讓電腦運作的更順暢也是不錯的一件事,不過還是要看使用者怎麼取捨。

除此之外,UBUNTU也可以透過RPM的相關套件安裝,在UBUNTU上也能使用RPM來更新,只是我還沒有親自試過,不敢在此擅自妄為...如果有試過的人,歡迎留言指教與討論。

4 則留言:

  1. cc 糾錯一下嘿^^

    「各」別的各應該是這個「個」

    大逃~~~~~

    回覆刪除
  2. 多謝你的指正,看來太久沒做文字工...

    還敢大逃,追回來鞭打(賣造...)

    回覆刪除
  3. 謝謝您分享

    那麼我很想請教你一個問題

    online game 的線上更新的原理又是什麼呢

    真的很想知道 拜託你了

    回覆刪除
  4. ibm...

    你想知道online game的更新原理...

    雖然我也有玩過onlinegame,但是對他的更新就沒有研究過了,以下是我自己的猜想(我猜跟病毒碼update很像)

    在你onlingane的資料夾裡有個文件檔是記錄了你更新過patch資訊,每次連上server後,都會先比對該檔...

    然後比對到完全更新結束後才會跳進遊戲的登入介面...(這部份應該都是強制的,如果沒更新完是不給你登入的,主控權在server)

    畢竟會用bug影響onlinegame公平性的人不在少數呀!

    以上就是我大概的猜測囉!如果有那為在onlinegame公司的朋友知道,也歡迎分享...

    回覆刪除