Linux作業系統不同物件全面升級方法介紹(zt)

tonykorn97發表於2007-07-04
當我們使用Linux一段時間以後,自然不會滿足總是在沒有任何變化的系統中工作,而是渴望能象在windows系統中一樣,不斷對自己的linux進行升級。另一方面,linux本身就是一個開放的系統,每天都會有新的軟體出現,linux發行套件和核心也在不斷更新。在這樣的情況下,學會對linux(包括系統本身和各種軟體)進行升級就顯得非常迫切了。

在Linux環境下,升級的物件可以是一般的軟體,可以是編譯器,也可以是系統的核心,甚至是系統本身。下面,蟲蟲就分別講講對不同物件的升級的方法。

  1. 升級一般軟體

  一般來說,升級應用軟體是比較簡單的,因為你不用太在意升級後對其他軟體的影響(如果是升級系統,情況就不一樣了)。首先,你必須找到希望升級軟體的新版本。你可以在linux的專門站點上尋找自己中意的軟體。然後就是使用各種下載工具將軟體下載到指定的目錄中。下載的軟體大部分是以tar打包的gzip壓縮檔案。

  在處理這些軟體之前最好使用tar tvf 或 tar ztvf 命令看看下載來的檔案中包含了一些什麼檔案。因為得到的軟體可能是二進位制檔案也可能是原始碼,使用上述的命令可以看看究竟是哪一中檔案。

  如果是二進位制檔案,一般可以直接將包開啟,然後刪除相應的老檔案就可以了。

  如果是原始檔則要留心包裡面是否有幫助和安裝檔案(readme / install / help)等等。然後將軟體開啟到指定的目錄中去,仔細看看幫助和安裝檔案中的提示和安裝約定,再進行安裝工作。這時,安裝工作意味著要對原始碼進行編譯。首先要對makefile檔案進行修改,修改的內容和修改的方法在軟體包中的相關檔案中往往可以找到,另外有的時候軟體包裡會包含一個shell 程式configure, 執行它可以省不少時間。對makefile檔案處理完以後,就可以使用make命令來編譯指定的檔案。最後用make install 命令將軟體安裝到自己的計算機上。

  2. 升級編譯器

  我們可以先看看自己當前的gcc版本 gcc -v 然後決定是否要進行升級。當我們需要對自己gcc、聯結器、彙編器以及各種標頭檔案和函式庫進行升級的時候,我們就可以到相關站點上獲取對應的軟體包,然後在指定目錄下開啟,同時刪除(覆蓋)原來的老檔案就可以了。

  3. 升級函式庫

  因為升級後要重新指定庫的連線,所以升級函式庫是比較麻煩的。我們知道,linux系統的庫檔案分為檔案庫和共享庫兩種型別。檔案庫的檔案一般是libx.a,而共享庫的檔案一般是libx.so.version. 升級函式庫時必須使用新的版本的.a 和 .so.version檔案替換老版本的對應檔案。對.a檔案來說非常容易,只要將新的檔案拷進指定的目錄,覆蓋原有的檔案就可以了。但是我們對共享庫進行操作的時候就要特別小心了。決不能簡單地將新檔案拷到一個目錄下,然後刪除舊的檔案。因為有可能舊的函式庫正在為某個程式所使用。我們必須保證每一個程式都能夠正確地找到共享庫。簡單地講,當我們將新版本的共享庫檔案放到指定目錄下以後,使用ln命令來完成:

  ln -sf /usr/lib/libdb.so.new("new"指新的版本號) /usr/lib/libdb.so.old("old"是原有的檔案)比如 /usr/lib/libdb.so.2 原來指向的檔案是/usr/lib/libdb.so.2.0.1,現在有一個新檔案/usr/lib/libdb.so.2.78.1,我們可以這樣處理:ln -sf /usr/lib/libdb.so.2.78.1 /usr/lib/libdb.so.2 然後,我們才能將/usr/lib/libdb.so.2.0.1檔案進行刪除。

  4. 系統升級

  最簡單的升級方法當然是。。。。。。一張cd-rom裡就可以將整個系統完全包括了。當然,這樣的升級方法比較費事,同時,每一次升級都意味著原來的檔案有可能丟失,因此,完全沒有必要總是將系統重新安裝一次。每一個linux發行套件其實都有記錄升級情況的檔案。比如slackware中有一個changelog.txt檔案,按時間順序記錄了slackware的更新狀況。而在redhat中則是/redhat-4.2/updates/00readme.errata.我們可以從這些檔案中看出是不是需要進行升級。然後找到相應部分的軟體包,使用 installpkg filename 或者rpm -U filename 來將軟體包安裝在計算機上。linux有一定水平者可以參考下,初學者瞭解即可。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245707/,如需轉載,請註明出處,否則將追究法律責任。

相關文章