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

流程图

源码包

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

源码包的优缺点

优点:

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

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

3.新版本优先更新源码

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

缺点:

1.相对于yum安装,复杂

2.耗时比较长

源码包安装步骤

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

1.解压 tar

2.生成 ./configure cmake

3.编译 make

4.安装 make install

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

    [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. Supply Initial Data提供初始数据 (EF)

    Open the Updater.cs (Updater.vb) file, located in the MySolution.Module project's Database Update fo ...

  2. 设计好的报表是如何在 web 上显示的

    润乾报表主要用来开发在 java web 端呈现的报表工具,设计器为桌面版,那么开发后的报表如何发布到 web 端是用户较为关心的问题. 润乾报表 web 端发布,采用 Taglib 方式,只需要在 ...

  3. vue发送ajax请求

    一.vue-resource 1.简介 一款vue插件,用于处理ajax请求,vue1.x时广泛应用,现不被维护. 2.使用流程 step1:安装 [命令行输入] npm install vue-re ...

  4. Spring高级注解

    目录: 1.使用限定注解:2.自定义限定注解:3.自定义bean的生命周期: 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8新建一个名称为demo的Spr ...

  5. linux内核的冷热页分配器

    先说说cpu的cache,和cpu的cache比起来访问主内存是非常慢的,为了加快速度根据本地性原则,cpu在访问主内存的时候会把附近的一块数据都加载到cpu的cache里,之后读写这块数据都是在ca ...

  6. docker上启动nginx,并配置修改nginx的配置文件

    1.使用docker 下载nginx 镜像  docker pull nginx 2.启动nginx docker run --name nginx -p 80:80 -d nginx 这样就简单的把 ...

  7. React 以两种形式去创建组件 类或者函数(二)

    08==>创建组件以 1类的形式 或者以 2函数的形式 09==>使用组件 在src下创建components文件夹 是放组件的 CompType.js 组件 组件开头大写(重要) Com ...

  8. skkyk:点分治

    由题开始== 例题:求在一棵有权树上,是否存在一条路径满足权值和为K 解法:以每个点为根一次,看在他的子树间是否存在两段,其和为K;O(==) 和例题一样,对于树上问题,求某些要求的路径(数量或者存在 ...

  9. CSP2019 S2滚粗记

    最好分数:100+20+10+64+64+55 最坏分数:100+20+10+64+36+55 咕咕数据分数:100+25+10+64+60+55 CCF官方: 100+35+10+64+36+55= ...

  10. 【Oracle命令 】使用的sql语句之分组查询(group by)

    由于本人并未对oracle数据库进行深入了解,但是工作中又需要知道一些基础的sql,所以记录下操作的sql语句.方便日后查看 1.将序列号作为分组查询的条件,再将查询出来的结果进行筛选. select ...