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      
                             ```
验证成功,本地仓库搭建完毕。
相关文章
相关标签/搜索