Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • Linux基础

    • Bash shell
    • 文件属性
    • 编辑工具vim
    • 用户管理
    • 用户组管理
    • 普通用户提权
    • 基础权限
    • 特殊权限
    • 文件特殊属性
    • IO重定向
    • 文件查找
    • 文件压缩
    • 软件包管理

      • rpm
      • yum
        • YUM基本介绍
          • 什么是YUM
          • 什么是YUM源
          • YUM配置文件
          • 配置YUM源示例
        • YUM日常操作
          • yum查询软件包
          • yum安装软件包
          • yum重装软件包
          • yum更新软件包
          • yum删除软件包
          • yum管理组包
          • yum管理仓库
          • yum管理历史记录
          • yum缓存软件包
      • 搭建yum仓库
    • 磁盘管理

    • 进程管理
    • 计划任务
    • systemd
    • Supervisor
    • 网络管理

    • Chrony时间同步
    • NFS网络文件系统
  • Linux进阶

  • 其他

  • 运维
  • Linux基础
  • 软件包管理
Brc
2021-07-08
目录

yum

# YUM基本介绍

# 什么是YUM

yum是RedHat及centos系统中的软件包管理器。它能够通过互联网下载.rpm格式包进行安装,并能自动处理其依赖间关系,无须繁琐地一次次下载安装。

# 什么是YUM源

要使用yum命令工具安装更新软件,需要有一个包含各种rpm软件包的仓库,这个软件仓库我们一般称为yum源。当然这个源可以是本地仓库、也可以是网络仓库。

# YUM配置文件

  • centoS7的配置文件

    [root@web ~]# vim /etc/yum.conf
    cachedir=/var/cache/yum/$basearch/$releasever	#缓存目录
    keepcache=0						#缓存软件包,1启动0关闭
    debuglevel=2					#调试级别
    logfile=/var/log/yum.log		#日志记录位置
    exactarch=1						#检查平台是否兼容
    obsoletes=1						#检查包是否废弃
    gpgcheck=1						#检查来源是否合法,需要有制作者的公钥信息
    plugins=1
    installonly_limit=5				#同时可以安装5个软件包、最小为2,设置为0或者1则不限制
    
    # metadata_expire=60m			#每小时手动检查元数据
    # in /etc/yum.repos.d			#包含repos.d目录中的.repo文件
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

# 配置YUM源示例

系统默认的源是国外提供,需要替换为国内的源

  • 配置阿里yum源

    [root@web ~]# wget -o /etc/yum .repos.d/CentOS-Base.repo \
    http://mirrors.aliyun.com/repo/Centos-7.repo
    
    1
    2
  • 配置第三方yum源(EPEL)

    [root@web ~]# wget -O /etc/yum.repos.d/epel.repo \
    http://mirrors.aliyun.com/repo/epel-7.repo
    
    1
    2
  • Nginx官方源,Nginx最好使用官方的yum源来安装软件

    [root@web ~]# vim /etc/yum.repos.d/nginx.repo
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1
    
    1
    2
    3
    4
    5
    6

PS:源查找方式基本一致,Docker、Nginx.openstack、ELKStack

# YUM日常操作

# yum查询软件包

  • 使用yum list查询所有仓库中的所有软件包

    [root@web ~]# yum list
    [root@web ~]# yum list |grep ftp
    
    1
    2
  • 使用yum list installed查询所有已安装至系统中的软件包

    [root@web ~]# yum list installed
    
    1
  • 使用yum provides查询系统命令来自于哪个软件包

    [root@web ~]# yum provides cd
    [root@web ~]# yum provides sl
    
    1
    2

# yum安装软件包

  • 使用yum install通过仓库获取软件包进行安装

    # 交互
    [root@web ~]# yum install vsftpd
    
    # 非交互
    [root@web ~]# yum install vsftpd -y
    
    1
    2
    3
    4
    5
  • 使用yum localinstall安装本地的rpm包,如果rpm包存在依赖,会自动查找当前系统上已有的仓库解决依赖关系

    [root@web ~]# yum install https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/samba-4.8.3-4.el7.x86_64.rpm
    
    # yum localinstall直接安装本地的rpm包,会自动查找当前系统上已有的仓库解决依赖关系
    [root@web ~]# yum localinstall samba-4.8.3-4.el7.x86_64.rpm -y
    
    1
    2
    3
    4

