1. 程式人生 > >10 軟件包的管理 (1RPM和YUM實現)

10 軟件包的管理 (1RPM和YUM實現)

版本號 com scan entos yun 簽名 roc redo vsftpd

rpm
rpm -qa 查看所有安裝包
rpm -q --scipts [跟包名]查看所安裝包是否存在腳本
-qpl 後跟路徑
-qf 查詢包
導入公鑰
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
CentOS 7發行版光盤提供:RPM-GPG-KEY-CentOS-7
rpm -K|checksig rpmfile 檢查包的完整性和簽名

包的卸載
rpm -e 後跟包名
技術分享圖片
rpm -e 跟版本號卸載版本號

技術分享圖片
rpm -qa "gpg-pubkey*" 顯示導入東西
技術分享圖片
rpm -qi 查看導入內容

技術分享圖片
rpm -ql (包名)查看包下的文件
技術分享圖片

rpm包升級

upgrade:安裝有舊版程序包,則“升級” 如果不存在舊版程序包,則“安裝
freshen:安裝有舊版程序包,則“升級” 如果不存在舊版程序包,則不執行升級操作
--oldpackage:降級
技術分享圖片
--force: 強制安裝

查詢包中的文件
rpm -qpl (文件名)
技術分享圖片
rpm -qi 顯示包的信息

技術分享圖片

技術分享圖片

bash包依賴關系
技術分享圖片
yum deplist (包名)查詢包的依賴關系,主要是依賴那些文件

查詢httpd文件配置信息
技術分享圖片
查詢httpd文件文檔信息
技術分享圖片
查看包依賴關系

技術分享圖片
包校驗
技術分享圖片
rpm 不能解決包的依賴性問題。YUM:可解決軟件包相關依 賴性,可在多個庫之間定位軟件包
yum在一個yum上只能支持一個命令,不支持多個同時執行。

yum 建立過程
解決包的依賴性,基於服務器端,客服端。支持在在一個終端運行,不支持多終端,建立YUM創庫名必須.repo結尾

技術分享圖片
yum的排錯兩個重要關鍵點
一個是路徑,另一個是緩存,這些也是安裝中容易出錯的地方。

yum repolist 查詢配置好的yum倉庫。一般repodata packages做倉庫,倉庫路徑:repodata在哪個文件夾,倉庫路徑就哪個。

啟動服務httpd.service
systemctl start httpd.service

搭建yum服務
1 裝包。2啟動服務

yum下自己的執行歷史

清楚緩存
技術分享圖片

編寫一個腳本搭建yum倉庫
三步走
1 中括號 裏面寫創庫名
2 baseurl 創庫路徑 baseurl=(有四種形式 http https ftp file):// 跟路徑

3 gpgcheck 檢查 =0 沒有導鑰匙不需要檢查

技術分享圖片
disepel 禁用epel
包組對大小寫不敏感,裝包組,起的名帶空格,所以要用雙引號
yun grouplist 查看包組。
裝包組
技術分享圖片
搜索帶Java的包

技術分享圖片
yum 工具實現查看未裝的包文件,前提要先安裝yum-utils

技術分享圖片
實驗:建立基於HTTP的yum倉庫

1 建立HTTP服務器
rpm -ivh /misc/cd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm
systemctl start httpd

2 創建對應倉庫目錄
mkdir /var/www/html/centos/{6,7}/os/x86_64/ -pv

3
mount /dev/sr0 /var/www/html/centos/7/os/x86_64/
mount /dev/sr0 /var/www/html/centos/6/os/x86_64/

4 配置yum 客戶端
vim /etc/yum.repos.d/test.repo
[centos]
name=http server
baseurl=http://192.168.32.7/centos/$releasever/os/$basearch/
gpgcheck=0 和下面選一個
gpgkey=http://192.168.32.7/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever

http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os

yum remove libvirt-daemon
實驗 卸載安裝的包
yum remove 跟包名 直接這樣卸載不徹底
history yum
history yum info 跟序號
yum history undo 跟序號 在緩存中撤銷安裝的包
yum history redo 跟序號
實驗 添加光盤
手動添加
lsblk 如果沒有顯示光盤點,有兩種方式可實現
(1)reboot重啟
(2)輸入echo ‘- - -‘ > /sys/class/scsi_host/host{0、1、2}/scan
實驗:查詢未安裝包中包括的文件列表
repoquery -ql vsftpd 基於yum倉庫

清理緩存
yum clean all

yum install
remove
info
search
grouplist
groupinstall
groupremove
list
repolist
history -y
clean all

10 軟件包的管理 (1RPM和YUM實現)