Linux部署YUM仓库

Posted Richard_Chiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux部署YUM仓库相关的知识,希望对你有一定的参考价值。

Linux部署YUM仓库

壹、YUM概述

1、YUM (Yellow dog Updater Modified)

  • 基于RPM包构建的软件更新机制
  • 可以自动解决依赖关系
  • 所有软件包由集中的YUM软件仓库提供

贰、准备安装源

(1)软件仓库的提供方式

网络源

  • FTP服务:ftp://.......
  • HTTP服务:http://.......

本地源

  • 本地目录:file://......

(2)RPM软件包的来源

  • CentOS发布的RPM包集合
  • 第三方组织发布的RPM包集合
  • 用户自定义的RPM包集合

(3)构建CentOS7软件仓库

  • RPM包来自CentOS7 DVD光盘
  • 通过FTP方式提供给客户机(安装并启动vsftpd服务)
mkdir -p /var/ftp/CentOS7
cp -rf /dev/cdrom/* /var/ftp/Cent0S7

rpm -ivh /dev/cdrom/Packages/vsftp-3.0.2-21.el7.x86_64.rpm
systemctl start vsftpd
systemctl enabled vsftpd

(4)在软件仓库中加入非官方RPM包组

  • 包括存在依赖关系的所有RPM包
  • 使用createrepo工具建立仓库数据文件
    • 安装包文件存放到/var/ftp/other目录下
mkdir -p /var/ftp/other
cd /var/ftp/other
createrepo -g /dev/cdrom/repodata/repomd.xml ./

3、访问YUM仓库

  • 为客户机指定YUM仓库位置
    • 配置文件:/etc/yum.repos.d/centos7.repo
vim /etc/yum.repos.d/centos7.repo
[base]                       #仓库类别//注意:方括号里面不能有空格。
name=CentOS 7                #仓库名称
baseurl=ftp:///192.168.4.254/Cent0S7     #URL访问路径
enabled=1  #启用此软件仓库,默认该选项可以不写。如果值为0,则表示禁用这个软件源。
gpgcheck=1(或0:表示不验证公钥) #验证软件包的签名
gpgkey=file:///etc/pki/ rpm-gpg/RPM-GPG-KEY-Cent0S-7(软件校验公钥)#GPG公钥文件的位置

[other]
name=Other RPM Packages
baseurl=ftp:///192.168.4.254/other
enabled=1
gpgcheck=0

4、YUM软件包

①软件安装、升级

安装软件
yum install -y [软件名]    #-y表示自动确认
yum groupinstall <包组名>
升级软件
yum update
yum grounpupdate

②软件包查询--查询软件包组

yum grouplist [包组名]
yum groupinfo <包组名>

③软件卸载

yum remove <软件名>
yum groupremove <包组名>

叁、使用阿里云仓库当做YUM源方法

当既有本地yum源又有aliyun源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装,本地找不到可用的包时再使用aliyun源去安装软件,这里就涉及到了优先级的问题,yum提供的插件yum-plugin-priorities.noarch可以解决这个问题

1.查看是否安装了yum-plugin优先级插件

rpm -qa |grep yum-plugin-

2.如果没有安装,就安装插件

yum -y install yum-plugin-priorities.noarch

3.查看插件是否启用

cat /etc/yum/pluginconf.d/priorities.conf
[main]:
enabled = 1  #1为启动,0为禁止

4.修改本地yum源优先使用

vi local.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=1 
priority=1   #数字越小优先级越高

[epel]
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
enabled=1
gpgcheck=0
priority=2

5.验证安装包的数量

执行yum repolist all可显示所有仓库包
//yum命令仅下载安装包
方式一:
yum install --downloadonly mariadb
#下载下来的安装包都是放在 /var/cache/yum/x86_64/7/ 目录下

方式二:
yumdownloader --destdir=/opt mariadb mariadb-server
#yumdownloader 仅下载指定软件包,参数 --destdir 是用来指定存放下载的安装包的目录

以上是关于Linux部署YUM仓库的主要内容,如果未能解决你的问题,请参考以下文章

Linux网络服务11——部署YUM仓库服务

Linux学习—部署yum网络仓库

linux部署YUM仓库服务

linux配置软件仓库 yum管理应用软件 快速部署Web/FTP

Linux网络服务之部署YUM仓库

Linux系统部署YUM远程仓库及NFS共享服务