# yum重装软件包

当我们安装好服务后,如果不小心删除了服务的配置文件,此时可以通过重装的方式修复。

  • 首先删除vsftpd配置主文件

    [root@web ~]# rpm -qc vsftpd
    [root@web ~]# rm -f /etc/vsftpd/vsftpd.conf
    
    1
    2
  • 使用yum reinstall对软件进行重新安装

    [root@web ~]# yum reinstall vsftpd
    
    1
  • 检查vsftpd服务配置文件是否恢复,以及软件是否能正常使用。

    [root@web ~]# rpm -qc vsftpd
    /etc/logrotate.d/vsftpd
    /etc/pam.d/vsftpd
    /etc/vsftpd/ftpusers
    /etc/vsftpd/user_list
    /etc/vsftpd/vsftpd.conf
    
    1
    2
    3
    4
    5
    6

# yum更新软件包

  • 对比Linux已安装的软件和yum仓库中的软件,有哪些需要升级

    [root@web ~]# yum check-update
    
    1
  • 更新acl软件

    [root@web ~]# yum update acl -y
    
    1
  • 更新整个系统所有的软件,包括内核(通常刚装完系统会进行执行)

    [root@web ~]# yum update -y
    
    1

# yum删除软件包

[root@web ~]# yum remove samba -y
1

# yum管理组包

  • 使用yum groups install安装一整个组的软件

    [root@web ~]# yum groups list
    [root@web ~]# yum groups install Development tools Compatibility libraries Base Debugging Tools
    
    1
    2
  • 使用yum groups remove删除包组

    [root@web ~]# yum groups remove -y Base
    
    1

# yum管理仓库

  • 列出yum repolist源可用的软件仓库

    [root@web ~]# yum repolist
    [root@web ~]# yum repolist all	#查看所有的仓库
    
    1
    2
  • 通过yum-config-manager启用和禁用仓库

    # Centos7
    [root@web ~]# yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm -y
    
    [root@web ~]# yum repolist all | grep mysql
    [root@web ~]# yum-config-manager --disable mysql80-community	# 关闭仓库
    [root@web ~]# yum-config-manager --enable mysql80-community		# 启用仓库
    
    1
    2
    3
    4
    5
    6

PS:本质都是在修改repo文件中的enable参数值0不启用1启用

# yum管理历史记录

当我们删除了某个软件时,希望撤销删除的操作,可以使用yum history undo

  1. 删除httpd软件,然后查看操作记录

    [root@web ~]# yum remove httpd -y
    [root@web ~]# yum history
    
    1
    2
  2. 使用yum history undo Number撤销

    [root@web ~]# yum history info N
    [root@web ~]# yum history undo N
    
    1
    2

# yum缓存软件包

  • 缓存rpm包方式一、通过修改yum全局配置文件

    [root@web ~]# vim /etc/yum.conf
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever
    keepcache=1		#启动缓存
    
    [root@web ~]# yum install lrzsz -y
    [root@web ~]# find /var/cache/yum/ -type f -name "*.rpm"
    
    1
    2
    3
    4
    5
    6
    7
  • 缓存rpm包方式二、通过yum下载该软件包至本地,不进行安装

    [root@web ~]# yum install httpd -y \
    --downloadonly \
    --downloaddir=/opt
    
    1
    2
    3
  • 如果缓存的数据包太多,可以使用yum清除缓存

    # 清理所有yum缓存信息,包括缓存的软件包
    [root@web ~]# yum clean all
    
    # 仅清理所有缓存的软件包
    [root@web ~]# yum clean packages
    
    1
    2
    3
    4
    5
#Linux#yum
Last Updated: 2024/03/12, 17:17:11
rpm
搭建yum仓库

← rpm 搭建yum仓库→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式