RPM ,yum工具

Linux系統三種安裝工具

  • RPM 工具
  • yum工具
  • 源碼包

RPM工具=Redhat package manager Redhat軟件包管理工具

利用一個實驗來看一下RPM的用法:

  1. 虛擬機掛載光驅,指定安裝時的鏡像盤
  2. ls看一下光盤下的目錄和文件 packages 就是軟件包目錄
  3. 使用ls | less 分屏顯示一下packages能夠看到軟件包的列表
libsepol-devel-2.1.9-3.el7.x86_64.rpm                             yum-plugin-fastestmirror-1.1.31-24.el7.noarch.rpm
libserializer-1.1.2-10.el7.noarch.rpm                             yum-plugin-tmprepo-1.1.31-24.el7.noarch.rpm
libsexy-0.1.11-23.el7.x86_64.rpm                                  yum-plugin-verify-1.1.31-24.el7.noarch.rpm
libshout-2.2.2-11.el7.x86_64.rpm

軟件包包文件通常是這個格式: teamd(包名)-1.25(主版本.次版本)-4.el7(發佈版本).x86_64(平臺_位數).rpm(後綴名)python

使用RMP安裝包

  • 安裝 :rpm -ivh 包文件 i:安裝 v:可視化 h:進程
  • 升級 :rpm -Uvh 包文件 U:update
  • 卸載 :rpm -e 包名(如有依賴包則須要先卸載依賴包,不然會報錯)
  • 查詢 :rpm -qa 查詢已經安裝了哪些包
  • 查詢 :rpm -q 包名 查詢一個包是否已經安裝
  • 查詢 :rpm -qi 包名 查詢指定的rpm的信息
  • rpm -ql 包名 列出安裝該rpm包具體安裝了哪些文件
  • rpm -qf 命令的絕對路徑 查詢該命令由哪一個包安裝的。
[root@localhost Packages]# rpm -ivh  spamassassin-3.3.2-18.el7.x86_64.rpm
錯誤:依賴檢測失敗:
	perl(Archive::Tar) 被 spamassassin-3.3.2-18.el7.x86_64 須要
	perl(Archive::Tar) >= 1.23 被 spamassassin-3.3.2-18.el7.x86_64 須要
	perl(DB_File) 被 spamassassin-3.3.2-18.el7.x86_64 須要
[root@localhost Packages]# rpm -e ppp
錯誤:依賴檢測失敗:
	ppp = 2.4.5 被 (已安裝) NetworkManager-1:0.9.9.1-13.git20140326.4dba720.el7.x86_64 須要
[root@localhost Packages]# rpm -q ppp
ppp-2.4.5-33.el7.x86_64
[root@localhost Packages]# rpm -q /usr/bin/ls
未安裝軟件包 /usr/bin/ls 
[root@localhost Packages]# rpm -qf /usr/bin/ls
coreutils-8.22-11.el7.x86_64
[root@localhost Packages]# rpm -ql ppp
/etc/logrotate.d
/etc/logrotate.d/ppp
/etc/pam.d/ppp

在實際操做中咱們會發現,rpm的查詢的用法是比較好用的,可是若是用它來安裝或者卸載則會很麻煩,由於它不會自動處理依賴關係,須要咱們手動一個一個解決依賴和被依賴包的安裝卸載等。c++

yum工具

yum工具是一個能自動解決依賴關係的工具git

  • yum list 列出可用安裝包 (三列顯示,包名、版本平臺、倉庫)
  • yum search vim 搜索與vim有關的包,不精確搜索,會把全部帶vim字符的包全列出來
  • yum list | grep 'vim` 列出包名中含有vim字符的包
  • yum install 包名 安裝
  • yum grouplist 列出可用的分組
  • yum grouplist install 安裝可用的分組
  • yum remove包名 卸載,會直接把依賴關係的包一塊兒卸載
  • yum update包名 升級,若是不加包名,則會把全部的軟件包、系統、內核都升級到最新版本(比較危險)
  • yum provides "/*/vim"搜索一個已知的命令是由哪一個包安裝的

yum 本地倉庫

  1. 掛在鏡像到/mnt 目錄
  2. 將yum倉的配置文件更名,並將原文件刪除
  3. 編輯yum倉庫的配置文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]# cp /etc/yum.repos.d/ /etc/yum.repos.d.bak
cp: 略過目錄"/etc/yum.repos.d/"
[root@localhost yum.repos.d]# cp -r/etc/yum.repos.d/ /etc/yum.repos.d.bak
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]# cd ~
[root@localhost ~]# cd /etc/
[root@localhost etc]# rm -rf yum.repos.d/*
[root@localhost etc]# yum clean all
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
沒有已啓用的源。

這裏,以前的yum源已經失效了,如今來搭建本地倉庫 vim /etc/yum.repos.d/dvd.repovim

[root@localhost etc]# vim /etc/yum.repos.d/dvd.repo

[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpcheck=0

編輯好了以後保存退出,yum clean all 清除yum緩存 yum list 驗證centos

yum list | less
可安裝的軟件包
389-ds-base.x86_64                     1.3.1.6-25.el7                  dvd      
389-ds-base-libs.x86_64                1.3.1.6-25.el7                  dvd      
ElectricFence.x86_64                   2.2.2-39.el7                    dvd      
GConf2.x86_64                          3.2.6-8.el7                     dvd      
GeoIP.x86_64                           1.5.0-9.el7                     dvd      
ImageMagick.x86_64                     6.7.8.9-10.el7                  dvd      
ImageMagick-c++.x86_64                 6.7.8.9-10.el7                  dvd      
ImageMagick-perl.x86_64                6.7.8.9-10.el7                  dvd      
LibRaw.x86_64                          0.14.8-5.el7.20120830git98d925  dvd      
ModemManager.x86_64                    1.1.0-6.git20130913.el7         dvd      
MySQL-python.x86_64                    1.2.3-11.el7                    dvd      
NetworkManager-libreswan.x86_64        0.9.8.0-5.el7                   dvd      
ORBit2.x86_64                          2.14.19-13.el7                  dvd      
OpenEXR-libs.x86_64                    1.7.1-7.el7                     dvd      
OpenIPMI.x86_64                        2.0.19-11.el7                   dvd      
OpenIPMI-libs.x86_64                   2.0.19-11.el7                   dvd      
OpenIPMI-modalias.x86_64               2.0.19-11.el7                   dvd      
PackageKit.x86_64                      0.8.9-11.el7.centos             dvd      
                             ```
驗證成功,本地倉庫搭建完畢。
相關文章
相關標籤/搜索