測試過程中,有時要測試開發自己打的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檔案 |