天天看點

【轉載】linux-查詢rpm包相關安裝、解除安裝腳本

測試過程中,有時要測試開發自己打的rpm包,為了确認打包正确,需要查詢rpm包相關安裝、解除安裝腳本,可以使用指令:

[root@6 /]#rpm -q --scripts mysql

postinstall scriptlet (using /bin/sh):

/sbin/install-info /usr/share/info/mysql.info.gz /usr/share/info/dir

/sbin/ldconfig

preuninstall scriptlet (using /bin/sh):

if [ $1 = 0 ]; then

    /sbin/install-info --delete /usr/share/info/mysql.info.gz /usr/share/info/dir || :

fi

postuninstall scriptlet (using /bin/sh):

if [ $1 = 0 ] ; then

    /sbin/ldconfig

fi

會有一些下面這些辨別聲明的腳本段

preinstall scriptlet (using /bin/sh)::安裝前執行腳本

postinstall scriptlet (using /bin/sh)::安裝後執行腳本

preuninstall scriptlet (using /bin/sh)::解除安裝前執行腳本

postuninstall scriptlet (using /bin/sh)::解除安裝後執行腳本

如果安裝過程中,不想執行其中一個腳本,可以指定:

-nopre:不執行安裝前腳本 

--nopost:不執行安裝後腳本

--nopreun :不執行解除安裝前腳本

--nopostun:不執行解除安裝後腳本

全部不執行,使用:--noscripts 即相當于前面四個的總合

################

linux RPM包安裝、更新、删除等操作指令簡明總結, 如何檢視yum安裝的軟體路徑 ?

rpm -ivh package.rpm 安裝一個rpm包

rpm -ivh --nodeeps package.rpm 安裝一個rpm包而忽略依賴關系警告

rpm -U package.rpm 更新一個rpm包但不改變其配置檔案

rpm -F package.rpm 更新一個确定已經安裝的rpm包

rpm -e package_name.rpm 删除一個rpm包

rpm -qa 顯示系統中所有已經安裝的rpm包

rpm -qa | grep httpd 顯示所有名稱中包含 "httpd" 字樣的rpm包

rpm -qi package_name 擷取一個已安裝包的特殊資訊

rpm -qg "System Environment/Daemons" 顯示一個元件的rpm包

rpm -ql package_name 顯示一個已經安裝的rpm包提供的檔案清單

rpm -qc package_name 顯示一個已經安裝的rpm包提供的配置檔案清單

rpm -q package_name --whatrequires 顯示與一個rpm包存在依賴關系的清單

rpm -q package_name --whatprovides 顯示一個rpm包所占的體積

rpm -q package_name --scripts 顯示在安裝/删除期間所執行的腳本l

rpm -q package_name --changelog 顯示一個rpm包的修改曆史

rpm -qf /etc/httpd/conf/httpd.conf 确認所給的檔案由哪個rpm包所提供

rpm -qp package.rpm -l 顯示由一個尚未安裝的rpm包提供的檔案清單

rpm --import /media/cdrom/RPM-GPG-KEY 導入公鑰數字證書

rpm --checksig package.rpm 确認一個rpm包的完整性

rpm -qa gpg-pubkey 确認已安裝的所有rpm包的完整性

rpm -V package_name 檢查檔案尺寸、 許可、類型、所有者、群組、MD5檢查以及最後修改時間

rpm -Va 檢查系統中所有已安裝的rpm包- 小心使用

rpm -Vp package.rpm 确認一個rpm包還未安裝

rpm2cpio package.rpm | cpio --extract --make-directories *bin* 從一個rpm包運作可執行檔案

rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 從一個rpm源碼安裝一個建構好的包

rpmbuild --rebuild package_name.src.rpm 從一個rpm源碼建構一個 rpm 包

1. rpm -qa|grep 軟體包名

2. rpm -ql 軟體包名  (l是L的小寫,不是堅線)

這裡以hdf5軟體包為例:

       首先采用 yum install hdf5

        #yum install hdf5

      #rpm -ql hdf5-1.8.7-1.el6.rf.x86_64

以下内容摘自<<Linux鳥哥的私房菜>>:

rpm 全名是 “RedHat Package Manager",簡稱則為RPM。當被這個軟體管理機制是由Red Hat這家公司發展來的。RPM是以一種資料記錄的方式來将你所需要的軟體安裝到你的Linux系統的一套管理機制。rpm的優點如下:

1. RPM内含已編譯過的程式與設定檔案等資料,可以讓使用者免除重新編譯的困擾。

2. RPM在被安裝之前,會先檢查系統的硬碟容量、作業系統版本等,可避免檔案被錯誤安裝。

3. RPM檔案本身提供軟體版本資訊、依賴屬性軟體名稱、軟體用途說明、軟體所含檔案資訊,便于了解軟體。

4. RPM管理的方式使用資料庫記錄RPM檔案的相關參數,便于更新、删除、查詢與驗證。

RPM預設安裝路徑:

/etc 一些設定檔案放置的目錄如/etc/crontab
/usr/bin 一些可執行檔案
/usr/lib 一些程式使用的動态函數庫
/usr/share/doc 一些基本的軟體使用手冊與幫助文檔
/usr/share/man 一些man page檔案
【轉載】linux-查詢rpm包相關安裝、解除安裝腳本