阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

搭建自己的yum仓库

266次阅读
没有评论

共计 3957 个字符,预计需要花费 10 分钟才能阅读完成。

导读 yum(Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。基於 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
一、搭建前言

很多公司都有自己搭建的 yum 仓库,这样做的好处有以下几点:

1)节省流量,避免从公网重复下载软件包;为公司省钱;

2)提升下载速度;外网下载受带宽影响,下载速度较慢,而 yum 仓库在局域网中就很快;

3)方便统一管理,软件版本,都能做到统一;

4)避免访问外网,很多大公司,都是与公网隔绝的,尤其是大公司的类生产环境,绝对不予许随便访问外网,这是获取安装包的途径就只能通过内网 yum 仓库;

二、搭建前准备
2.1 操作系统版本

不同版本操作系统安装大体上没有差别,但是也会有影响,本实例 yum 仓库搭建基于如下环境:

[root@yum ~]# cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

[root@yum ~]# uname -r

3.10.0-693.el7.x86_64

[root@yum ~]# uname -m

x86_64
2.2 关闭防火墙和 selinux

安装前一定要关闭防火墙和 Selinux,否则会失败,出现异常。

[root@yum ~]# getenforce      #确认 SELinux 关闭
 
Disabled
 
[root@yum ~]# systemctl status firewalld    #确认防火墙关闭
 
● firewalld.service - firewalld - dynamic firewall daemon
 
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
 
   Active: inactive (dead)
 
     Docs: man:firewalld(1)
三、搭建 yum 仓库

yum 仓库搭建过程:

yum 仓库搭建说简单也很简单,只要注意几个细节就可以。下面会一一讲解:

第一步:安装 httpd 服务

[root@cobbler ~]# yum install -y httpd                 #安装 httpd 服务

[root@localhost yum.repos.d]# systemctl start httpd    #启动 httpd 服务

第二步:搭建 yum 仓库

yum 仓库搭建需要创建 yum 仓库的命令,createrepo 命令

[root@localhost yum.repos.d]# yum install -y createrepo    #安装 createrepo 命令

[root@localhost yum.repos.d]# createrepo -pdo /var/www/html/ /var/www/html/   #创建 yum 仓库

[root@localhost yum.repos.d]# cd /var/www/html/   #切换到 yum 仓库

[root@localhost html]# ls                         #查看 createrepo 创建 yum 仓库生成内容

repodata    #生成一个 repodata 包,里面包含库文件,类似数据库建库建表一样

第三步:最关键一步,搭建 yum 仓库

平时我们都喜欢使用阿里云的 epel.repo 源,我们可以仿照 epel.repo 来写我们的源

vim /etc/yum.repos.d/rural.repo

[warehouse]                           #这个是 yum 仓库的名字,是存放 rpm 包的目录,还需要我们创建,这个地方困扰我两天时间,否则即便搭建好,也会出现问题,各种依赖解决不了

name=Server

baseurl=http://10.0.0.170/rural/

enabled=1

gpgcheck=0

[root@yum ~]# mkdir /var/www/html/warehouse -p
#
四、rpm 包来源

搭建好 yum 仓库,就需要获取 rpm 包,这个可以从公网同步;

个人在家搭建 yum 仓库,喜欢从公网下载 rpm 包到 yum 仓库所在虚拟机,然后定时任务同步到 /var/www/html/warehouse 目录里。

同步代码如下:


[root@yum ~]# cat /server/scripts/yum.sh

#!/bin/bash

num=`find /var/cache/yum/* -name "*.rpm" |wc -l`

if [$num -eq 0];then

  exit 1

