##RPM##
REDHAT PACKAGES MANAGERMENT
####1.軟件名稱識別####
[firefox]-[38.3.0-2].[el7_1].[x86_64].rpm ##rpm結尾的適用與redhat操作系統
|| || || ||
軟件名稱 軟件版本 軟件適用系統 64位
####2.如何安裝軟件####
1.rpm
rpm -ivh name.rpm ##安裝 ,-v顯示過程,-h指定加密方式爲hash
-e name ##卸載
-ql name ##查詢軟件生成文件
-qlp name.rpm ##查詢軟件安裝後會生成什麼文件
-qa ##查詢系統中安裝的所有軟件名稱
-qa |grep name ##查詢軟件是否安裝
-qp name.rpm ##查詢軟件安裝包安裝後的名字
-ivh name.rpm --force ##強制安裝,但不能忽略依賴性
-ivh name.rpm --nodeps --force ##忽略依賴性並且強制安裝
-Kv name.rpm ##檢測軟件包是否被篡改
-qp name.rpm --scripts ##檢測軟件在安裝或卸載過程中執行的動作
檢測該軟件會發現安裝過程沒有什麼問題,但在卸載時會刪除根目錄。
檢測該軟件可以看到不論安裝還是卸載,都沒有惡意的行爲,比較愛安全。
通過對比我們可以發現,一些俗稱的流氓軟件我們可以用rpm -qp --scripts檢測出來,在安裝軟件前,最好用該命令檢測下,以防出現嚴重的後果。
2.yum
yum上層軟件管理工具,最重要的功能是可以解決軟件的倚賴關係
yum能夠投入使用的前提是必須要有yum源,以及配置源的指向文件
如果你要安裝一個包時,系統提示你,在安裝此包之前,還得必須安裝另一個包,只有將那個包安裝完成,你才能繼續安裝你想要裝的包,我們把這種現象稱爲包之間的依賴關係。但是如果安裝一個包要依賴好多個包的時候,rmp就不方便了。這種情況下,可以使用yum命令。
###server源端####
1.從網絡上下本機系統版本匹配的iso鏡像文件rhel-server-7.2-x86_64-dvd.iso
2
mkdir /iso #建立目錄用來存放iso鏡像
mv rhel-server-7.2-x86_64-dvd.iso /iso
mkdir /rhel7.2 #建立iso鏡像的掛載點
mount /iso/rhel-server-7.2-x86_64-dvd.iso /rhel7.2 #掛載鏡像
3.配置本機yum源指向
rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo
[Server]
name=rhel7.2
baseurl=file:///rhel7.2
gpgcheck=0
4.安裝資源共享服務
yum install httpd -y
systemctl stop firewalld ##關閉防火牆
systemctl disable firewalld ##開機不自動啓動防火牆
systemctl start httpd ##開啓httpd服務
systemctl enable httpd ##開機運行httpd服務
5.建立共享目錄,並掛在鏡像文件到共享目錄上
mkdir /var/www/html/rhel7.1umount /mnt
mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1
檢測到鏡像已經掛載
在瀏覽器中輸入:http://本機ip/rhel7.1
可以看到鏡像中的內容
7.修改本機yum源指向
[server]
name=rhel7.1
baseurl=file:///var/www/html/rhel7.1
gpgcheck=0
8.開機自動掛在iso
vim /etc/rc.d/rc.local
mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1
:wq
chmod +x /etc/rc.d/rc.local
這樣做是爲了在開機時自動掛載鏡像文件,給我們減輕一些工作負擔。
把所有的rpm軟件包放到一個目錄中,這個目錄中只能存在rpm文件
createrepo -v /rpm存放目錄
vim /etc/yum.repos.d/xxx.repo
[Software]
name=software
baseurl=file:///rpm存放目錄
gpgcheck=0
vim /etc/yum.repos.d/xxxx.repo ##倉庫指向文件位置
[xxxx] ##自定義軟件倉庫名稱
name=xxxx ##自定義軟件倉庫描述
baseurl=ftp://|http://|file:// ##倉庫位置
gpgcheck=0 ##不檢測gpgkey
##gpgkey表示軟件的出品logo
例子:
vim /etc/yum.repos.d/yum.repo
[Server]
name=rhel7.1
baseurl=ftp://172.25.0.254/pub/rhel7.1
gpgcheck=0
:wq
yum clean all ##清空yum緩存識別新配置
在實際工作中,我們不可能給所有的設備都拷貝上鏡像和安裝包,因爲這樣會佔用許多資源。而共享服務可以很好的幫我們解決這個困難。
####yum命令####
yum install softwarename ##安裝
repolist ##列出設定yum源信息
remove softwarename ##卸載
list all ##列出所有軟件名稱
list installd ##列出已經安裝的軟件名稱
list available ##列出可以用yum安裝的軟件名稱clean all ##清空yum緩存
whatprovides filename ##在yum源中查找包含filename文件的軟件包
update ##更新軟件
history ##查看系統軟件改變歷史
reinstall softwarename ##重新安裝
info softwarename ##查看軟件信息
groups info softwaregroup ##查看軟件組內包含的軟件
groups install softwaregroup ##安裝組件
groups remove softwaregroup ##卸載組件