歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux系統升級的經驗之談

Linux系統升級的經驗之談

日期:2017/3/1 14:15:06   编辑:關於Linux
Linux系統升級的經驗之談 當我們使用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 -v"命令看看自己當前的gcc版本,然後決定是否要進行升級。當我們需要對自己的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/llib/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來將軟件包安裝在計算機上。
Copyright © Linux教程網 All Rights Reserved