• ②linux yum


    YUM基本介绍

    1.什么是YUM
    Yum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装。(PS: YUM是生产最佳实践)

    2.YUM源是什么
    1要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源。(可以是本地源、网络源)

    3.YUM源配置实例

    1.阿里yum源

    #默认系统是国外源,需要替换为国内的源
    [root@www.xuliangwei.com ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo 
    http://mirrors.aliyun.com/repo/Centos-7.repo
    
    #扩展源,有很多软件在基本源中没有
    [root@www.xuliangwei.com ~]# wget -O /etc/yum.repos.d/epel.repo 
    http://mirrors.aliyun.com/repo/epel-7.repo
    

    2.Nginx官方源,比如在学习Nginx时需要使用官方的yum源来安装

    [root@www.xuliangwei.com ~]# vim /etc/yum.repos.d/nginx.repo
    [nginx]
    name=nginx repo 
    baseurl=http://nginx.org/packages/centos/7/$basearch/ 
    gpgcheck=0
    enabled=1
    

    PS:源超找方式基本一致,zabbix,Docker、Nginx、saltstack、openstack
    4.YUM实践案例

    1.使用yum查询软件包的方式

    [root@www.xuliangwei.com ~]# yum list
    [root@www.xuliangwei.com ~]# yum list|grep ftp
    [root@www.xuliangwei.com ~]# yum info ftp
    

    2.使用yum安装软件包的方式

    [root@www.xuliangwei.com ~]# yum install tree
    [root@www.xuliangwei.com ~]# yum install tree -y    #非交互
    
    #安装本地的rpm包, 如果有依赖关系, 会自动从软件仓库中下载所需依赖
    [root@www.xuliangwei.com ~]# yum localinstall /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm
    
    #直接安装网络上的rpm包
    [root@www.xuliangwei.com ~]# yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
    

    3.使用yum重新安装软件包的方式

    #1.如果不小心删除vsftpd配置文件
    [root@www.xuliangwei.com ~]# rm -f /etc/vsftpd/vsftpd.conf
    
    #2.可以对软件进行重新安装
    [root@www.xuliangwei.com ~]# yum reinstall vsftpd
    
    #3.检查软件的配置文件
    [root@www.xuliangwei.com ~]# rpm -qc vsftpd
    /etc/logrotate.d/vsftpd
    /etc/pam.d/vsftpd
    /etc/vsftpd/ftpusers
    /etc/vsftpd/user_list
    /etc/vsftpd/vsftpd.conf
    

    3.使用yum更新软件包

    #对比Linux已安装的软件和yum仓库中的软件, 有哪些需要升级
    [root@www.xuliangwei.com ~]# yum check-update
    
    #更新acl软件
    [root@www.xuliangwei.com ~]#  yum update acl -y
    
    #如下的执行很危险,这代表更新整个系统所有的软件,包括内核
    [root@www.xuliangwei.com ~]#  yum update -y
    

    4.使用yum删除软件包

    [root@www.xuliangwei.com ~]# yum install samba -y
    [root@www.xuliangwei.com ~]# yum erase samba -y
    [root@www.xuliangwei.com ~]# yum remove samba -y
    

    5.与yum仓库相关指令(扩展了解)

    #列出yum源可用的软件仓库
    [root@www.xuliangwei.com ~]# yum repolist
    
    #列出全部yum源可用和禁用的仓库
    [root@www.xuliangwei.com ~]# yum repolist all
    
    #查找某个命令或文件属于那个软件包(生产常用)
    [root@www.xuliangwei.com ~]# yum provides /etc/my.cnf
    [root@www.xuliangwei.com ~]# yum provides cd
    

    6.与yum缓存相关指令(扩展了解)

    #1.缓存rpm包方式一、修改yum全局配置文件
    [root@www.xuliangwei.com ~]# vim /etc/yum.conf
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever
    keepcache=1     #启动缓存
    
    #2.缓存rpm包方式二,只下载不安装
    [root@www.xuliangwei.com ~]# yum install -y yum-plugin-downloadonly #插件
    [root@www.xuliangwei.com ~]# yum install httpd -y --downloadonly --downloaddir=/tmp
    
    #3.清除所有yum缓存的软件包以及元数据
    [root@www.xuliangwei.com ~]# yum clean all
    
    #4.只清除缓存的软件包
    [root@www.xuliangwei.com ~]# yum clean packages
    

    7.组包相关指令,(扩展了解)

    [root@www.xuliangwei.com ~]# yum groups list
    #安装一整个组的软件
    [root@xuliangwei ~]# yum groups install Development tools 
    Compatibility libraries 
    Base Debugging Tools
    
    #yum删除包组
    [root@www.xuliangwei.com ~]# yum groups remove  -y Base
    

    8.历史记录指令,(扩展了解)

    #1.查看历史执行yum命令
    [root@www.xuliangwei.com ~]# yum history
    
    #2.查询历史执行yum命令ID详细信息
    [root@www.xuliangwei.com ~]# yum history info N
    
    #3.撤销历史执行过的yum命令
    [root@www.xuliangwei.com ~]# yum history undo N
    

    5.YUM配置文件

    yum的配置一般有两种方式: 一种是直接配置/etc目录下的yum.conf文件, 另外一种是在/etc/yum.repos.d目录下增加.repo文件

    [root@xuliangwei ~]# vim /etc/yum.cnf
    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
    bugtracker_url
    # metadata_expire=90m   #每小时手动检查元数据
    # in /etc/yum.repos.d   #包含repos.d目录中的.repo文件
    

    7.YUM签名检查

    redhat在构建rpm包时,使用私钥private key对 rpm包进行签名,客户端在使用rpm为验证其合法性,可以使用redhat提供的公钥public key进行签名检查。

    方式1: 指定公钥的位置

    [root@xuliangwei ~]# vim /etc/yum.repos.d/CentOS-Base.repo
    [base]
    name=CentOS-$releasever - Base 
    baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    

    方式2: 提前导入公钥

    [root@xuliangwei ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    [root@xuliangwei ~]# vim /etc/yum.repos.d/CentOS-Base.repo
    [base]
    name=CentOS-$releasever - Base 
    baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=0
    

    方式3: 不进行签名验证

    #不验证软件包的合法性
    [root@xuliangwei ~]# yum install httpd --nogpgcheck
    
  • 相关阅读:
    福州KTV
    MSN登陆不上:微软谴责中国的“技术问题”
    DB2 存储过程开发最佳实践
    在DB2存储过程中返回一个数据集
    Host is not allowed to connect to this MySQL server 解决方案
    CentOS安装中文支持
    ImportError: libpq.so.5: cannot open shared object file: No such file or directory
    CentOS 终端显示中文异常解决办法
    pytestDemo
    python 获取当前运行的类名函数名
  • 原文地址:https://www.cnblogs.com/yangtao416/p/14499136.html
Copyright © 2020-2023  润新知