linux rpm包管理

一、概要

    RPM:RPM Package Manager(rpm軟件包管理器)的縮寫。它能將編譯好的程序打包一個文件或有限的幾個文件,可用于實現安裝、卸載、升級、查詢等功能。

二、rpm軟件包管理

rpm包的命名格式:name-version-relase.arch.rpm

例如:bash-1.1.0-5.el6.x86_64.rpm

其中bash是就是我們的軟件名字,1.1.0-5是該軟件的版本號,el6.x86_64這兩個部分是指我們該rpm包的運行平臺的操作系統版本。例如el6就表示是針對于RHEL6的發現版本,我們使用的是什么版本的Linux操作系統,我們就要去下載對應的rpm版本,x86_64表示是運行在64位上的系統。

rpm的基礎命令: rpm [option] /path/to/package_file(rpm+選項+安裝包文件)

rpm的使用方法相當簡單,常用選項有:

安裝軟件:rpm -i /path/to/package_file

卸載軟件:rpm -epackage_name(軟件名字)

以升級方式安裝:rpm -U /path/to/package_file //軟件原先存在則升級,否則安裝

常用組合命令:

-v: 顯示安裝過程

-h:以#顯示安裝進度,一個#表示2%

例如:我們安裝下bash的rpm包

[root@jxf home]# rpm -ivh bash-1.1.0-5.el6.x86_64.rpm   // 通常我們一般安裝時跟上 -ivh參數,來顯示安裝的詳細信息

Preparing…                 ########################################## [100%]   

1:tigervnc                  ########################################### [100%]

此時,我們發現軟件已經安裝完畢。

另外:rpm –test  /path/to/package_file 將對安裝包進行安裝測試,不會直接安裝

    rpm –replacepkgs  /path/to/package_file  將對軟件進行覆蓋安裝 

注意:在卸載程序包時,如果此程序被其他包所依賴,則將依賴于此包的所有包一并卸載,或者,使用–nodpes選項忽略依賴關系;但是,依賴于此程序的程序包可能無法正常運行。


RPM常用查詢命令

rpm -qa   列出所有已安裝的rpm軟件

[root@jxf home]# rpm -qa
java-1.6.0-openjdk-devel-1.6.0.0-1.50.1.11.5.el6_3.x86_64
qimageblitz-0.0.4-1.el6.x86_64
gnome-python2-gnomevfs-2.28.0-3.el6.x86_64
perl-ExtUtils-ParseXS-2.2003.0-129.el6.x86_64
iscsi-initiator-utils-6.2.0.873-2.el6.x86_64
libhbaapi-2.2.6-1.el6.x86_64
perl-BSD-Resource-1.29.03-3.el6.x86_64
sane-backends-1.0.21-3.el6.x86_64
gtkspell-2.0.16-1.el6.x86_64

rpm -qf filename  查詢指定文件屬于哪個rpm包

[root@xiaoluo home]# rpm -qf /usr/share/mysql/

-libs-.-.el6_3.x86_64

rpm -qi packagename  查詢已軟件包的信息

[root@localhost jjh]# rpm -qi libmtp

Name        : libmtp                       Relocations: (not relocatable)

Version     : 1.0.1                             Vendor: CentOS

Release     : 2.el6                         Build Date: Wed 18 Aug 2010 09:30:05 PM CST

Install Date: Tue 03 Mar 2015 04:41:08 PM CST      Build Host: c6b3.bsys.dev.centos.org

Group       : System Environment/Libraries   Source RPM: libmtp-1.0.1-2.el6.src.rpm

Size        : 711583                           License: LGPLv2+

Signature   : RSA/8, Sun 03 Jul 2011 12:36:58 PM CST, Key ID 0946fca2c105b9de

Packager    : CentOS BuildSystem <http://bugs.centos.org>

URL         : http://libmtp.sourceforge.net/

Summary     : A software library for MTP media players

Description :

This package provides a software library for communicating with MTP

(Media Transfer Protocol) media players, typically audio players, video

players etc.

rpm -ql packagename  查詢指定軟件包包含的文件

[root@localhost jjh]# rpm -ql libmtp

/lib/udev/rules.d/60-libmtp.rules

/usr/lib64/libmtp.so.8

/usr/lib64/libmtp.so.8.3.1

/usr/share/hal/fdi/information/10freedesktop/10-usb-music-players-libmtp.fdi

rpm -qip software.rpm 查詢rpm文件的信息

[root@jxf home]# rpm -qip zip-3.0-1.el6.x86_64.rpm 

Name        : zip                          Relocations: (not relocatable)

Version     : 3.0                               Vendor: CentOS

Release     : 1.el6                         Build Date: Wed 18 Aug 2010 09:30:05 PM CST

Install Date: (not installed)               Build Host: c6b3.bsys.dev.centos.org

Group       : Applications/Archiving        Source RPM: zip-3.0-1.el6.src.rpm

Size        : 823612                           License: BSD

Signature   : Tue 03 Mar 2015 04:41:08 PM CST Key ID 0946fca2c105b9de

Packager    : CentOS BuildSystem <http://bugs.centos.org>

URL         : http://www.info-zip.org/Zip.html

Summary     : A file compression and packaging utility compatible with PKZIP

