YUM:介绍工作流程本地yum网络yumyum的相关命令

一、What is YUM

  YUM是基于rpm但更胜于rpm的软件管理工具

YUM的优点:

  1、更方便的管理rpm软件包

  2、自动解决了rpm的依赖问题

  3、可以配置多个“资源仓库”

  …

二、YUM的基本工作流程

  1、服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。

  2、客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式,本地YUM通过file方式),通过对下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

主要软件包:yum-3.2.22-26.el5

yum配置文件:/etc/yum.conf (通常无需修改)

仓库配置文件目录:/etc/yum.repos.d/

yum的缓存目录:/var/cache/yum

yum的日志文件:/var/log/yum.log

要创建索引文件,需要使用createrepo命令,软件包:createrepo.noarch

三、本地yum搭建步骤

1、挂载光驱  

  要有仓库,挂载LINUX安装盘就可以得到所有软件包

[root@localhost /]# mount  /dev/sr0   /mnt  #临时挂载在/mnt下

mount: block device /dev/sr0 is write-protected, mounting read-only

/dev/sr0    表示第一个光驱

/dev/sr1    表示第二个光驱

注意:如果是卸载挂载的光驱:umount  /dev/sr0

[root@localhost /]# ls  /mnt/Packages/    #查看光盘自带所有软件包

2、设置仓库配置文件,仓库配置文件保存在/etc/yum.repos.d目录

注意:

  配置文件一定要在/etc/yum.repos.d目录下,不能在/etc/yum.repos.d目录的子目录下,并且要以.repo结尾。

[root@localhost /]# cd   /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-Debuginfo.repo CentOS-Media.repo
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak  //移除影响系统识别配置文件的其他文件
[root@localhost yum.repos.d]# ls
bak
[root@localhost yum.repos.d]# vim localyum.repo
[root@localhost yum.repos.d]# cat localyum.repo
[local_yum]  //仓库标签,用于标识不同的仓库
name=local yum  //说明信息,描述的作用
baseurl=file:///mnt  //指定仓库路径,file://表示访问本地硬盘的文件
gpgcheck=  //gpgcheck用来校验软件是否官方出品,等于0表示不校验
enabled=  //可以使用该仓库

注意:

  1、如果校检即gpgcheck=1,则需要导入公钥(两种方式)

    1、写入配置文件gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    2、rpm  --import  /mnt/RPM-GPG-KEY-CentOS-6  #rpm命令导入公钥

  2、如果不校检即gpgcheck=0,不检测则不需要导入公钥

3、清空缓存

  [root@localhost yum.repos.d]# yum  clean  all

4、可以安装软件了,安装前可以查看一下,有哪些软件可以安装的

[root@localhost yum.repos.d]# yum  list
…………
#@开头的表示已经安装了
…………
[root@localhost yum.repos.d]# yum list | grep "tree"
tree.x86_64 1.5.-.el6 local_yum
[root@localhost yum.repos.d]# yum install tree.x86_64
……
[root@localhost yum.repos.d]# yum install -y zsh.x86_64  //不需要手工输入y
……

5、如果需要卸载软件,如何卸载?

[root@localhost yum.repos.d]# yum  -y  remove  zsh.x86_64  卸载zsh软件

四、网络yum搭建步骤

  基于ftp的网络yum搭建

  基于http的网络yum搭建类同于ftp

1、服务端

  IP:172.16.11.99

  1、安装vsftpd软件,并启动

    前提:关闭防火墙和selinux

  [root@server /]# service iptables stop

  ……

  [root@server /]# sestatus -v

  SELinux status:                 disabled

  2、创建仓库(存放所有rpm包)

  [root@server /]# mkdir  /var/ftp/yum

  [root@server /]# cp -a /mnt/Packages/*.rpm /var/ftp/yum/

  [root@server opt]# tar xf mysql-5.7.14-1.el6.x86_64.rpm-bundle.tar -C /var/ftp/yum/

  3、创建索引文件

  [root@server /]# createrepo /var/ftp/yum

    重新创建YUM仓库的软件包数据库,速度太慢

  [root@server /]# createrepo --update /var/ftp/yum

    更新YUM仓库的软件包数据库,速度较快

2、客户端

  1、修改或创建仓库资源配置文件

[root@client yum.repos.d]# vim ftp_yum.repo
[root@client yum.repos.d]# cat ftp_yum.repo
[ftp_yum]
name=172.16.11.99
baseurl=ftp://172.16.11.99/yum/  //访问YUM源的路径
gpgcheck=
enabled=
[root@client yum.repos.d]#

  2、清空缓存

  [root@client yum.repos.d]# yum clean all

  3、安装软件yum install 软件名

五、YUM的相关命令

  [root@localhost /]# yum whatprovides 文件名  #查找文件属于哪个软件,类似于:[root@localhost /]# rpm -qf 文件名

  [root@localhost /]# yum localinstall  #安装本机硬盘中的rpm包,相当于rpm -ivh

1、package

  查看:yum list [package…]

  安装:yum install  [package…]

  删除:yum remove  [package…]

  升级rpm包:yum update  [package…]

  查看rpm包信息:yum info [package…]

2、grouppackage

  查看:yum grouplist

  安装:yum groupinstall  包组

  删除rpm包组:yum groupremove  包组

  查看rpm包组信息:yum groupinfo 包组

