1. 源**源**形式的軟體使用起來較為麻煩,但是相容性及可控性較好。開源軟體一般都會大量使用其他開源軟體的功能,所以開源軟體會有大量的依賴關係(使用某軟體需要先安裝其他軟體)絕大多數開源軟體都是直接以源**形式發布,源**一般會被打包成tar.gz的歸檔壓縮檔案,需要編譯成二進位制之後才能執行使用。
開源軟體的基本編譯流程:
(1) ./configure----檢查編譯環境、相關庫檔案以及配置引數並生成makefile
(2) .make----對源**進行編譯,生成可執行檔案
(3) make install----將生成的可執行檔案安裝到當前的計算機
因此,源**
形式的優點是:適於所有作業系統,可控性強,缺點是操作複雜、編譯時間長、極易出現錯誤。為了方便使用,出現了rpm(redhat package manager)。
2. rpm
rpm通過將源**基於特定的平台系統編譯為可執行檔案,並儲存依賴關係,來簡化開源軟體的安裝管理。
rpm的設計目標是:使用簡單、使用單一軟體包格式檔案發布、可公升級、追蹤軟體的依賴關係、可查詢基本資訊、支援軟體驗證功能、支援多平台(不同平台,編譯不用rpm包)。
rpm軟體包的常用命名規範為:linuxcast-1.2.0-30.el6.i686.rpm,其中linuxcast為軟體名,1.20.0-30為版本號,el6為系統平台,i686為32位。
rpm基礎命令:
安裝軟體:rpm -i software.rpm 解除安裝軟體:rpm -e software(只跟軟體名)
公升級形式安裝:rpm -u software-new.rpm
rpm支援通過http、ftp協議安裝檔案:rpm -ivh 其中-v表示顯示詳細資訊,-h顯示進度條
rpm查詢:
列出所有安裝的rpm軟體:rpm -qa
查詢指定已安裝rpm軟體的資訊:rpm -qi packagenamerpm驗證:軟體在傳播的過程中可能會被惡意的修改,所以安全起見,現代系統都加入了對軟體的驗證功能,一般使用非對稱加密演算法,所以需要乙個金鑰。查詢指定已安裝rpm軟體包含的檔案:rpm -ql packagename
查詢目標檔案屬於哪個rpm包:rpm -qf filename
查詢rpm檔案的資訊:rpm -qip software.rpm
查詢rpm檔案包含的檔案:rpm -qlp software.rpm
匯入金鑰的方法:rpm --import rpm-gpg-key-centos
-6驗證rom檔案:rpm -k software.rpm
驗證已安裝的軟體:rpm -v software
3. 軟體管理:yum
yum(yellowdog updater modified)是乙個rpm的前端程式,主要目的是設計用來自動解決rpm的依賴關係問題。
yum的特點是:自動解決依賴關係、可對rpm進行分組,並基於組進行安裝操作、引入倉庫概念並支援多個倉庫、配置簡單等
yum引入倉庫
(repo)的概念,倉庫用來存放所有現有的rpm軟體包,當使用yum安裝乙個rpm軟體的時候,如果存在依賴關係,會自動在倉庫中查詢依賴軟體並安裝。倉庫可以是本地的,也可通過http、ftp或nfs形成使用集中的,統一的網路倉庫。倉庫的配置檔案儲存在/etc/yum.repos.d/目錄下。格式如下:
[linux-rpm-package]yum配置檔案必須以.repo結尾,乙個配置檔案可以儲存多個倉庫的配置資訊。name = this is xx rpm software repo
baseurl =
enabled = 1
gpgcheck = 1
yum倉庫:
yum管理軟體常見命令:
yum install software-name 表示安裝指定檔案yum查詢:yum remove software-name 表示解除安裝指定檔案
yum update software-name 表示公升級指定檔案
yum search keyword 表示按照建立yum倉庫:指定關鍵字進行搜尋
yum list (all|installed|updates
) 表示列出全部、已安裝的、最近的、軟體更新
yum info packagename 表示顯示指定軟體資訊
yum whatprovides filename 表示查詢哪個rpm軟體包含目標檔案
手工建立yum倉庫:
(1) 將所有的rpm包拷貝到乙個資料夾(一般在安裝光碟中的package檔案中)(2) 通過rpm命令手工安裝createrepo軟體
(3) 執行命令,出現repodata資料夾:createrepo -v /rpm-directory
(4) 如果有分組資訊,則執行命令的時候用-g引數指定分組檔案
createrepo -g /tmp/ *comps.xml /rpm-directory
centos/rhel的分組資訊儲存在光碟repodata/目錄下,檔名以.xml結尾的xml檔案
(5) 建立好之後,編寫yum配置檔案,本機可以通過file方式直接使用,如需作為對外的yum倉庫伺服器,可通過http、ftp或nfs協議獲取。
在/etc/yum.repos.d目錄下,建立.repo配置檔案
[linux-base]
name = linuxyum repo
baseurl = file:///linux-yum/
enabled = 1
gpgcheck = 1
yum為了提高速度會快取
很多資訊,這些快取有時會造成一些故障,可通過: yum clean all消除快取,每次安裝或查詢類命令會重建yum快取。
Linux 學習筆記 十二
打包表示把一堆檔案變成乙個包裹,打包是必須指定要打包的檔案。tar 打包工具 f 指定包的名字 c 建立包 v 顯示建立過程 t 檢視包中內容 x 解包 r 新增檔案到包中 delete filename 刪除包中指定檔案 get filename 取出包中指定檔案 例 tar cf etc.tar...
Linux學習筆記十四軟體安裝
軟體包分類 rpm包依賴 包全名與包名 包全名 操作的包是沒有安裝軟體包時,使用包全名,而且要注意路徑。包名 操作已經安裝的軟體時,使用包名。是搜尋 var lib rpm 中的資料庫 rpm 安裝 rpm ivh 包全名 選項 i install 安裝 v varbose 顯示詳細資訊 h has...
Linux學習筆記 軟體安裝管理
一 軟體包管理簡介 二 rpm命令管理 四 原始碼包管理 五 指令碼安裝包 所謂的指令碼安裝包,就是把複雜的軟體包安裝過程寫成了程式指令碼,使用者可以自信程式指令碼實現一鍵安裝。單司機安裝的還是原始碼包和二進位製包 rpm 選項 包全名複製 選項 rpm uvh 包全名複製 選項 rpm e 包名複...