1:rpm 包管理
1:封包件名說明 httpd-2.2.15-45.el6.centos.x86_64.rpm
httpd:軟體名稱,2.2.14:軟體版本2為主版本後面的2為次版本号 45:為重複編譯次數 el6.centos.x86_64:适用系統平台為enterprise linux6,centot rpm:為包格式
2:rpm 包安裝後,該軟體的相關資訊會被寫入/var/lib/rpm,的這個資料庫中。
3:相關的安裝路徑
二進制程式:/bin,/sbin , /usr/bin, /usr/sbin
自身庫檔案:/lib64 , /usr/lib64
配置檔案:/etc
幫助檔案:/usr/share/doc ,/usr/share/man ,man檔案,info檔案,
4: rpm的基本安裝
rpm -ivh xxx.rpm
i:指install v:檢視詳細安裝畫面 -h:顯示安裝進度
rpm -ivh xxx.rpm --test
--test:測試安裝環境,如上圖就測試出安裝環境具有軟體依賴性問題。
rpm -ivh xxx.rpm --nodeps
--nodeps:強制安裝,忽略依賴關系,
rpm -ivh xxx.rpm --replacepkgs
--replacepkgs: 重新安裝
5:rpm 的更新安裝
rpm -Uvh xxx.rpm 如果有舊版程式包,則更新之;如果沒有,則安裝之;
rpm -Fvh xxx.rpm 如果有舊版程式包,則更新之;如果沒有,則不安裝;
6:rpm 的解除安裝
rpm -e xxx.rpm
如果碰到要依賴的包,就使用--nodeps
7:rpm包的查詢:
rpm -q[l,i,c,d,R] 已安裝的軟體包名
rpm -qa : 檢視所有已安裝軟體
rpm -q :查詢軟體安裝沒有
rpm -ql :查詢軟體的安裝路徑
rpm -qi :查詢軟體說明
rpm -qc :查詢軟體的配置檔案,(一般在/etc)
rpm -qd : 查詢軟體的幫助
rpm -qR :列出和該軟體的依賴軟體包含的檔案
rpm -qf :查詢此處的檔案由哪個程式包安裝生成,
比如我們找 /etc/yum.conf 屬于那個包生成的,
rpm -q 軟體包名 ----scripts : 查詢程式包相關的腳本
preinstall: 安裝前腳本
postinstall:安裝後腳本
preuninstall: 解除安裝前腳本
postuninstall: 解除安裝後腳本
注意: rpm -qp[l,d,c,d,R] 沒有安裝的軟體包,p:針對查詢沒有安裝的軟體包的。
8:軟體包校驗
rpm -Va
rpm -V 已安裝的軟體包名
rpm -Vf 系統上的某個檔案
範例:rpm -V httpd
範例:rpm -Vf /etc/httpd/conf/httpd.conf
如上圖所示,當用rpm -V httpd 時沒有任何提示,就表示這個包沒有被改過!
當用rpm -Vf 查詢具體檔案http.conf時,也提示沒有被改過。但是當http.conf被改過後,就出來S.5....T. c 這類消息。
那這類消息是什麼意思呢:分别入下
所就當一個配置檔案所有資訊都被改過,就會出現:SM5DLUGT c filename
上圖httpd.conf 檔案是以就出現了c 也就是config file。也就說這個檔案的類型是個配置檔案。
檔案類型
c:配置檔案(config file)
d:檔案的資料檔案(documentation)
g:鬼檔案~通常是該檔案不被某個軟體包括,較少發生!(ghost file)
l:許可證檔案(license file)
r:自述檔案
經過驗證功能,就知道那些檔案被改過!這個很重要。
數字簽名:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
-----------------------------------------------------------------------------------------
yum 線上安裝
1:在進行yum 安裝時先配置 yum源。以163源為例:
[base]:倉庫的名子,随意取名,但不對相同
name:說明倉庫意義,随意說明
baseurl=這個最重要,倉庫的通路路徑
enabled={1|0}1,表示啟用。0表示不啟用 預設為起動
gpgcheck={1|0}1,驗證gpg。0表示不驗證
cost=定義此倉庫開銷,預設為1000
補充要點:
$releasever:程式的版本,對Yum而言指的是redhat-relrase版本。隻替換為主版本号,如Redhat6.5 則替換為6
$arch:系統架構
$basharch:系統基本架構,如i686,i586等的基本架構為i386
$YUM0-9:在系統定義的環境變量,可以在yum中使用
2:yum 具體指令
yum repolist [all | enabled(預設) | disabled] :列出yum 源
範例:yum repolist all 列出所有的源
yum clean [all|packeages(包)|metadata(中繼資料)|expire-cache(過期資料)|rpmdb(rpm資料)plugins]:清理緩存
範例:yum clean all 清理所有緩存
yum list [all|installed(已安裝過的)|available(可用)]:列出yum包
範例:yum list installed 列出已安裝的包
yum info :顯示包的詳細資訊(不管這個包有沒有安裝)
範例: yum info httpd
yum install :接要安裝的軟體包
範例: yum install httpd
yum reinstall :重新的軟體包名
範例: yum reinstall httpd
yum update :接要更新的軟體包
範例:yum update httpd
注意:如查直接 yum update 就這個系統更新了(慎用)
yum check-update:檢查可更新的包
yum [erase|remove] :接 解除安裝的軟體包,依賴包也會被解除安裝掉。
範例:yum erase httpd
yum whatprovides|provides 查詢某個檔案是誰提供的。
範例:yum provides /etc/yum.conf
3:yum 組包管理
yum grouplist :列出所有的包組
yum groupinfo :顯示包組資訊
yum groupinstall :安裝包組
範例:yum groupinstall "Development Tools"
centos 6,常用的開發包為”Development tools“和"Server Platform Development"
yum groupremove :解除安裝組
-------------------------作業練習-----------------------------------------------
1:把本地CD光牒做為yum源方法如下:
mount /dev/cdrom /media/cdrom/
在/etc/yum.repos.d/下建立一個repo 檔案
然後清除緩存測試安裝:
yum clean all
yum repolist all
上圖顯示正常yum就可以安裝了!
2:建立個阿裡雲repo檔案
[base]
name=Centos-Base-aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
然後 yun clean all
yum repolist all
最後安裝測試 yum install 軟體包名