當咱們使用linux一段時間之後,天然不會知足老是在沒有任何變化的系統中工做,而是渴望能象在windows系統中同樣,不斷對本身的linux進行升級。另外一方面,linux自己就是一個開放的系統,天天都會有新的軟件出現,linux發行套件和內核也在不斷更新。在這樣的狀況下,學會對linux(包括系統自己和各類軟件)進行升級就顯得很是迫切了。linux
在Linux環境下,升級的對象能夠是通常的軟件,能夠是編譯器,也能夠是系統的內核,甚至是系統自己。下面,蟲蟲就分別講講對不一樣對象的升級的方法。shell
1.升級通常軟件windows
通常來講,升級應用軟件是比較簡單的,由於你不用太在乎升級後對其餘軟件的影響(若是是升級系統,狀況就不同了)。首先,你必須找到但願升級軟件的新版本。你能夠在linux的專門站點上尋找本身中意的軟件。而後就是使用各類下載工具將軟件下載到指定的目錄中。下載的軟件大部分是以tar打包的gzip壓縮文件。函數
在處理這些軟件以前最好使用tartvf或tarztvf命令看看下載來的文件中包含了一些什麼文件。由於獲得的軟件多是二進制文件也多是源碼,使用上述的命令能夠看看到底是哪一中文件。工具
若是是二進制文件,通常能夠直接將包打開,而後刪除相應的老文件就能夠了。spa
若是是源文件則要留心包裏面是否有幫助和安裝文件(readme/install/help)等等。而後將軟件打開到指定的目錄中去,仔細看看幫助和安裝文件中的提示和安裝約定,再進行安裝工做。這時,安裝工做意味着要對源代碼進行編譯。首先要對makefile文件進行修改,修改的內容和修改的方法在軟件包中的相關文件中每每能夠找到,另外有的時候軟件包裏會包含一個shell程序configure,執行它能夠省很多時間。對makefile文件處理完之後,就可使用make命令來編譯指定的文件。最後用makeinstall命令將軟件安裝到本身的計算機上。orm
2.升級編譯器對象
咱們能夠先看看本身當前的gcc版本gcc-v而後決定是否要進行升級。當咱們須要對本身gcc、鏈接器、彙編器以及各類頭文件和函數庫進行升級的時候,咱們就能夠到相關站點上獲取對應的軟件包,而後在指定目錄下打開,同時刪除(覆蓋)原來的老文件就能夠了。ip
3.升級函數庫ci
由於升級後要從新指定庫的鏈接,因此升級函數庫是比較麻煩的。咱們知道,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.咱們能夠從這些文件中看出是否是須要進行升級。而後找到相應部分的軟件包,使用
installpkgfilename或者
rpm-Ufilename來將軟件包安裝在計算機上。
linux有必定水平者能夠參考下,初學者瞭解便可。
想必各位看了這篇文章以後必定會有所收貨,若想了解更多相關知識請繼續鎖定希賽系統學院!