易混淆概念:

  服务名和软件名是可以不一样的,比如:vsftpd、httpd是一样的;smb的软件名是samba,服务名是smb(实现linux和windows之间的共享);服务名sshd、ssh,软件名却不是这个:rpm -qa|grep “ssh”。

YUM安装软件的更多相关文章

  1. centos使用yum安装软件的时候出现了undefined symbol: CRYPTO_set_locking_callback

    1.问题 在CentOS下使用yum安装软件,结果出现了下面的错误提示: # yum installThere was a problem importing one of the Python mo ...

  2. Linux之保留yum安装软件后的RPM包

    yum安装软件很方便,但是下载下来的rpm包在安装后默认会被删除掉: 如果希望保留yum安装的软件包该如何做呢? 设置方法: 将/etc/yum.conf里对应的keepcache参数改为1即可,然后 ...

  3. CentOS中yum安装软件时报错:No package XXX available

    yum 安装软件时,报错:No package XXX available. [root@localhost ~]# yum -y install redis Loaded plugins: fast ...

  4. yum install错误 系统环境:Oracle Linux5.4 在通过yum安装软件时出现以下错误:

    1.yum配置文件 1 [root@rh168 yum.repos.d]# cat yum.repo  2 [base] 3 name=Oracle linux  4 baseurl=file:/// ...

  5. CentOS下成功挂载xxxxxDVDx.iso并使用yum安装软件

    CentOS下成功挂载xxxxxDVDx.iso并使用yum安装软件 **不断尝试,终能到达彼岸** 测试环境为Win7 32位,VirtualBOx4.2.16+CentOS6.5,可分别到virt ...

  6. Red Hat Enterprise Linux Server(RHEL) yum安装软件时This system is not registered with RHN. RHN support will be disabled. 的解决方法(转)

    新安装了redhat6.5.安装后,登录系统,使用yum update 更新系统.提示: This system is not registered to Red Hat Subscription M ...

  7. yum安装软件报错Segmentation fault处理

    yum安装软件报错Segmentation fault处理 在使用yum 更新软件时提示:Segmentation fault 中文错误提示: 段错误 [root@CMS-BAK:/usr/local ...

  8. 解决方法:CentOS7用yum安装软件显示错误:cannot find a valid baseurl for repo: base/7/x86_64

    在Linux学习中,发现使用yum安装软件出现以下的错误: 百度了各种方法,很多人也发现光是修改REBOOT=yes也没用,多次进行挂载.修改网卡配置文件.重置IP地址.重启网络.创建又删除配置文件的 ...

  9. centos7使用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法

    由于是本地yum源安装软件,无法联网,因此使用yum安装软件时报了错,解决方法是: 打开vi /etc/resolv.conf文件 新增内容如下: nameserver 8.8.8.8 nameser ...

  10. linux rpm yum 安装 软件

    rpm 安装: 1.rpm包的了解:  rpm  安装  升级  删除 rpm -ivh  ****.rpm   安装 rpm -Uvh  ****.rpm  升级 rpm -e name    删除 ...

随机推荐

  1. C语言 模2除法

    C语言中的模2除法: 模2除做法与算术除法类似,但每一位除(减)的结果不影响其它位,即不向上一位借位.所以实际上就是异或.然后再移位移位做下一位的模2减. 步骤如下: a.用除数对被除数最高n位做模2 ...

  2. 微信跳一跳的mini辅助设计

    前一段考试没时间写东西,就迟到补发一波,继电器触发触屏,arduino处理数据就行了,B站很多人做,我也来一个,个人测试数据增益为2.1左右,即  延时=距离X2.1x10 void setup() ...

  3. 爬取知名社区技术文章_article_3

    爬虫主逻辑处理,获取字段,获取主url和子url #!/usr/bin/python3 # -*- coding: utf-8 -*- import scrapy from scrapy.http i ...

  4. Log4j扩展使用--日志格式化器Layout

    Layout:格式化输出日志信息 OK,前面我已经知道了.Appender必须使用一个与之相关联的Layout,这样才能知道怎样格式化输出日志信息. 日志格式化器Layout负责格式化日志信息,方法l ...

  5. Servlet--ServletRequest接口,ServletResponse接口

    ServletRequest接口 定义 public interface ServletRequest 定义一个 Servlet 引擎产生的对象,通过这个对象, Servlet 可以获得客户端请求的数 ...

  6. 2017 .NET 開發者須知

    筆記-Scott Hanselman 的 2017 .NET 開發者須知 转载http://blog.darkthread.net/post-2017-01-16-dotnet-dev-should- ...

  7. TinyXML 的简单介绍以及使用

    先说几句重点: 1,tinyxml 生成或解析XML非常好用 2,tinyxml 利用DOM(文档对象模型)操作XML,根节点与各个子节点相当于形成一棵树 3,只要你了解tinyxml的用法,可以只n ...

  8. Spring ioc,aop的理解

    什么是控制反转? 控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术. 由容器控制程序之间的关系,而不是由代码直接控制 由于控制权由代码转向了容器,所以称为反转 依赖注入,作用是避免手工在各代 ...

  9. java判断时间大小

    //构造日期格式yyyy-MM-NN SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date d ...

  10. 2017-12-30-如何彻底清除现存GIT仓库的大量提交历史

    layout: post title: 2017-12-30-如何彻底清除现存GIT仓库的大量提交历史 key: 20171230 tags: GIT 版本管理 问答 modify_date: 201 ...