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查询软件包的方式

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

使用yum安装软件包的方式

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

使用yum重装软件包的方式

  1. #检查软件是否存在
  2. [root@zls ~]# rpm -q vsftpd
  3. vsftpd-2.2.2-24.el6.x86_64
  4. #检查vsftpd软件配置文件
  5. [root@zls ~]# rpm -qc vsftpd
  6. /etc/logrotate.d/vsftpd
  7. /etc/pam.d/vsftpd
  8. /etc/vsftpd/ftpusers
  9. /etc/vsftpd/user_list
  10. /etc/vsftpd/vsftpd.conf
  11. #不小心删除vsftpd配置文件
  12. [root@zls ~]# rm -f /etc/vsftpd/vsftpd.conf
  13. #重新安装软件
  14. [root@zls ~]# yum reinstall vsftpd
  15. #再次检查
  16. [root@zls ~]# rpm -qc vsftpd
  17. /etc/logrotate.d/vsftpd
  18. /etc/pam.d/vsftpd
  19. /etc/vsftpd/ftpusers
  20. /etc/vsftpd/user_list
  21. /etc/vsftpd/vsftpd.conf

使用yum更新软件包的方式

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

使用yum删除软件包的方式

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

yum仓库的相关命令

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

yum缓存相关指令

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

yum包组相关指令

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

yum历史命令

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

yum全局配置文件

yum的配置一般有两种方式:

1.全局配置文件/etc/目录下的yum.conf

2.子配置文件/etc/yum.repos.d/目录下的所有.repo文件

  1. vim /etc/yum.cnf
  2. cachedir=/var/cache/yum/$basearch/$releasever //缓存目录
  3. keepcache=0 //缓存软件包, 1启动 0 关闭
  4. debuglevel=2 //调试级别
  5. logfile=/var/log/yum.log //日志记录位置
  6. exactarch=1 //检查平台是否兼容
  7. obsoletes=1 //检查包是否废弃
  8. gpgcheck=1 //检查来源是否合法,需要有制作者的公钥信息
  9. plugins=1 //是否启用查询
  10. installonly_limit=5
  11. bugtracker_url
  12. # metadata_expire=90m //每小时手动检查元数据
  13. # in /etc/yum.repos.d //包含repos.d目录

YUM签名检查机制[扩展]

rpm软件提供组织redhat在构建rpm包时, 使用其私钥private keyrpm进行签名

客户端在使用rpm为了验证其合法性, 可以使用redhat提供的公钥public key进行签名检查


方式1: 指定公钥的位置

  1. [root@zls ~]# vim /etc/yum.repos.d/CentOS-Base.repo
  2. [base]
  3. 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/
  4. gpgcheck=1
  5. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

