程序包管理初步

升級:

      rpm {-U|–upgrade} [install-options] PACKAGE_FILE …

               -U:升級或安裝;

      rpm {-F|–freshen} [install-options] PACKAGE_FILE …

          -F:升級

      rpm -Uvh PACKAGE-FILE…

      rpm -Fvh PACKAGE-FILE…

      –oldpackage:降級

     –force:強制升級

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

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

  卸載:

      rpm {-e|–erase} [–allmatches] [–nodeps] [–noscripts]

      [–notriggers] [–test] PACKAGE_NAME …

      –nodeps :忽略依賴關系

      –test: z測試卸載,dry run模式

查詢:

      rpm {-q|–query} [select-options] [query-options]

     [select-options]

     PACKAGE_NAME :  查詢指定的程序報是否已經安裝,及其版本;

     -a, –all: 查詢已安裝過的所有包;

     -f, FILE: 查詢指定的文件有那個安裝包生成;

     -g,–group GROUP 

     -p,–package PACKAGE_FILE:用于實現對未安裝的程序報執行查詢操作;

     –whatprovides CAPABILITY: 查詢指定的CAPABILITY由那個程序包提供;  

     –whatrerequires CAPABILITY:查詢指定的CAPABILITY被那個包所依賴;

    [qery-options]

     –changelog:查詢rpm包的changlog

    -l, list:程序安裝生成的所有列表;

    -i ,–info: 程序包的相關信息,版本號,大小,所屬的包租,等;

    -c, –configfiles: 查詢指定的程序包提供的配置文件;

    -d,–docfiles:查詢指定的程序包提供的文檔;

    –provides: 列出指定的程序包的所有的CAPABILITY;

    -R,–requires:查看程序報自帶的腳本片斷;

用法:

    -qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE

    -qpi PACKAGE-FILE,-qpl PACKAGE-FILE, -qpc PACKAGE-FILE,…

校驗:

    rpm {-V|–verify} [select-options] [verify-options]

    S file size differs 文件大小不同

    M Mode differs (formerfy MD5)differs 模式不同(包含文件和權限)

    5  digest(formerly MD5 sum)differs

    D  Device major/minor number mismatch 設備主要/次要號碼不匹配

    L readLink(2)path mismatch 符號鏈接路徑不同

    U User ownership diffes 用戶所有者不同

    G Group ownership differs 群組所有者不同

    T mTime differs  修改時間不同

    P caPabilites differ  功能不同

 包來源合法性驗證和完整性驗證:

     來源合法性驗證:

     完整性驗證;

     獲取定導入信任的包制作者的密鑰:

對于Centos7 發行版來說:rpm –import /etc/pki/rpm-gpg/RPM-KEY-Centos-7

    驗證:(1)安裝此組織簽名的程序是,會自動執行驗證;

          (2)手動驗證:rpm -k PACKAGE-FILE

數據庫重建:

    rpm管理數據庫路徑:/var/lib/rpm/

    查詢操作:通過此處數據庫進行;

    獲取幫助:Centos6: man rpm

Centos7: man rpmdb

    rpm {–initdb|–rebuilddb} [–dbpth DIRECTORY] [–root DIRECTORY]

   –initdb:初始化數據庫,當天無任何數據庫可實現初始化創建一個新的;當前有時候不執行任何操作 

   –rebuilddb:重建構建,通過讀取當前系統上所有已經安裝的程序包進行重新創建;

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

(0)
shadowshadow
上一篇 2016-12-31
下一篇 2016-12-31

相關推薦

  • samba

    samba samba概述 samba原理 samba服務 samba的命令 samba搭建實例 使用GUI工具SWAT管理samba samba概述 什么是samba? samba是基于smb(Server Message Block)協議的一種實現方式。 samba的功能是什么? samba能夠用來在windows,unix平臺間實現文件共享服務,不同于…

    Linux干貨 2016-04-28
  • 2. 初識shell

        在Linux早期, 可以用來工作的只有shell. 那時, 系統管理員, 程序員和系統用戶都坐在Linux命令行終端前, 輸入文本命令, 查看文本輸出. 而現在, 因為有了絢麗的圖形化桌面環境, 在系統上找到shell提示符都變得困難起來. 接下來將會討論提供命令行環境需要什么, 然后帶你逐步了解可能會在各種L…

    Linux干貨 2016-11-06
  • 第一周記錄

    列出Linux的發行版,描述不同發行版之間的聯系與區別。    發行版多達100多種,其中主要的有Debian旗下的Ubuntu、knopix,Slackware旗下的S.u.S.E,RedHat公司旗下的RedHat、CentOS、Fedora。其中各個版本之間的區別:包管理器的區別;但其內核都是Linux內核。 ifconfig: 查…

    Linux干貨 2016-08-15
  • 初學Linux之標準 I/O 和管道

    前面我們已經了解了文件系統的部分內容,我們可以通過 ls 命令讓當前目錄下的內容都顯示在屏幕上,也可以使用 pwd 命令,顯示當前的所在的目錄路徑。但是我們輸入的是命令,本身并沒有輸入“顯示”這類命令和要求,但是系統就自動的在屏幕上輸出我們命令指定的信息。由此可以想象到,系統自身有默認的一種輸出方式,同時,有輸出就有輸入,當輸入的和系統無關,系統也會自動提示錯誤,以上就是我們接下來要了解的基礎內容——標準 I/O。具體的涉及內容包括:三種 I/O 設備,把 I/O 重定向入文件,tr 命令的使用,使用管道鏈接命令。

    2017-12-02
  • Linux 第二天: (07月22日) Linux入門

    Linux 第二天: (07月22日) Linux入門       root管理員帳戶,超級用戶,除非必要,不要用root登錄 /dev/console 物理終端/dev/tty 虛擬終端, CentOS 6默認6個虛擬終端/dev/pts 模擬終端tty 查看當前終端設備     GUI 圖形用戶界面 GN…

    Linux干貨 2016-08-08
  • Linux文件查找及壓縮常用知識總結

    一、文件查找 1.locate命令: locate KEYWORD 常用選項:     -i 執行區分大小寫的搜索     -n  N只列舉前N個匹配項目 查詢系統上預建的文件索引數據庫在:/var/lib/mlocate/mlocate.…

    Linux干貨 2016-08-18

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-13 09:32

    包管理更多的使用yum來解決~后面可以再總結一下yum相關的~

欧美性久久久久