Linux學習筆記(十二)軟體安裝

2021-06-23 08:27:48 字數 3113 閱讀 9839

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 packagename

查詢指定已安裝rpm軟體包含的檔案:rpm -ql packagename

查詢目標檔案屬於哪個rpm包:rpm -qf filename

查詢rpm檔案的資訊:rpm -qip software.rpm

查詢rpm檔案包含的檔案:rpm -qlp software.rpm

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]

name = this is xx rpm software repo

baseurl =

enabled = 1

gpgcheck = 1

yum配置檔案必須以.repo結尾,乙個配置檔案可以儲存多個倉庫的配置資訊。

yum倉庫:

yum管理軟體常見命令:

yum install software-name        表示安裝指定檔案

yum remove software-name     表示解除安裝指定檔案

yum update software-name      表示公升級指定檔案

yum查詢:

yum search keyword                 表示按照

指定關鍵字進行搜尋

yum list (all|installed|updates

)   表示列出全部、已安裝的、最近的、軟體更新

yum info packagename             表示顯示指定軟體資訊

yum whatprovides filename       表示查詢哪個rpm軟體包含目標檔案

建立yum倉庫:

手工建立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 包名複...