程序包管理初步

升級:

      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 21:25
下一篇 2016-12-31 22:07

相關推薦

  • VMware虛擬機三種連網原理簡介

    一、前言         虛擬機(Virtual Machine),在計算機科學中的體系結構里,是指一種特殊的軟件,可以在計算機平臺和終端用戶之間創建一種環境,而終端用戶則是基于這個軟件所創建的環境來操作系統軟件。虛擬機根據它們運用和與直接機器的相關性分為兩大類。系統虛擬機和程序虛擬機,系…

    Linux干貨 2015-08-03
  • 馬哥教育網絡班21期+第2周課程練習

    一、Linux文件管理類命令匯總 1、文件的復制命令:cp 復制命令:cp     cp [OPTION]… [-T] SOURCE DEST     cp [OPTION]… SOURCE… DI…

    Linux干貨 2016-07-29
  • 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
  • N27_第十三周作業

    1、建立samba共享,共享目錄為/data,要求:描述完整的過程 1)共享名為shared,工作組為magedu 2)添加組develop,添加用戶gentoo,centos和Ubuntu,其中gentoo和centos以develop為附加組,Ubuntu不屬于develop組,密碼均為用戶名 3)添加samba用戶gentoo,centos和Ubunt…

    2017-11-20
  • 文本處理工具sed習題

    1、刪除/etc/grub2.cfg文件中所有以空白開頭的行行首空白字符 [root@wzc date]# sed -n 's/^[[:space:]]\+//p' /etc/grub2.cfg load_env set default="${next_entry}&q…

    Linux干貨 2016-08-12
  • Week9’s homework

    Week9's homework 1、寫一個腳本(1)判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin)(2)分別統計兩類用戶的個數;通過字符串比較來實現。 #!/bin/bash # for i in $(cat /etc/passwd |…

    Linux干貨 2016-12-24

評論列表(1條)

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

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

欧美性久久久久