yum介绍

yum(全称为 Yellow dog Updater, Modified)是一个在 FedoraRedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum 的配置文件分为两部分:main 和repository

/etc/yum.conf 为所有仓库提供公共配置

/etc/yum.repos.d/*.repo:为仓库的指向提供配置

main配置:

 1 [main]  #yum仓库ID
2 cachedir=/var/cache/yum/$basearch/$releasever #yum 缓存的目录,yum 在此存储下载的rpm 包和数据库,默认设置为/var/cache/yum
3 keepcache=0 #安装完成后是否保留软件包,0为不保留(默认为0),1为保留
4 debuglevel=2 #debug级别
5 logfile=/var/log/yum.log #yum的日志文件
6 exactarch=1 #有1和0两个选项,设置为1,则yum 只会安装和系统架构匹配的软件包
7 obsoletes=1 #这是一个update 的参数
8 gpgcheck=1 #检查包的来源
9 plugins=1 #是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件
10 installonly_limit=5 #允许同时安装几个程序包
11 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
12 distroverpkg=centos-release #ditribution version pkg 发行版版本号获取

repository配置:

  • yum的repo配置文件中可用的变量:
  • $releasever: 当前OS的发行版的主版本号
  • $arch: 平台,i386,i486,i586,x86_64等
  • $basearch:基础平台;i386, x86_64
  • $YUM0-$YUM9:自定义变量
1 [base]  #yum仓库id
2 name=cdrom base #yum仓库描述性文字
3 baseurl=file:///misc/cd #路径,可以写多个
4 https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
5 gpgcheck=1 #检查包的来源,0表示不检查包,1表示启用
6 gpgkey=file:///misc/cd/RPM-GPG-KEY-CentOS-7 #导入key文件
7 enabled=1 #1表示启用,0表示禁用,默认启用

yum用法:

安装

  yum install package1

  yum install -y package1:安装包

  yum reinstall -y package1:重新安装

卸载

yum remove|erase package1:卸载包,默认不卸载依赖包,如果连同依赖包一块卸载,可使用yum history进行卸载

yum history:查看yum操作历史记录

yum history info 10 :查看第10条记录

yum history undo 11 -y:撤销yum历史记录第11条的操作,如果11条是安装操作,会撤销安装,即可卸载依赖包

yum history redo 11 -y:重新执行11条记录的操作

显示仓库列表

  yum repolist显示启用的仓库列表

显示程序包

  yum list all 显示所有可用包

  yum grouplist显示包

  yum list installed显示已安装的包

  yum list available 显示未安装包

升级程序包

  yum update [package1] [package2]不跟包名的话,是更新所有包,带包名的是更新具体的包

  yum downgrade package1 [package2] [...] (降级)

  yum check-update检查可用升级

  yum info 查看程序包information

  yum provides | whatprovides feature1 [feature2] [...]  命令是由哪个包提供的。

  yum clean all 清除缓存,(如果还清不了,可以手动删除rm -rf /var/cache/yum)

  yum makecache 构建缓存

  yum search string1 [string2] [...] 以指定的关键字搜索程序包名及summary信息

  yum deplist package1 [package2] [...]  查看指定包所依赖的capabilities

安装及升级本地程序包

  yum localinstall rpmfile1 [rpmfile2] [...]  (用install替代)
  yum localupdate rpmfile1 [rpmfile2] [...]  (用update替代)
包组管理的相关命令:
  yum groupinstall group1 [group2] [...]
  yum groupupdate group1 [group2] [...]
  yum grouplist [hidden] [groupwildcard] [...]
  yum groupremove group1 [group2] [...]
  yum groupinfo group1 [...]</

yum的命令行选项:

  --nogpgcheck:禁止进行gpg check
  -y: 自动回答为“yes”
  -q:静默模式
  --disablerepo=repoidglob:临时禁用此处指定的repo
  --enablerepo=repoidglob:临时启用此处指定的repo
  --noplugins:禁用所有插件
 
yum常用命令:
yum install | remove | list | provides | repolist | clean all | history undo,redo N | search | info
 

基于http协议的yum源(centos6,centos7)

  http服务器端配置
1,关闭selinux,关闭防火墙
  setenforce 0;systemctl stop firewalld
2,安装http
  yum install -y httpd
3,在/var/www/html目录下新建目录(/var/www/html是http的默认根目录)
  cd /var/www/html/
  mkdir -p centos/{6,7}/os/x86_64
4,挂载光盘到新建的目录
  mount /dev/sr0 /var/www/html/centos/7/os/x86_64/
  mount /dev/sr1 /var/www/html/centos/6/os/x86_64/
 
  客户端配置
5,配置.repo文件(在/etc/yum.repo.d/目录下)
  [base]
  name=cdrom base
  baseurl=http://192.168.3.234/centos/$releasever/os/$basearch/
  gpgcheck=1
  gpgkey=http://192.168.3.234/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever
  enabled=1
6,yum repolist --查看库
  yum list --查看包含的包
 
另一种方法:
服务器端:在/var/www/html/目录下创建文件yum.txt
vim yum.txt  --可以配置多个路径
  http://192.168.3.234/centos/$releasever/os/$basearch/
  https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
客户端:
  mirrorlist=http://192.168.3.234/yum.txt  --原来的baseurl替换为mirrorlist,指向yum.txt文件路径,读取yum.txt里面的内容
 
 

自己创建yum仓库

服务器端

1,在/var/www/html/目录下创建dnf目录

2,将rpm包拷贝到/var/www/html/dnf/目录下

3,进入dnf目录,创建库,createrepo . ,会生成repodata目录

客户端

4,在/etc/yum.repo.d/目录下创建一个dnf.repo文件

  [dnf]
  name=dnf
  baseurl=http://192.168.3.234/dnf  --路径指向服务器端的库所在目录
  gpgcheck=0
5,查看库 yum repolist

包管理工具-yum的更多相关文章

  1. Linux 入门记录:二十、Linux 包管理工具 YUM

    一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...

  2. 程序包管理工具yum

    yum 首先要有一个网络上或本地或远程的yum仓库.然后需要yum安装程序的机器去yum仓库下载yum元数据(包括包信息和依赖信息)到本地的cache里.当需要安装程序的时候,会查看yum源数据里是否 ...

  3. Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]

    0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...

  4. Linux RPM、YUM、APT包管理工具

    ⒈rpm包的管理 1)介绍 rpm是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,RPM是RedHat Package Manager(RedH ...

  5. Linux程序包管理之yum及源代码安装

    第十六章.Linux程序包管理之yum及源代码安装 目录 yum介绍 yum配置文件 yum的repo配置文件中可用的变量 yum命令的使用 使用光盘作为本地yum仓库 如何创建yum仓库 编译安装的 ...

  6. Python黑帽编程1.3 Python运行时与包管理工具

    Python黑帽编程1.3  Python运行时与包管理工具 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...

  7. MacOS上的包管理工具

    众所周知,Linux世界中存在着如apt-get.yum等强大而简单的包管理工具,而在Macos中同样存在类似的东西. 当前比较流行的主要有如下两种: 1.Homebrew(推荐):其官网地址brew ...

  8. 怎样安装pip--python的包管理工具

    pip是python的包管理工具,使用它来安装python的模块很方便. pip支持的操作系统:Unix/Linux, OS X, and Windows. 支持的python版本号:2.6, 2.7 ...

  9. php composer包管理工具

    一 . 包管理工具 你在Centos上装工具的时候直接yum -y install xx 比你去rpm -ivh xx.rpm 是不是爽很多呢? composer 就是安装php 代码的一个类似工具. ...

随机推荐

  1. Collections.unmodifiableMap,Collections.unmodifiableList,Collections.unmodifiableSet作用及源码解析

    在文章:Mybatis源码解析,一步一步从浅入深(五):mapper节点的解析中mybatis的源码中用到了Collections.unmodifiableList方法,其实还有unmodifiabl ...

  2. mysql创建表时字段类型选择与优化

    一.选择原则 1.应该尽量使用可以正确存储数据的最小字段类型 2.选用简单的数据类型,例如:一个是尽量用mysql内置的字段类型来存储日期和时间:另一个存储IP地址尽量用整型:能用整型的尽量不用字符串 ...

  3. Django REST Framework之权限组件

    权限控制是如何实现的? 一般来说,先有认证才有权限,也就是用户登录后才能判断其权限,未登录用户给他一个默认权限. Django接收到一个请求,首先经过权限的检查,如果通过检查,拥有访问的权限,则予以放 ...

  4. Python学习笔记整理总结【Django】:Model操作(二)

    1.操作汇总 # 增 # # models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs # obj = models ...

  5. 数据库系统概论——SQL

    [toc] 一.SQL查询语言概览 视图 从一个或几个基本表导出的表 数据库中只存放视图的定义而不存放视图对应的数据 视图是一个虚表 用户可以在视图上再定义视图 基本表 本身独立存在的表 SQL中一个 ...

  6. Mac 安装node npm cnpm vue 以及卸载 node 和 npm 的方法 清空npm缓存的方法

    S01 安装node(内含npm) 首先,到官网下载长期支持版,截止目前,最新的长期支持版本号是10.16.3 https://nodejs.org/zh-cn/download/ 下载完毕后,安装该 ...

  7. Java的一些基础知识深入

    1.浅析Java中的final关键字: 2.Java中的static关键字解析: 3.探秘Java中String.StringBuilder以及StringBuffer: 4.Java内部类详解: 5 ...

  8. redis系列之------简单的动态字符串(SDS)

    前言 Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的 ...

  9. vue父子组件钩子函数的执行顺序

    加载渲染过程 父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount-& ...

  10. mydumper 介绍及使用

    1 Mydumper 介绍 Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具. Mydumper主要特性: 轻量级C语言写的 多线程备份,备份后会生成多个备份文件 事务 ...