rpm軟件包管理

一:二進制應用程序組成部分

二進制文件(which command)、庫文件(ldd `which command`)、配置文件(.conf)、幫助文件(.README)等

二:rpm包文件的組成

rpm文件、rpm元數據(如名稱、依賴性關系等)、安裝或卸載時運行的腳本

三:rpm包數據庫:

1.組成部分(通過 ls /var/lib/rpm 來查看):

rpm軟件包管理

 1)程序包名稱及版本
 2)依賴關系 功能說明
 3)包安裝后生成的各文件路徑及校驗碼信息

2.rpm數據庫的作用與常用問題:

當安裝已存在的rpm包時,系統通過數據庫中rpm包安裝記錄得知已安裝,于是會顯示安裝失敗。但當用rm刪除程序的一個相關文件時,程序有可能不能正常運行,但rpm數據庫并不會記錄,所以不會提示程序不存在。此時,當用rpm重新安裝程序時,會提示程序已存在。

四: rpm  包管理器 

①安裝程序常用命令選項:rpm -ivh file.rpm

解析:-i (install) 安裝命令

         -v  顯示詳細信息

         -h  顯示進度條

②程序安裝和刪除常見問題(重點):

1)包的依賴性問題

 我們知道,rpm包具有依賴性,這將導致某個rpm包安裝失敗,此時要用–nodeps 來忽略依賴性,強制安裝或強制刪除。例如以下httpd包的安裝過程

rpm軟件包管理

同理,刪除某程序時也存在包的依賴問題,這時,用rpm -e file.rpm -nodeps來解決就好了。

2)程序因缺少某文件而不能使用,需要重裝程序時,單純使用-ivh已經不能解決問題,這時應使用–replacepkgs,例如下面這種情況:

rpm軟件包管理

3)當安裝rpm包時發現已存在舊包,想要刪除舊包裝新包時,用-Uvh(update),如下已有aide命令老版本,想要用新版本替換時,用-Uvh

同理,有時我們想單純的為程序升級,想要在有舊包的前提下再裝新包,不存在時舊不更新,我們可以用 –Fvh

(注:   這兩種選項都會刪除舊包裝新包。)

rpm軟件包管理

4)但有時,我們想要保留舊包,并安裝新包,此時要用到–replacefiles,我們還拿aide命令rpm包開刀:

rpm軟件包管理

rpm軟件包管理

5)當我們安裝舊包時發現已存在新包時,想要保留新包的前提下安裝舊包時,可用–replacefiles ,但必須搭配–oldpackage,如下例子:

rpm軟件包管理

6)–force  (包含–replacepkgs, –replacefiles, –oldpackage的功能),常用于在不刪除舊包的前提下,新包的安裝。

7)當安裝rpm文件時,系統會提示公鑰未導入,此時我們可以通過以下兩種方式來解決

 方法1: –nosignature: 不檢查來源合法

rpm軟件包管理

方法2:當然,第一種方法顯然是一種不安全的做法,此時,我們使用–import GPG-KEY….來導入公鑰,操作過程如下

 第一步:查詢當前系統所有已導入的公鑰:rpm -qa “gpg-pubkey*”   

 第二步:如未導入則導入公鑰:rpm –import  /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-(6/7)

 第三步:安裝rpm包,此時發現已經不會顯示警告

④包的查詢:

-qa   command 查看程序的所有rpm包  —————(常用rpm軟件包管理rpm軟件包管理

-qf   command 查看一個文件來自那個rpm包
-qp rpmfile  查看尚未安裝的程序包的詳細信息
– q -changelog  版本更新日志
-qc 查詢軟件包的配置文件 (.conf)
-qd 查詢軟件包的幫助文檔(.README)
-ql (包含-qc -qd) 查詢軟件包所安裝到系統當中的所有文件路徑  ————(常用rpm軟件包管理rpm軟件包管理
-qi  查詢軟件包的詳細信息  —————(常用rpm軟件包管理rpm軟件包管理
-q –scripts 查詢軟件包自帶的腳本
-q –provides 查詢自身的功能
-qR 查詢實現自身的功能需要什么能力


原創文章,作者:yunyunyu,如若轉載,請注明出處:http://www.www58058.com/84648

(0)
yunyunyuyunyunyu
上一篇 2017-08-13
下一篇 2017-08-14

相關推薦

  • linux文件權限詳解

    基本命令 1.cut :?cat /etc/passwd | cut -d’:’ -f7| uniq -c| sort -nr 2.authconfig 修改加密方式 –passalgo=sha256 — update 3.scp 上傳文件 -r dir ip:path 傳目錄 file ip:path傳文件 …

    Linux干貨 2017-04-03
  • 分布式系統的事務處理

    當我們在生產線上用一臺服務器來提供數據服務的時候,我會遇到如下的兩個問題: 1)一臺服務器的性能不足以提供足夠的能力服務于所有的網絡請求。 2)我們總是害怕我們的這臺服務器停機,造成服務不可用或是數據丟失。 于是我們不得不對我們的服務器進行擴展,加入更多的機器來分擔性能上的問題,以及來解決單點故障問題。 通常,我們會通過兩種手段來擴展我們的數據服務: 1)數…

    Linux干貨 2016-08-15
  • linux文件目錄詳解

    linux目錄結構   (且看且不看) 歷史上 /usr和 /etc文件夾下既保存靜態文件,也保存可變文件,后來有了/var層次結構,/usr下面的可變文件被轉移到/var下面。因而/usr現在可以只讀的方式掛載(如果它在單獨的文件系統上)。 /etc下的可變文件早已轉移到/var,因為技術上允許/ 根是系統內核啟動后掛載的第一個分區,掛載到根上的…

    Linux干貨 2017-05-31
  • M20-1 8月5號作業

    作業:    1、取本機IP地址;    2、取各分區利用率的數值;    3、統計/etc/init.d/functions 文件中每個單詞出現的次數,并按頻率從高到低顯示;    4、/etc/rc.d/init.d/functions或/etc/rc.d/init.d/fu…

    Linux干貨 2016-08-15
  • 在vsftp中實現基于pam_mysql的虛擬用戶機制

    FTP簡介 在介紹vsftp相關內容前,簡單描述下FTP。FTP全稱File Transfer Protocol,文件傳輸協議。它是一個C/S架構的協議,在Linux中其服務端實現主要有vsftpd,pureftpd,proftpd,Filezilla,本文主要介紹的是vsftp。客戶端實現主要是ftp和lftp兩種工具。其工作方式:主要分為兩個層面的連接:…

    Linux干貨 2017-01-07
欧美性久久久久