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

一、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. different between<A Href> and <jsp: forward>

    i want to access Servelt by hyperlink in a jsp web site connection.jsp <%@ page contentType=" ...

  2. ap web

    apapplication端吧    应用程序端   也C-S架构Cweb网页端   般封装httpservletrequest和httpservletresponse对象处理些操作  b-s架构

  3. protobuf java基础

    1:定义proto文件:   以一个地址薄为例,从建立一个.proto文件开始,为需要序列化的数据接口加入一个message属性,在message里面,为每一个字段指定名称和类型(算是IDL吧),如下 ...

  4. MySQL数据引擎

    InnoDB存储引擎 该引擎是MySQL数据库的默认事务型引擎,它被设计用来处理大量短期事务(绝大多数正常提交,很少回滚) InnoDB的数据存储在表空间中,表空间是由InnoDB管理的一个黑盒子,由 ...

  5. VM安装Ubuntu问题合集(无法联网、中文界面设置、中文输入法etc)

    经常使用VM安装Ubuntu,安装系统的步骤跟着系统提示一步步下来就行,但总是遇到一些问题,这里记录一下常遇到的问题,以及自己解决的办法: 1.无法联网: 状况:Ubuntu不能联网,联网地方一直在闪 ...

  6. xen虚拟机(Centos6.6)的创建和扩容

    好久没来更博了,从这篇开始,我准备好好梳理一下Hadoop的那些"事".本人技术渣一枚,只是本着知识共享的原则,希望将我所掌握的知识分享出来.若文中有错误的地方,欢迎大家告知我,我 ...

  7. nginx添加编译lua模块

    一 .安装LuaJit 1.下载LuaJit # wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz 2.编译安装 # tar xzvf LuaJI ...

  8. linkin大话设计模式--适配器模式

    linkin大话设计模式--适配器模式 大家知道,在java中只允许单继承,但是在实际问题中往往都需要多继承,java引入了接口这一概念.(一个类可以实现多个接口) 由于接口中都是抽象方法,那么我们在 ...

  9. Navicat for MySQL导出表结构脚本的方法

    使用MySQL可视化工具Navicat导出MySQL的表结构脚本的方法. 1.右键Navicat中的数据库→数据传输(Data Transfer). 2.左边数据库对象(Database Object ...

  10. 【转】shell学习笔记(二) ——shell变量

    在shell中有3种变量:系统变量,环境变量和用户变量,其中系统变量在对参数判断和命令返回值判断时会使用,环境变量主要是在程序运行时需要设置,用户变量在编程过程中使用量最多. 1 系统变量  变量名 ...