Description :

The zip program is a compression and file packaging utility.  Zip is

analogous to a combination of the UNIX tar and compress commands and

is compatible with PKZIP (a compression and file packaging utility for

MS-DOS systems).


Install the zip package if you need to compress files using the zip

program.

rpm -qlp software.rpm  查詢rpm文件包含的文件

[root@jxf home]# rpm -qlp zip-3.0-1.el6.x86_64.rpm 

/usr/bin/zip

/usr/bin/zipcloak

/usr/bin/zipnote

/usr/bin/zipsplit

/usr/share/doc/zip-3.0

/usr/share/doc/zip-3.0/CHANGES

/usr/share/doc/zip-3.0/LICENSE

/usr/share/doc/zip-3.0/README

/usr/share/doc/zip-3.0/README.CR

/usr/share/doc/zip-3.0/TODO

/usr/share/doc/zip-3.0/WHATSNEW

/usr/share/doc/zip-3.0/WHERE

/usr/share/doc/zip-3.0/algorith.txt

/usr/share/man/man1/zip.1.gz

/usr/share/man/man1/zipcloak.1.gz

/usr/share/man/man1/zipnote.1.gz

/usr/share/man/man1/zipsplit.1.gz

rpm校驗命令:
rpm -V package_name:查詢包安裝后文件屬性是否發生變化

[root@localhost jjh]# rpm -V libmtp

[root@localhost jjh]# 

如果沒有任何顯示,則說明該軟件是完整的,否則顯示以下數據。

例如:S..D…..P

   S file Size differs

  M Mode differs (includes permissions and file type)

  5 digest (formerly MD5 sum) differs

  D Device major/minor number mismatch

  L readLink(2) path mismatch

  U User ownership differs

  G Group ownership differs

  T mTime differs

  P caPabilities differ

如果某項屬性沒有變化,則顯示為:"."

    

rpm -K /path/to/package_file: 手動檢查包的完整性

[root@xiaoluo home]# rpm -K zip-3.0-1.el6.x86_64.rpm

zip-3.0-1.el6.x86_64.rpm: rsa sha1 (md5) pgp md5

數據庫目錄 /var/lib/rpm

使用rpm –initdb:初始化

如果事先沒有庫,會新建一個,如果有,則不重建

rpm –rebuilddb:重建

如果重建,覆蓋原有的數據庫


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

(0)
傲劍傲劍
上一篇 2015-04-27 18:30
下一篇 2015-04-27 21:29

相關推薦

  • Linux 發展史

    摘要:     Linux是一款基于Unix的服務端操作系統,目前已廣泛應用于國內外的服務器端操作系統領域,其開源性是其獲得及其快速的發展,目前至少已有數百種發行版本。 本文主要講述了linux的系統簡介、發展歷程和Linux的發行版;     1、Linux的哲學思想:    &nbsp…

    Linux干貨 2016-10-19
  • 2017中華數據庫與運維大會強勢回歸!

         時隔一年,2017年中華數據庫與運維大會將于06月03日在上海寶豐聯大酒店強勢回歸,屆時來自全國各行各業的IT從業人員將歡聚上海,探討與交流數據庫和運維的經驗。       自2009年以來,超過4000位技術總監、技術負責人、架構師、項目經理、運維總監、運維經理、DBA經理、DBA、運維…

    2017-02-28
  • 0809linux基礎小記(sed和vim用法)

    sed  [options] ‘scripts’ inputfile -n: 不輸出模式空間內容的自動打印 -e: 多點編輯 -f:從指定文件中讀取編輯腳本 -i:原處編輯 scripts: ’地址命令’ 地址定界: (1)  不給地址:對全文進行處理 (2)  單地址: #:  指定的行 例: sed '2…

    Linux干貨 2016-08-11
  • linux文件系統(ext2\ext3\ext4,xfs,btrfs…)的介紹[轉載]

    ext2\ext3\ext4,xfs,btrfs 都是針對服務器系統越來越高效實用的日志文件系統 日志文件系統:    日志文件系統是一種即使在斷電或者是操作系統崩潰的情況下保證文件系統一致性的途徑。XFS對文件系統元數據提供了日志支持。當文件系統更新時,元數據會在實際的磁盤塊被更新之前順序寫入日志。XFS的日志被保存在磁盤塊的…

    Linux干貨 2017-01-31
  • LAMP運行環境搭建及部署php程序軟件

    前言     Linux+Apache+MySQL+PHP是大多數web服務器的運行環境,能熟練配置此運行環境是每個運維的必備基本技能,本文以安裝MySQL管理工具PHPmyadmin以及博客軟件wordpress為例,演示編譯安裝LAMP運行環境的過程。 一、實驗拓撲圖 二、安裝步驟 2.1 編譯安裝Apache h…

    2015-11-26
  • Shell腳本編程 流程控制—選擇

    流程控制可根據不同的情況做不同的處理,而且可重復執行指定的程序區域,在shell bash中流程控制可分為兩大類: "選擇"和"循環" 1.選擇:if、case、select 2.循環:for、while、until、select 命令結束狀態返回值: 在shell中命令執行狀態返回值分兩種,成功和失敗,0表示成功,非…

    Linux干貨 2016-08-24
欧美性久久久久