rpm管理包

rpm命令是RPM軟件包的管理工具。rpm原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由于它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linux易于安裝,升級,間接提升了Linux的適用度。接下來聊一聊如何安裝、卸載、查詢、檢驗rpm類的軟件。

安裝:

rpm [-i|–install][install-options] 軟件包名

 -v 顯示詳細信息

 -h 以#來表示安裝進度

 –test 測試安裝,不執行真正的安裝過程

 –nodeps 忽略依賴關系(能安裝成功,但不一定能運行成功)

 –force 強制安裝

 –replacepkgs 重裝并覆蓋原有文件

 安裝時常用組合:-ivh

升級:

rpm [-U|–upgrade][install-options] 軟件包名

 -U 升級或安裝

 -F 升級

 -Uvh 當有舊版本的安裝包時,則卸載舊包再裝新包,如沒有舊包,直接裝新包。

 -Fvh 當有舊版本的安裝包時,卸載舊包裝新包,無舊包時,什么都不做

 –test: 測試安裝,但不真正執行安裝,即dry run模式

 –nodeps:忽略依賴關系

 –oldpackage 降級 已有新包,裝舊包。

 –force 強制安裝。

【溫馨提示】

(1) 不要對內核做升級操作;Linux支持多內核版本并存,因此可以直接安裝多個版本內核

(2) 如果原程序包的配置文件安裝后曾被修改,升級時,新版本的提供的同一個配置文件并不會直接覆蓋老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留

查詢:

rpm [-q|–query][select-options][query-options] 軟件包名

 -q  查詢某軟件包是否安裝

 -qa 查詢已經安裝的所有軟件包

 -qf 查詢某文件由哪個軟件包生成

 -qp 查詢未安裝的軟件包

 -qi 查詢某軟件包的詳細信息

 -ql 查詢軟件包安裝生成的文件列表

 -qc 查詢軟件包的配置文件(不是所有包都有配置文件)

 -qd 查詢軟件包的幫助文檔

 -qR 查詢實現自身的功能需要什么能力

 -q –changelog 版本更新日志

 -q –scripts 查詢軟件包自帶的腳本

 -q –provides 查詢自身提供的capabilities

 -q –requires 查詢自身所依賴的capabilities

卸載:

rpm -e 軟件包名

     –nodeps 忽略依賴性關系,強制卸載  

 –test 測試卸載,即dry-run模式

 –allmatches 如果一個程序包同時安裝多個版本,則此選項可以一次全部卸載。

【溫馨提示】

如果程序包的配置文件安裝后曾被修改,卸載時,此文件通常不會被刪除,而是被重命名(FILENAME.rpmsave)后留存

驗證:

rpm -V 軟件包名

    -V 查詢軟件包安裝之后生成的文件是否發生了改變

    -K 驗證軟件包的完整性和rpm簽名是否合法

–nosignature: 不檢查來源合法性

    –nodigest:不檢查包完整性

    –noscripts:不執行程序包腳本

      %pre: 安裝前腳本; –nopre

      %post: 安裝后腳本; –nopost

      %preun: 卸載前腳本; –nopreun

      %postun: 卸載后腳本; –nopostun

最后來兩道練習題吧:

1.統計光盤中Packages下,各種架構的rpm包的數量。

rpm管理包

由于安裝包很多,所以這里也沒有具體截圖,給大家展示一下最后顯示的結果,方法很多種,關鍵看你怎么用,能達到簡單、快速、高效的結果(還記得rev是什么功能么?沒錯rpm管理包就是逆序輸出內容。這里用rev取個巧)

2.查詢命令java來自于哪個rpm包

rpm管理包

rpm管理包

rpm管理包

rpm管理包

rpm管理包

這里呢執行一次,截了一次圖,別問為什么,就是這么任性rpm管理包。當然了主要還是為了能讓你們能夠清晰直觀的閱讀,想知道java這個命令來自哪個包,當然得知道什么是java啦(第一張圖示)然后 在接下來一步一步找,你會發現查了一步是鏈接,再查還是鏈接,有沒有覺得很好玩,一層套一層,層層鏈接終于找到它。(當初實驗的時候可是花費了很久才找到,找到了發現原來它就在這。這叫眾里尋他千百度,驀然回首,它就在java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64里rpm管理包)好了,以上就是今天的分享了,謝謝大家rpm管理包

原創文章,作者:吼吼哈嘿,如若轉載,請注明出處:http://www.www58058.com/84908

(0)
吼吼哈嘿吼吼哈嘿
上一篇 2017-08-19
下一篇 2017-08-19

相關推薦

  • Linux進程及作業管理

    process 運行中的程序的一個副本,是被載入內存的一個指令集合 進程ID(Process ID,PID)號碼被用來標記各個進程 UID、GID、和SELinux語境決定對文件系統的存取和訪問權限, 通常從執行進程的用戶來繼承 存在生命周期 task struct:Linux內核存儲進程信息的數據結構格式 task list:…

    Linux干貨 2016-09-11
  • nginx AIO機制與sendfile機制

    nginx AIO機制與sendfile機制 從0.8.11版本開始, nginx 開始支持Linux native aio,如何在nginx里配置使用這套機制是本文介紹的重點。在下面的示例配置中,幾個重要相關選項的具體含義如下: aio: Syntax: aio on | off | sendfi…

    Linux干貨 2016-10-27
  • Linux基礎命令與詳解(2017后續更新)

    后續陸續更新 命令基礎

    Linux干貨 2017-11-14
  • 文件權限

           文件權限 一.文件屬性   如下圖所示:rw- 屬于所屬主root。中間r–屬于所屬組root的。r–屬于其他的(other)   文件屬性的操作: 1.chown 設置文件的所有者 例:chown  li(用戶)   f1(文件)…

    Linux干貨 2016-08-08
  • 系統啟動和內核管理以及幾個重要實驗

    Centos啟動流程:     1.加載BIOS的硬件信息,獲取第一個啟動設備     2.讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息     3.加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅動所有的硬件設備 &n…

    Linux干貨 2017-05-15
  • ?N25第三周作業

    第三周 一、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@zf ~]# who | cut -d " " -f1  | sort | uniq -…

    Linux干貨 2016-12-14
欧美性久久久久