zoukankan      html  css  js  c++  java
  • yum工具及源码包

    yum工具及源码包

    yum

    yum是RedHat以及CentOS中的软件包管理器,能够通过互联网下载以rpm结尾的包,并且安装,并可以自动处理依赖性关系,无需繁琐的一次次下载安装。

    yum源

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

    各大镜像源:

    阿里云:https://opsx.alibaba.com/mirror
    清华源:https://mirrors.tuna.tsinghua.edu.cn/
    163源:http://mirrors.163.com/
    华为源:https://mirrors.huaweicloud.com/
    科大源:http://mirrors.ustc.edu.cn/

    yum实战案例

    使用yum查询软件包的方式

    #列出软件仓库中可用的软件
    [root@zls ~]# yum list
    
    #进行模糊查找
    [root@zls ~]# yum list|grep ftp
    
    #列出软件包详情
    [root@zls ~]# yum info ftp
    

    使用yum安装软件包的方式

    #安装软件只需要给出软件名称(前提是在仓库中必须有)
    [root@zls ~]# yum install traceroute
    
    #安装过程中分析依赖关系后, 直接安装, 无需交互
    [root@zls ~]# yum install php -y
    
    #安装本地的rpm包, 如果有依赖关系, 会自动从软件仓库中下载所需依赖(非来自.repo定义的软件仓库)
    [root@zls ~]# yum localinstall /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm
    
    #安装网络上rpm包
    [root@zls ~]# yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
    

    使用yum重装软件包的方式

    #检查软件是否存在
    [root@zls ~]# rpm -q vsftpd
    vsftpd-2.2.2-24.el6.x86_64
    
    #检查vsftpd软件配置文件
    [root@zls ~]# rpm -qc vsftpd
    /etc/logrotate.d/vsftpd
    /etc/pam.d/vsftpd
    /etc/vsftpd/ftpusers
    /etc/vsftpd/user_list
    /etc/vsftpd/vsftpd.conf
    
    #不小心删除vsftpd配置文件
    [root@zls ~]# rm -f /etc/vsftpd/vsftpd.conf
    
    #重新安装软件
    [root@zls ~]# yum reinstall vsftpd
    
    #再次检查
    [root@zls ~]# rpm -qc vsftpd
    /etc/logrotate.d/vsftpd
    /etc/pam.d/vsftpd
    /etc/vsftpd/ftpusers
    /etc/vsftpd/user_list
    /etc/vsftpd/vsftpd.conf
    

    使用yum更新软件包的方式

    #对比Linux已安装的软件和yum仓库中的软件, 有哪些需要升级
    [root@zls ~]# yum check-update
    
    #更新acl软件
    [root@zls ~]#  yum update acl -y
    
    #如果执行下面的命令,很危险
    [root@zls ~]#  yum update -y
    

    使用yum删除软件包的方式

    #先安装一个samba软件
    [root@zls ~]# yum install samba -y
    
    #删除该软件包,会删除依赖, 但是我们尽可能不要使用删除软件操作
    [root@zls ~]# yum erase samba -y
    [root@zls ~]# yum remove samba -y
    

    yum仓库的相关命令

    #列出yum源可用的软件仓库
    [root@zls ~]# yum repolist
    
    #列出全部yum源可用和禁用的仓库
    [root@zls ~]# yum repolist all
    
    #启用软件包
    [root@db04 ~]# yum-config-manager --enable
    建议:直接修改配置文件
    
    #查看这个文件或命令属于哪个包
    yum provides /etc/my.cnf
    yum provides cd
    

    yum缓存相关指令

    #缓存yum源软件仓库, xml元数据文件
    [root@zls ~]# yum makecache
    
    #缓存软件包, 修改yum全局配置文件
    [root@zls ~]# vim /etc/yum.conf
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever
    keepcache=1 //启动缓存
    
    
    #查看缓存的xml文件
    [root@zls ~]# ls /var/cache/yum/x86_64/7/base/
    
    #查看缓存软件包路径
    [root@zls ~]# /var/cache/yum/x86_64/7/
    
    
    #另一种缓存rpm包方式
    
    #1.安装插件支持只下载软件包不安装
    [root@zls ~]# yum install -y yum-plugin-downloadonly
    #2.将软件下载至指定目录
    [root@zls ~]# yum install httpd -y --downloadonly --downloaddir=/tmp
    
    
    #清除所有yum缓存
    [root@zls ~]# yum clean all
    
    #只清除缓存的软件包
    [root@zls ~]# yum clean packages
    

    yum包组相关指令

    #列出已经安装和所有可使用的软件组
    [root@zls ~]# yum groups list
    
    #安装一整个组的软件
    [root@zls ~]# yum groups install Development tools 
    Compatibility libraries 
    Base Debugging Tools
    
    #yum删除包组
    [root@zls ~]# yum groups remove  -y Base
    

    yum历史命令

    #查看历史执行yum命令
    [root@zls ~]# yum history
    
    #查询历史执行yum命令ID详细信息
    [root@zls ~]# yum history info N
    
    #撤销历史执行过的yum命令
    [root@zls ~]# yum history undo N
    

    yum全局配置文件

    yum的配置一般有两种方式:
    1.全局配置文件/etc/目录下的yum.conf
    2.子配置文件/etc/yum.repos.d/目录下的所有.repo文件

    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目录
    

    YUM签名检查机制[扩展]

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


    方式1: 指定公钥的位置

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

    方式2: 提前导入公钥

    [root@zls ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    [root@tianyun ~]# vim /etc/yum.repos.d/CentOS-Base.repo
    [base]
    name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    gpgcheck=1
    

    方式3: 不进行签名验证

    #不检查软件包的签名,或者修改配置文件
    [root@zls ~]# yum install httpd --nogpgcheck
    

    制作本地yum仓库

    []          //仓库名称
    name        //仓库描述信息
    baseurl     //YUM源url地址 ,可以是file:// ftp:// http://
    enabled     //是否激活该YUM源(0代表禁用,1代表激活,默认为激活)
    gpgcheck    //安装软件时是否检查签名(0代表禁用,1代表激活)
    
    挂载镜像
    mount /dev/cdrom /mnt
    
    备份原有仓库
    gzip /ctc/yum.repos.d/*
    

    创建新仓库文件

    使用yum-config-manager命令添加本地仓库
    [root@zls ~]# yum-config-manager --add-repo="file:///mnt"
    
    
    #手动添加repo配置文件(方式二)
    [root@zls ~]# vim /etc/yum.repos.d/cdrom.repo  
    [cdrom]      
    name=This is local cdrom
    baseurl=file:///mnt
    enabled=1
    gpgcheck=0
    

    刷新repos生成缓存

    yum makecache
    

    构建企业级yum仓库

    服务端配置

    1.基础环境准备

    #关闭防火墙
    [root@yum_server ~]# systemctl stop firewalld
    
    #临时关闭selinux
    [root@yum_server ~]# setenforce 0
    
    #安装ftp服务,启动并加入开机启动
    [root@yum_server ~]# yum -y install vsftpd 
    [root@yum_server ~]# systemctl start vsftpd 
    [root@yum_server ~]# systemctl enable vsftpd
    
    #开启yum缓存功能
    [root@yum_server ~]# vim /etc/yum.conf
    [main] cachedir=/var/cache/yum/$basearch/$releasever 
    keepcache=1
    [root@yum_server ~]# yum clean all
    

    2.提供基础base

    [root@yum_server ~]# mkdir /var/ftp/centos7
    [root@yum_server ~]# mount /dev/cdrom /mnt
    [root@yum_server ~]# cp -rp  /mnt/Packages/*.rpm /var/ftp/centos7
    

    3.提供第三方源,同步中科大的源

    #进入ftp目录
    [root@yum_server centos]# cd /var/ftp/
    
    #同步中科大的源
    [root@yum_server ftp]# rsync -avzP rsync://rsync.mirrors.ustc.edu.cn/repo/nginx ./
    

    4.安装createrepo并创建 reopdata仓库

    //安装createrepo
    [root@yum_server ~]# yum -y install createrepo
    //生成仓库信息
    [root@yum_server ~]# createrepo /var/ftp/
    
    //注意: 如果此仓库每次新增软件则需要重新生成一次
    

    客户端使用yum源

    1.配置并使用base基础源

    [root@yum_client ~]# gzip /etc/yum.repos.d/*
    [root@yum_client ~]# vim /etc/yum.repos.d/centos7.repo 
    [centos74]
    name=centos74_base
    baseurl=ftp://10.0.0.90/centos7
    gpgcheck=0
    

    2.客户端指向本地ftp

    [root@yum_client ~]# vim /etc/yum.repos.d/nginx.repo 
    [ftp]
    name=local ftpserver
    baseurl=ftp://10.0.0.90/nginx
    gpgcheck=0
    

    流程图

    QQ图片20190711084709

    源码包

    源码包指的是开发编写好的程序源代码,但并没有将其编译为一个能正常使用的工具。

    源码包的优缺点

    优点:

    1.有了源码包,那我就可以自行修改代码,提供我们使用,传说中的二次开发
    2.可以定制需要的相关功能
    3.新版本优先更新源码
    4.自动化规范,方便落地

    缺点:
    1.相对于yum安装,复杂
    2.耗时比较长

    源码包安装步骤

    安装源码包,必须要经历4个步骤
    1.解压 tar
    2.生成 ./configure cmake
    3.编译 make
    4.安装 make install

    img

    • 源码包安装基础环境准备

      [root@node1 ~]# yum install -y gcc make wget 
      
  • 相关阅读:
    nginx下pagespeed使用详解
    letsencrypt证书-使用certbot申请wildcard证书
    letsencrypt证书-管理工具certbot
    tcpdump使用
    elasticsearch增删改查操作
    elasticsearch安装中文分词器
    dragstart drag dragend dragenter dragover dragleave drop
    js如何准确获取当前页面url网址信息
    /touch滑屏事件
    监听 手机back键和顶部的回退
  • 原文地址:https://www.cnblogs.com/1naonao/p/11178273.html
Copyright © 2011-2022 走看看