當(dāng)我們使用Linux一段時(shí)間以后,自然不會滿足總是在沒有任何變化的系統(tǒng)中工作,而是渴望能象在Windows系統(tǒng)中一樣,不斷對自己的Linux進(jìn)行升級。另一方面,Linux本身就是一個開放的系統(tǒng),每天都會有新的軟件出現(xiàn),Linux發(fā)行套件和內(nèi)核也在不斷更新。在這樣的情況下,學(xué)會對Linux(包括系統(tǒng)本身和各種軟件)進(jìn)行升級就顯得非常迫切了。
1.升級一般軟件
一般來說,升級應(yīng)用軟件是比較簡單的,因?yàn)槟悴挥锰谝馍壓髮ζ渌浖挠绊?如果是升級系統(tǒng),情況就不一樣了)。首先,你必須找到希望升級的新版本。你可以在Linux的專門站點(diǎn)上尋找自己中意的軟件。然后就是使用各種下載工具將軟件下載到指定目錄中。下載的軟件大部分是以tar打包的gzip壓縮文件。
在處理這些軟件之前最好使用tar tvf 或 tar ztvf 命令看看下載下來的文件中包含了一些什么文件。因?yàn)榈玫降能浖赡苁嵌M(jìn)制文件也可能是源碼,使用上述的命令可以看看究竟是哪一種文件。
如果是二進(jìn)制文件,一般可以直接將包打開,然后刪除相應(yīng)的老文件就可以了。
如果是源文件則要留心包里面是否有幫助和安裝文件(readme / install / help)等等。然后將軟件打開到指定的目錄中去,仔細(xì)看看幫助和安裝文件中的提示和安裝約定,再進(jìn)行安裝工作。這時(shí),安裝工作意味著要對源代碼進(jìn)行編譯。首先要對Makefile文件進(jìn)行修改,修改的內(nèi)容和修改的方法在軟件包中的相關(guān)文件中往往可以找到,另外有的時(shí)候軟件包里會包含一個shell程序configure,執(zhí)行它可以省不少時(shí)間。對makefile處理完以后,就可以使用make命令來編譯指定的文件。最后用make install命令將軟件安裝到自己的計(jì)算機(jī)上。
2.升級編譯器
我們可以先用"gcc -v"命令看看自己當(dāng)前的gcc版本,然后決定是否要進(jìn)行升級。當(dāng)我們需要對自己的gcc、連接器、匯編器以及各種頭文件和函數(shù)庫進(jìn)行升級的時(shí)候,我們就可以到相關(guān)站點(diǎn)上獲得對應(yīng)的軟件包,然后在指定目錄下開打,同時(shí)刪除(覆蓋)原來的老文件就可以了。
3.升級函數(shù)庫
因?yàn)樯壓笠匦轮付◣斓倪B接,所以函數(shù)庫是比較麻煩的。我們知道,Linux系統(tǒng)的庫文件分為檔案庫和共享庫兩種類型。檔案庫的文件一般是libx.a,而共享庫的文件一般是libx.so.version,升級函數(shù)庫時(shí)必須使用新的版本的。a和。so.version文件替換老版本的對應(yīng)文件。對。a文件來說非常容易,只要將新文件拷進(jìn)指定的目錄,覆蓋原來的文件就可以了。但是我們對共享庫進(jìn)行操作的時(shí)候就要特別小心了。絕不能簡單地將新文件拷到一個目錄下,然后刪除舊的文件。因?yàn)橛锌赡芘f的函數(shù)庫正在為某個程序所使用。我們必須保證每個程序都能夠正確地找到共享庫。簡單的將,當(dāng)我們將新版本的共享庫文件放到指定目錄下以后,使用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,現(xiàn)在有一個新文件 /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文件進(jìn)行刪除。
4.系統(tǒng)升級
最簡單的升級方法當(dāng)然是……一張cd-rom里就可以將整個系統(tǒng)完全包括了。當(dāng)然,這樣的升級方法比較費(fèi)事,同時(shí),每一次升級都意味著原來的文件有可能丟失,因此,完全沒有必要總是將系統(tǒng)重新安裝一次。每一個Linux發(fā)行套件其實(shí)都是記錄升級情況的文件。比如slackware中有一個changelog.txt文件,按時(shí)間順序記錄了slackware的更新狀況。而在RedHat中則是/redhat-4.2/updates/00readme.errata.我們可以從這些文件中看出是不是需要進(jìn)行升級。然后找到相應(yīng)部分的軟件包,使用installpkg filename或者rpm –U filename來將軟件包安裝在計(jì)算機(jī)上。
以上分享了linux系統(tǒng)下一般軟件,編譯器,系統(tǒng)內(nèi)核以及系統(tǒng)本身升級技巧,希望真正的可以幫助到大家更好升級linux系統(tǒng)。