軟件安裝
主要針對的是 RPM包
RPM含義: REDHAT PACKAGES MANAGERMENT
1.軟件名稱識別
[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rpm //rpm結尾的適用與redhat操作系統
|| || || ||
軟件名稱 軟件版本 軟件適用系統 64位
e // 企業版
l // 等級
rh // redhat
el7 // 適用於企業版版本七的系統
2.如何安裝軟件
rpm安裝
rpm -ivh name.rpm :安裝 ,-v顯示過程,-h指定加密方式爲hash,哈希加密,-i 詳細信息
-e name ##卸載
-ql name ##查詢軟件生成文件
-qlp name.rpm ##查詢軟件安裝後會生成什麼文件
-qa ##查詢系統中安裝的所有軟件名稱
-qa |grep name ##查詢軟件是否安裝
-q name ##查看軟件所屬安裝包
-qp name.rpm ##查詢軟件安裝包安裝後的名字
-qf filename ##查看filename屬於那個安裝包
-ivh name.rpm --force ##強制安裝,但不能忽略依賴性
//如果刪除了一部分東西,再安裝時說已經安裝過,那麼用 --force強制再安裝
-ivh name.rpm --nodeps --force ##忽略依賴性並且強制安裝,可以安裝,但是會出現不能使用的問題
-qi name ##查看軟件信息
-Kv name.rpm ##檢測軟件包是否被篡改
//用Kv key顯示的是BAD 那麼就是被篡改過的,就需要重新安裝別的包
-qp name.rpm --scripts ##檢測軟件在安裝或卸載過程中執行的動作
查看firefox軟件的安裝包:
- -scripts 一定要會用,先看文件包安裝的安裝卸載執行的動作
有些危險,比如流氓軟件在卸載時要刪除你的根就可以提早知道,禁止安裝
這時,發現在key ID上的顯示時不一樣的,那麼用- -scripts查看安裝執行的動作:
//可以看到,上面顯示的軟件A是明顯的流氓軟件,在刪除時會刪除你的根目錄,所以果斷禁止安裝在rpm安裝時會產生依賴性的問題,就是一個軟件的安裝需要別的軟件先安裝支持,纔可以安裝,你可以選擇一個一個去rpm安裝,但是非常的麻煩,這時,就需要用yum命令來解決
yum安裝
yum 上層軟件管理工具,最重要的功能是可以解決軟件的倚賴關係
yum能夠投入使用的前提是必須要有yum源,以及配置源的指向文件
- 如圖,開始配置的yum源是172.25.254.250,這裏現在不存在文件,所以yum源無效,就會出現無法下載的情況
那麼如何讓配置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 //將鏡像文件放到/ios中
mkdir /rhel7.2 //建立iso鏡像的掛載點
mount rhel-server-7.2-x86_64-dvd.iso /rhel7.2
//把rhel-server-7.2-x86_64-dvd.iso掛在到/rhel7.2用來訪問鏡像中的文件
、
//可以看到,這裏的rhel7.2中已經存在文件,即已經掛載上了
3.配置本機yum源指向
配置yum源,一定以repo作後綴
rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo
[Server] ##[不能有空格,不能符號]這個是源倉庫名字
name=rhel7.2 ##(可以有空格)這裏是描述這個軟件
baseurl=file:///rhel7.2 ##baseurl=真正的地址
gpgcheck=0 ##不檢測
## =1 檢測,是不是第三方軟件,牽扯一些權益
##完了之後 yum clean all 才能生效
現在再次時下載會發現
//成功下載
4.安裝資源共享服務
yum install httpd -y //安裝httpd共享服務
systemctl stop firewalld //關閉火牆, **這個一定要做**
systemctl disable firewalld //讓火牆開機不自啓
systemctl start httpd //開啓httpd服務
systemctl enable httpd //讓httpd開機自啓
5.建立共享目錄,並掛在鏡像文件到共享目錄上
mkdir /var/www/html/rhel7.2 //開啓共享服務後需要將文件放在這個目錄下才能共享
umount /rhel7.2 //將之前掛載的取消
mount /iso/rhel-server-7.2-x86_64-dvd.iso /var/www/html/rhel7.2 //重新掛載
/var/www/html 是共享網頁的目錄
共享服務網站的地方是:
httpd /var/www/html/xxx ==> ip/xxx 本機的ip掛載地址: 172.25.254.166/xxx
6.測試
在瀏覽器中輸入:http://本機ip/rhel7.2,就可以看到鏡像中的內容
7.修改本機yum源指向
打開/etc/yum/repos.d/yum.repo
[server]
name=rhel7.2
baseurl=file:///var/www/html/rhel7.2 修改yum源指向
gpgcheck=0
8.開機自動掛在iso
打開 /etc/rc.d/rc.local
在裏面添加掛載命令
或者直接 echo “mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1” >>/etc/rc.d/rc.local
:wq退出後記得給權限才能生效:
chmod +x /etc/rc.d/rc.local
9.第三方軟件倉庫的搭建
把所有的rpm軟件包放到一個目錄中,這個目錄中只能存放rpm文件
createrepo -v /rpm存放目錄 //在企業版7中-v參數可以省去
vim /etc/yum.repos.d/yum.repo //**在這個文件原有內容的下面添加**
[Software]
name=software
baseurl=file:///rpm存放目錄
gpgcheck=0
//createrepo 也要yum clean all 才能生效
如圖所示爲createrepo後出現的顯示,掃面裏面的rpm文件
- 另外,如果想要在下載時,屏蔽掉一些不要的東西,可以在 /etc/yum.conf裏面添加exclude=…
比如不想要x86_64後綴的任何東西,不想要linuxqq.i386,可以設置
//之後,即使去搜索軟件包,也不會顯示
- 添加之前:
- 添加之後:
- 添加之前:
client指向端
vim /etc/yum.repos.d/xxxx.repo //倉庫指向文件位置"
[xxxx] //自定義軟件倉庫名稱
name=xxxx //自定義軟件倉庫描述
baseurl=ftp://|http://|file:// //server配置的倉庫位置
//比如要剛剛server配置的地方填寫:
"baseurl=http://172.25.254.166/rhel7.2"
gpgcheck=0 //不檢測gpgkey
//gpgkey表示軟件的出品logo
yum clean all ##清空yum緩存識別新配置
yum命令
yum install softwarename ##安裝
repolist ##列出設定yum源信息
remove softwarename ##卸載
list softwarename ##查看軟件源中是否有次軟件
list all ##列出所有軟件名稱
list installd ##列出已經安裝的軟件名稱
list available ##列出可以用yum安裝的軟件名稱
clean all ##清空yum緩存
search softwareinfo ##根據軟件信息搜索軟件名字
##yum search 時是在搜索數據庫 repodate在就還是能搜索到的,但是安裝時就不會出現了
whatprovides filename ##在yum源中查找包含filename文件的軟件包
update ##更新軟件
history ##查看系統軟件改變歷史
reinstall softwarename ##重新安裝
info softwarename ##查看軟件信息
"yum info ...
= : 安裝過的
+ : 必選安裝,默認會選擇安裝的
- : 在安裝時將會被安裝的,需要手動安裝
但是要考慮各軟件依賴關係,即使安裝也不一定能用。
"
groups list ##查看軟件組信息
groups info softwaregroup ##查看軟件組內包含的軟件
groups install softwaregroup ##安裝組件
groups remove softwaregroup ##卸載組件
//yum用來尋找安裝包
//查看yum歷史記錄
安裝包的拆解
rpm2cpio xxxx.rpm | cpio -id
在管理文件時不小心把那個配置文件年刪除了,那麼可以拆解相應軟件包,將少的東西直接用拆解下來對應的文件添加上去就恢復了。
如果將/usr/bin/wps刪除了,可以直接將這個wps放到/usr/bin/下 完成恢復
如果覺得有問題,不妨 vimdiff wps(拆解出來的) /usr/bin/wps
對比一下
//兩個文件一模一樣,可以替換
附上自動配置yum源的腳本