else

  find /var/cache/yum/* -name "*.rpm"  -exec mv -f {} /var/www/html/warehouse/  \;

  sleep 2

  /usr/bin/createrepo --update /var/www/html/warehouse

fi

默认情况下,每次 yum 安装 rpm 包之后都会清理掉,因而是不能同步的,我们可以改 yum 服务的配置文件

[root@yum ~]# vim /etc/yum.conf


[main]   

cachedir=/var/cache/yum/$basearch/$releasever    #rpm 包存放路径

keepcache=1     #keepcache 默认是 0,不保留 rpm 包,改为 1,则会保留 rpm 安装包

debuglevel=2    #Debug 信息输出登记,范围为 0 -10,缺省为 2

logfile=/var/log/yum.log   #日志文件, 执行 yum 记录

exactarch=1       #有 1 和 0 两个选项,设置为 1,则 yum 只会安装和系统架构匹配的软件包

obsoletes=1   #update 的参数,相当于 upgrade,允许更新陈旧的 RPM 包

gpgcheck=1    #有 1 和 0 两个选项,分别代表是否进行 gpg(GNU)校验,以确定 rpm 包的来源是有效和安全的。这个选项如果设置在 [main] 部分,则对每个 repository 都有效,默认为 0

plugins=1      #是否启用插件,默认为 1 允许,0 表示不允许

installonly_limit=5

bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum

distroverpkg=centos-release    #指定一个软件包,yum 会根据这个包判断发行版本

注意点:每次同步之后,要更新 yum 仓库,使用 createrepo 命令更新 yum 仓库,否则不会同步。

以上就是 yum 仓库的搭建过程,其实原理很简单,就是搭建一个 http 服务,然后把 rpm 放到 http 服务里面,通过 createrepo 命令创建 yum 仓库,类似于数据库建库建表的过程。

搭建完毕之后,我们就可以把上面的配置文件复制到内网的机器上面,让内网机器只能从 yum 仓库获取 rpm 包。

五、yum 仓库配置文件

repository 部分定义了每个源服务器的具体配置,可以有一到多个,位于 /etc/yum.repos.d/ 目录下的各文件中

[root@rural ~]# ll /etc/yum.repos.d/

CentOS-Base.repo       #

六、yum 命令
命令:

#### 查看软件包

  yum list all                 ## 列出 yum 源仓库里面的所有可用的安装包

  yum list installed           ## 列出所有已经安装的安装包 

  yum list available           ## 列出没有安装的安装包

 #### 安装软件

  yum install softwarename      ## 安装指定的软件

  yum reinstall softarename     ## 重新安装指定的软件

  yum localinstall 第三方 software  ## 安装第三方文件并且会解决软件的依赖关系

  yum remove  softwarename  ## 卸装指定的软件

 #### 查找软件的信息

  yum info software         ## 查看软的信息

  yum search keywords       ## 根据关键字查找到相关安装包软件的信息

  yum whatprovides filename ## 查找包含指定文件的相关安装包

 #### 对于软件组

   yum groups list          ## 列出软件组

   yum groups install       ## 安装一个软件组

   yum group remove         ## 卸载一个软件组

   yum groups info          ## 查看一个软件组的信息

 yum list httpd           ## 列出软件包

   yum search httpd         ## 搜索软件包

   yum provides  /etc/my.cnf     ## 查找某个特定文件属于哪个软件包

   yum grouplist            ## 弹出所有可用群组

   yum  grouplist“MySQL  Database”## 安装群组软件包

  yum repolist             ## 弹出启用的软件库 

yum repolist all(包含禁用的软件库)## 弹出所有软件包    

yum –enablerepo=localinstll LNMP      ## 安装来自特定软件库的软件包  

   yum –enablerepo=local –disablerepo=base.extras.updates install LNMP   ## 不安装来自特定软件库的软件包

   yum clean all      ## 清理 yum 缓存内容

   yum makecache      ## 缓存本地 yum 源中的软件包信息

yum history        ## 查看 yum 历史记录

特别提醒:yum 仓库的 rpm 包每更新一次,就要执行 createrepo --update 进行更新

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-10-16发表,共计3957字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7964878
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...