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. iphone开发笔记目录

    http://www.cnblogs.com/syxchina/archive/2012/10/20/2732731.html#2653802

  2. Mysql Nested-Loop Join Algorithms

    MySQL在多表之间执行join时,利用一种nested-loop algorithm 或者其变种:(嵌套循环)  Nested-Loop Join Algorithm      一个简单的嵌套循环连 ...

  3. Java数据持久层框架 MyBatis之API学习三(XML 映射配置文件)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  4. 20170505 PHP实践中知识点

    1.json_encode 不转义 2.empty() 与 isset() 区别 在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯 ...

  5. awk解决实际问题例子

    awk很有用,就不说了,下面记录几个我遇到的例子,汇总 1 获得linux环境变量(ENVIRON) awk 'BEGIN{print ENVIRON["PATH"];}' /et ...

  6. junit4X系列源码--总体介绍

    原文出处:http://www.cnblogs.com/caoyuanzhanlang/p/3530267.html.感谢作者的无私分享. Junit是一个可编写重复测试的简单框架,是基于Xunit架 ...

  7. java枚举 用于声明持久化常量 和volley 请求头

    在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public e ...

  8. wget实例

    问题:下载http://web.utah.edu/thorne/computing/网页中所有的文件 命令:wget -c -r -np -k -L -p http://web.utah.edu/th ...

  9. openstack一键安装脚本(转载)

    #!/bin/sh # openstack pike 单机 一键安装 # 环境 centos 7.4.1708 x86_64 # 更多内容 http://dwz.cn/openstack # Myde ...

  10. spring之注解详解

    一.类级别注解 通用:@Component("id") Controller层:@Controller("id") Service层:@Service(&quo ...