方式2: 提前导入公钥

  1. [root@zls ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  2. [root@tianyun ~]# vim /etc/yum.repos.d/CentOS-Base.repo
  3. [base]
  4. 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/
  5. gpgcheck=1

方式3: 不进行签名验证

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

制作本地yum仓库

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

创建新仓库文件

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

刷新repos生成缓存

  1. yum makecache

构建企业级yum仓库

服务端配置

1.基础环境准备

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

2.提供基础base

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

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

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

4.安装createrepo并创建 reopdata仓库

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

客户端使用yum源

1.配置并使用base基础源

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

2.客户端指向本地ftp

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

流程图

源码包

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

源码包的优缺点

优点:

1.有了源码包,那我就可以自行修改代码,提供我们使用,传说中的二次开发

2.可以定制需要的相关功能

3.新版本优先更新源码

4.自动化规范,方便落地

缺点:

1.相对于yum安装,复杂

2.耗时比较长

源码包安装步骤

安装源码包,必须要经历4个步骤

1.解压 tar

2.生成 ./configure cmake

3.编译 make

4.安装 make install

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

    1. [root@node1 ~]# yum install -y gcc make wget

yum工具及源码包的更多相关文章

  1. linux 软件管理--yum工具及源码包

    目录 linux 软件管理--yum工具及源码包 一.yum基本概述 二.yum源的配置 三.yum实践案例 四.yum全局配置文件 五.yum签名检查机制 五.制作本地yum仓库 六.构建企业级yu ...

  2. 中文自然语言处理工具HanLP源码包的下载使用记录

    中文自然语言处理工具HanLP源码包的下载使用记录 这篇文章主要分享的是hanlp自然语言处理源码的下载,数据集的下载,以及将让源代码中的demo能够跑通.Hanlp安装包的下载以及安装其实之前就已经 ...

  3. yum 仓库搭建与源码包安装实战

    目录 一.yum 仓库自建示例: 二.源码包安装实践 基础环境 服务端配置 下载及安装fpm软件 客户端: 一.yum 仓库自建示例: 1.安装ftp服务 yum -y install vsftpd ...

  4. linux下安装mysql的三种方法:rpm包安装、yum安装、源码包安装

    1 安装MySQL数据库服务器安装方法一://查询系统自带的数据库rpm -qa | grep -i mysql //卸载查询到的所有mysqlrpm -e --nodeps mysql-libs-5 ...

  5. 转:CentOS系统yum源配置修改、yum安装软件包源码包出错解决办法!

    yum安装包时报错: Could not retrieve mirrorlist http://mirrorlist.repoforge.org/el6/mirrors-rpmforge error ...

  6. CentOS系统yum源配置修改、yum安装软件包源码包出错解决办法apt.sw.be couldn't connect to host

    yum安装包时报错: Could not retrieve mirrorlist http://mirrorlist.repoforge.org/el6/mirrors-rpmforge error  ...

  7. Linux学习笔记15—RPM包的安装OR源码包的安装

    RPM安装命令1. 安装一个rpm包rpm –ivh 包名“-i” : 安装的意思“-v” : 可视化“-h” : 显示安装进度另外在安装一个rpm包时常用的附带参数有:--force : 强制安装, ...

  8. 软件包管理_rpm命令管理_yum工具管理_文件归档压缩_源码包管理

    rpm命令管理软件 对于挂载的像U盘那种都会在midea目录下,但是会显示在桌面上 安装软件(i:install,v:verbose冗长的,h:human):rpm  -ivh  xxxx.rpm 安 ...

  9. Linux进阶之Linux破解密码、yum源配置、防火墙设置及源码包安装

    一.老师语录: 所有要求笔试的公司都是垃圾公司 笔试(是考所有的涉及到的点) 要有自己的卖点.专长(给自己个标签)(至少一个) 生产环境中,尽量使用mv(mv到一个没用的目录下),少使用rm 二.防火 ...

随机推荐

  1. 松软科技web课堂:JavaScript 数组迭代方法

    数组迭代方法对每个数组项进行操作,听着挺高深,其实,就是对数组对象一次性逐一进行一种操作的一种叫法.(文章来源:www.sysoft.net.cn,加v:15844800162深度交流) Array. ...

  2. 【转载】Android N 完全不同以往的四个新特性

    Google最近发布了Android的下一个版本,Android N的开发者预览版.此次预览版,可以让我们开发者在正式发布之前就测试代码,包括一些新的API,甚至于也可以提前反馈那些对于我们来说有些困 ...

  3. Doxygen程序注释转换说明文档

    Doxygen使用 https://www.jianshu.com/p/9464eca6aefe

  4. Http相关小知识点笔记咯~

    协议 先来说说什么是协议,协议其实指的是通信协议(Communications Protocol),也称传输协议.Wiki中的描述的是这样的,通信协议定义了通信中的语法学,语义学和同步规则以及可能存在 ...

  5. 网络编程~~~ socket(套字节)

    一 socket (套接字) socket处于应用层与传输层之间,提供了一些简单的接口,避免与操作系统之间的对接,省去了相当繁琐复杂的操作. socket在python中属于一个模块,通过调用模块中已 ...

  6. Php—使用phpMyAdmin报错

    1.Warning in ./libraries/config/FormDisplay.php#661  "continue" targeting switch is equiva ...

  7. Druid-代码段-4-1

    所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应主流程4,丢弃连接的守护线程: //连接池瘦身,参考主流程4 public class DestroyConnectionThr ...

  8. windows搭建成代理服务器 CCProxy

    1.软件下载地址 http://www.ccproxy.com/ 2.账号激活 CCProxy无限用户版序列号:JHEHIHCDDAHC注册码:15f7f78febfaee55afeafefff7cb ...

  9. verilog问题二三

    assign语句叫连续赋值语句?为什么要叫连续,是由于等式右边是顺序执行的还是因为在执行赋值的过程中,赋值的先后顺序(实际上或者概念上)是有顺序的? 同步(复位)与异步(复位)的具体内涵:异步信号定义 ...

  10. JMeter 使用 http长连接 |史上最全

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 疯狂创客圈(笔者尼恩创建的高并发研习社群)Springcloud 高并发系列文章,将为大家介绍三个版本的 高并发秒杀: ...