RPM 是RPM Package Manager(RPM軟體包管理器)的縮寫。
RPM檔案在Linux系統中的安裝最為簡便。
一.
rpm:
主要工作内容為安裝,查詢,解除安裝,更新,校驗,資料庫的重建,驗證資料包等。
2. rpm lib資料庫
資料庫為 /var/lib/rpm
3. rpm命名
包的組成部分
主包:
bind-版本号
如:bind-9.1.1-1.i586.el5.rpm
子包:
bind-libs-9.1.1-1.i586.el5.rpm
bind-utils-9.1.1-1.i586.el5.rpm
包名格式:
name-version-release.arch.rpm
bind軟體名-主版本号.次版本号.發行号.架構平台.rpm
主版本号:重大改進
次版本号:某個子功能發生重大變化
發行号:修正了部分BUG,調整了一點功能
二:
1. rpm安裝指令
rpm -i /PAth/File檔案
-v 以#顯示進度,每個#表示2%;
-h:顯示詳細的資訊過程
-vv:顯示更詳細的過程
rpm -ivh /PATH/To/FILE
--nodeps:忽略依賴關系;
如:rpm -ivh gcc-4.4.7-3.el6.x86_64.rpm
--replacepkgs:重新安裝,替換原有安裝
--force:強行安裝,可以實作重裝或者降級
2. rpm包查詢
rpm -q File_name:檢視指定的包是否已經安裝
rpm -qa :查詢已經安裝的所有包
rpm -qa | grep File_name: 查詢File_name是否已經安裝,包括那些包
rpm -qi File_Name:查詢指定包的說明資訊
rpm -ql File_Name:查詢指定包安裝後生成的檔案清單
rpm -qf /path/to/file_name: 查詢指定的檔案是由哪個rpm包安裝生成的
rpm -qc File_Name:查詢指定安裝包的配置檔案
rpm -qd PACKAGE_Name:查詢指定安裝包的幫助檔案
rpm -q --scripts PACKAGE_Name:查詢指定安裝包中包含的腳本
如果某個rpm包尚未安裝,我們需查詢其說明資訊,安裝以後生成的檔案
rpm -qpi /PATH/to/PACKAGE_Name
rpm -qpl /PATH/to/PACKAGE_Name
3. rpm包更新
rpm -Uvh /PATH/to/PACKAGE_Name 如果裝有老版本的,則更新,否則安裝
rpm -Fvh /PATH/to/PACKAGE_Name 如果裝有老版本的,則更新,否則退出
rpm --oldpackage: 降級
4. rpm解除安裝
rpm -e PACKAGE_Name :
rpm --nodeps :忽略依賴關系
rpm -e --nodeps Package_Name: 忽略依賴關系解除安裝
5. rpm校驗
rpm -V PACKAGE_NAME :校驗指定rpm包
6. 重建資料庫
rpm --rebuilddb:重建資料庫,一定會重建立立
rpm --initdb:初始化資料庫 ,沒有才建立,有就不用建立資料庫
7. rpm檢驗來源合法性,及軟體包完整性
[root@localhost zhang]# ls /etc/pki/
[root@localhost zhang]# ls /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@localhost zhang]#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:導入密鑰檔案
rpm -K /PAPT/to/PACKAGE_NAME 驗證rpm包
rsa,gpg:驗證來源合法性,也即驗證簽名,可以使用--nosignature,略過此項
sha1,md5:驗證軟體包的完整性,可以使用--nodigest,略過此項
列子:以 gcc-4.4.7-3.el6.x86_64.rpm軟體包為例
源碼編譯安裝:
編譯安裝的步驟:
1、下載下傳源碼包,并解壓
# tar xf package.tar.{gz | bz2 | xz}
注意,解壓完成後的目錄名稱通常為package
2.切換到源碼目錄中
# cd package
3、執行configure腳本
# ./configure
4.編譯
# make
5、安裝
# make install
configure腳本的通用功能:
我們需要定義的配置:
1、指定安裝路徑
--prefix=/usr/local/package_name
2、指定配置檔案路徑
--sysconfdir=/etc/package_name
3、指定啟用/禁用的特性:
--enable-feature 例如:--enable-fpm
--disable-feature 例如:--disable-socket
4、指定所依賴功能、程式或檔案
--with-function:啟用某功能
--without-function: 禁用某功能
不同的程式,其configure腳本功能不同,需擷取幫助
./configure --help
二進制程式:
#vim /etc/profile.d/apache.sh
PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH
export PATH
頭檔案輸出給系統
# ln -sv /usr/local/apache/include /usr/include/httpd
庫檔案輸出
#vim /etc/ld.so.conf.d/httpd.conf
/usr/local/apache/bin
讓系統重新生成庫檔案路徑緩存
#ldconfig
導出man檔案
#vim /etc/man.config
MANPATH /usr/local/apache/man
解除安裝則删除安裝目錄即可
本文轉自 zhangguangyi 51CTO部落格,原文連結:http://blog.51cto.com/bosszhang/1676084