yum软件管理使用详解

  • yum介绍

  • yum客户端的使用

    • 配置文件项作说明:

    • 案例repo配置文件。

    • 创建yum源命令(yum-config-manager)

  • yum list相关命令

  • yum安装

  • yum更新和升级

  • yum查找和显示

  • yum删除程序

  • 查看仓库

  • 实战演练本地yum仓库(光盘)

  • YUM内置变量

  • 创建YUM仓库(http)

yum介绍

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum客户端的使用

YUM的配置方式是基于分段配置的,yum 客户端配置文件:

/etc/yum.conf :为所有仓库提供公共配置
/etc/yum.repos.d/*.repo :为仓库的指向提供配置

配置文件项作说明:

[ ... ]:        //仓库的名称。不能重复。
name:           //对仓库的描述,该项必须有。
baseurl:        //配置仓库的路径。用于指定一个url。
mirrorlist:     //指向一个镜像列表,里面有多个url。
enabled:        //是否启用当前仓库。值为1或0,默认为1。
gpgcheck:       //是否需要gpg校验。值为1或0,默认为1。
gpgkey:         //验证RPM包的密钥文件路径。该文件可以在远处服务器上,也可以在本地。
cost:           //代价,其本质是仓库优先级的配置。值越低,表示访问的代价越低,也即优先使用。

案例repo配置文件。

[base]
name=CentOS 6.4 x86_64
baseurl=http://172.16.0.1/cobbler/ks_mirror/centos-6.4-x86_64/
enabled=1
gpgcheck=0

创建yum源命令(yum-config-manager)

生成172.16.0.1_cobbler_ks_mirror_CentOS-X-x86_64_.repo

yum-config-manager --add-repo=http://172.16.0.1/cobbler/ks_mirror/CentOS-X-x86_64/
yum-config-manager --disable “ 仓库名" 禁用仓库
yum-config-manager --enable “ 仓库名”  启用仓库

yum list相关命令

获取yum仓库中所有的包信息。

命令:yum list all

结果说明:

第一列:软件包名称.平台名称。 
第二列:软件版本号-release号。 
第三列:安装情况。

若显示@则表示该软件已经通过仓库安装。如@anaconda-CentOS-201303020151.x86_64/6.4 表示已经通过naconda-CentOS-201303020151.x86_64/6.4仓库安装。 
install,则表示系统已经安装,未通过仓库安装。 
若无@或不是install,则表示尚未安装。如base,表示未安装,包位于base仓库中。updates,表示未安装,包位于updates仓库中。

yum安装

yum install #全部安装 
yum install package1 #安装指定的安装包package1
yum groupinsall group1 #安装程序组group1

yum更新和升级

yum update #全部更新 
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1

yum查找和显示

yum info package1 #显示安装包信息package1 
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息
yum search string 根据关键字string查找安装包

yum删除程序

yum remove | erase package1 #删除程序包package1 
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况 清除缓存
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers

查看仓库

查看当前能够使用的yum仓库

命令:yun repo list

显示所有仓库

命令:yum repo list all

显示禁用的仓库

命令:yum repo list enabled

显示启用的仓库

命令:yum repo list disabled

实战演练本地yum仓库(光盘)

yum仓库又称为yum源,yum仓库一般会支持ftp协议(ftp://),http协议(http://),文件协议(file://)。

本地的YUM仓库

使用系统安装盘当作YUM仓库。对于RHEL系列的Linux,其安装光盘就是一个yum仓库。挂在上光盘,将yum客户端的仓库指向光盘路径。

1、挂载光盘

Host:BJ_Web_IP:252.97 User:root Dir:~$ >>mount /dev/cdrom /mnt/

2、移动etc/yum.repos.d目录所有的repo文件

Host:BJ_Web_IP:252.97 User:root Dir:/etc/yum.repos.d$ >>mv * old

3、创建新文件dvd.repo

Host:BJ_Web_IP:252.97 User:root Dir:/etc/yum.repos.d$ >>vim dvd.repo

4、加入以下内容:

[dvd]
name=install dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0

5、刷新 repos 生成缓存

Host:BJ_Web_IP:252.97 User:root Dir:/etc/yum.repos.d$ >>yum makecache

然后就可以使用yum命令安装你所需要的软件包了

YUM内置变量

yum内置变量是关于操作系统、CPU平台的一些信息。可用于动态的配置yum路径。

Alt text 
说明: 
$releasever:当前操作系统的主版本号。若CentOS6.4 该值为6。 
$arch:当前平台版本架构。x86_64 或 i386/i586/i686。 
$basearch:当前平台的基本架构。x86_64 或 i386。 
$YUM0-9:这十个变量分别被 shell 环境中的同名变量的值所替代。如果 /etc/yum.conf 文件中设置了这些变量,而 shell 环境中没有同名变量,它的值则不被代替。

创建YUM仓库(http)

创建基于HTTP访问的yum仓库 
搭建Web服务器,让浏览器能访问到相应的yum仓库目录,即可通过HTTP访问yum仓库。 
使用createrepo命令创建YUM仓库。该命令系统中默认是没有的。可以使用rpm或yum安装上该命令。

[root@localhost ~]# mkdir -p /var/www/html/yum_repo/my/Packages  
[root@localhost ~]# cp /mnt/Packages/* /var/www/html/yum_repo/my/Packages/;  
[root@localhost ~]# cd /var/www/html/yum_repo/my/Packages
[root@localhost Packages]# createrepo .  
[root@localhost Packages]# /etc/init.d/httpd start  

该命令会在指定目录中生成repodata目录。该目录中是所有RPM包的信息文件,及其依赖关系的信息文件。以xml文档和sqllite数据库文件的形式存储。

[root@localhost Packages]# cd repodata/
[root@localhost repodata]# ls
0bbdfd6e17cfa0c748811b501d8561a7da1035277ddd6810dc05d5b89167961e-other.sqlite.bz2
377ca12437cb6e66b02b5329f7b41b59dbe178525a491890b2b49605c73ddfd5-filelists.xml.gz
669fda84c4c170d0fa0b974f5fae3d2e65b47892d7aca1cc3362dca0881ad6ff-filelists.sqlite.bz2
8ecfdeda2f598228c77ad7cf2323c2d91f406f55c4eaea6dfa717aa2f97965d3-primary.xml.gz
8f16e9af726dd61d7c991eff8cc19167f5c30821ae0048699fa6797eb2cc56ed-other.xml.gz
a7d3fe72ec1f0670ae7f01f10f05a8b97777b3c29e39988d89a78e959f47384b-primary.sqlite.bz2
repomd.xml

在测试机器上创建新文件/etc/yum.repos.d/my.repo,内容如下

[my]  
name=my  
baseurl=http://<repos_host>/yum_repos/my/Packages  
enabled=1  
gpgcheck=0  
priority=1
//其中 <repos_host> 是 YUM 源的机器名或IP地址。

更新本地 YUM 缓存

[root@localhost ~]# yum clean all  
[root@localhost ~]# yum makecache

如果以后有新包加入需要重新更新yum库

cd /var/www/html/yum_repo/my/Packages  
createrepo .

在客户端更新

yum clean all  
yum makecache  

原创文章,作者:M20_he,如若转载,请注明出处:http://www.178linux.com/43843

(0)
M20_heM20_he
上一篇 2016-09-06 08:50
下一篇 2016-09-06 08:50

相关推荐

  • 用“逐步排除”的方法定位Java服务线上“系统性”故障

    一、摘要 由 于硬件问题、系统资源紧缺或者程序本身的BUG,Java服务在线上不可避免地会出现一些“系统性”故障,比如:服务性能明显下降、部分(或所有)接口超 时或卡死等。其中部分故障隐藏颇深,对运维和开发造成长期困扰。笔者根据自己的学习和实践,总结出一套行之有效的“逐步排除”的方法,来快速定位Java 服务线上“系统性”故障。 二、导言 Java 语言是广…

    2015-02-28
  • N25期–第十四周作业

    系统的INPUT和OUTPUT默认策略为DROP; # iptables -P INPUT DROP # iptables -P OUTPUT DROP 1、 限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;   #iptables…

    Linux干货 2017-04-10
  • Linux文本处理三剑客之grep

    一、grep命令 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;打印匹配到的行。 模式:由正则表达式字符及文本字符所编写的过滤条件 二、grep命令格式 grep [OPT…

    Linux干货 2016-08-15
  • Linux权限管理与grep命令应用(第四周)

    第四周作业 1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# ch…

    Linux干货 2016-09-15
  • openssl基本应用

    导言: 我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输,所以为了保证安全,我们必须给文件加密。今天,我们就来谈谈加密、解密、openssl的使用以及CA的实现过程。 数据的3大加密方式 对称加密 含义 指加密解密使用同一组密钥,是按数据分块以后进行加密的,前后数据块彼此之间有关联关系。 特性…

    Linux干货 2016-12-05
  • LAMP平台基于NFS实现web服务器负载均衡

    前言 随着访问量的逐渐增大,一台web服务器可能已经无法满足需求,这就需要增加web服务器的数量了,于是问题就来了:如何保证两台服务器数据同步呢?本文将讲解如何基于NFS实现web服务器的负载均衡及数据同步。 NFS服务介绍 NFS(Network File System)网络文件系统,允许一个系统通过网络共享目录和文件,通过使用NFS,用户和程序可以像访问…

    Linux干货 2015-04-22