Linux課程學習筆記來源於網易雲課堂:Linux 入門基礎
1 源代碼形式
1) 絕大多數開源軟件都是直接以源代碼形式發佈
2) 源代碼一般會被打包成tar.gz的歸檔壓縮文件
3) 程序源代碼需要編譯成爲二進制形式之後才能夠運行使用
4) 源代碼基本編譯流程:
1- ./configure 檢測編譯環境、相關庫文件以及配置參數並生成makefile
2- make 對源代碼進行編譯,生成可執行文件
3- make install 對生成的可執行文件安裝到計算機中
5) 源代碼形式的軟件使用起來較爲麻煩,但是兼容性及可控制性(編譯之前進行一些配置)較好
6) 開源軟件一般都會大量使用其他開源軟件的功能,所以開源軟件會有大量的依賴關係(使用某軟件需要先安裝其他軟件)
2 RPM
1) 源代碼形式的缺點:操作複雜、編譯時間長、極容易出現錯誤(10M可能就要編譯10幾分鐘,幾百M可能要幾個小時、極容易出現錯誤CentOS或者Redhat默認使用RPM方式管理軟件)
2) 源代碼形式的優點:使用所有系統、可定製
3) 爲了方便使用,Erik Troan和Marc Ewing開發了RPM(redhatPackage Manager)
4) RPM通過將源代碼基於特定平臺系統編譯爲可執行文件(不能解決跨平臺的問題),並保存依賴關係,來簡化開源軟件的安裝管理
5) RPM設計目標如下
*使用簡單
*使用單一軟件包格式文件發佈(.rpm文件)
*可升級
*追蹤軟件依賴關係(不能自動解決)
*基本信息查詢(作者、發佈時間、版本號、說明等)
*軟件驗證功能
*支持多平臺
3 RPM軟件包常用命令規範
1) linuxcast-1.2.0-30.el6.i686.rpm
其中,linuxcast`軟件名稱`-1.2.0-30`版本號,越高軟件越新`.el6`針對於el6系統平臺`.i686`32位還是64位x86_64`.rpm
即:
第一部分是這個軟件的名字
第二部分是版本號
第三個和第四個是對應的系統和平臺
2) RPM基礎命令(安裝軟件必須在root用戶下)
*安裝軟件:`rpm -isoftware.rpm`
*卸載軟件:`rpm -esoftware``注意不加版本號等`
*升級形式安裝:`rpm -Usoftware-new.rpm`
*rpm支持通過http、ftp協議安裝軟件
*rpm -ivh http://www.linuxcast.net/software.rpm
3) 可以加入以下參數`通常都會加上vh兩個參數`
*-v 顯示詳細信息
*-h 顯示進度條
4 RPM查詢
RPM會保存軟件相關的很多信息,可通過以下命令查詢
* rpm -qa 列出所有安裝的rpm軟件
* rpm -qffilename 查詢目標文件屬於哪個rpm包
* rpm -qipackagename 查詢指定已安裝rpm軟件的信息`不需要加版本號等`
* rpm -qlpackagename 查詢指定已安裝rpm軟件包含的文件
* rpm -qipsoftware.rpm 查詢未安裝rpm文件的信息
* rpm -qlpsoftware.rpm 查詢未安裝rpm文件包含的文件
5 RPM驗證
1) 軟件在傳播的過程中可能會被惡意的修改,所以爲了安全起見現代系統都加入了對軟件的驗證功能
2) 驗證一般使用非對稱加密算法,所以需要一個密鑰
3) 導入密鑰
rpm -importRPM-GPG-KEY-CentOS-6
4) 驗證rpm文件
rpm -Ksoftware.rpm
5) 驗證已安裝的軟件(驗證哪些不該被修改的文件被修改了)
rpm -V software