Linux系統公升級的經驗之談

2021-08-27 15:03:26 字數 1754 閱讀 5369

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

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

1.公升級一般軟體

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

如果是原始檔則要留心包裡面是否有幫助和安裝檔案(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來將軟體包安裝在計算機上。

LINUX下的開發經驗之談

我就是做linux下的c開發的。準確的說,linux下c才是主要的開發語言,但是寫應用程式還是要用物件導向的,尤其是圖形介面的,不如qt和x和gtk等等。下面說的必須要求你c語言學的很好而且會使用linux的情況下。linux常用命令要熟悉。要學linux下的c程式設計,先看一兩本linux下c的書...

誤刪檔案的經驗之談

一 引言 二 防止誤刪資料技巧 1 修改或刪除資料前請務必備份,最好有異機備份,修改配置等先提交版本管理系統在發布到線上環境。2 可以使用mv命令替代rm命令,無用的檔案不要著急刪除,而是移動到 站 tmp裡面觀察一段時間 可以通過設定別名等手段遮蔽rm。例如 alias rm mv f targe...

寫sql語句的經驗之談

資料庫技術學習 做管理系統的,無論是bs結構的還是cs結構的,都不可避免的涉及到資料庫表結構的設計,sql語句的編寫等。因此在開發系統的時候,表結構設計是否合理,sql語句是否標準,寫出的sql效能是否優化往往會成為公司衡量程式設計師技術水平的標準。我們程式設計師不是dba,不需要時刻關注sql執行...