10 軟件包的管理 (1RPM和YUM實現)
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包升級
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):// 跟路徑
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實現)