yum私有仓库

  • 内网服务器禁止访问互联网,
  • 但yum安装需要依赖yum源仓库。
  • 在内部网络部署私有yum源仓库,
  • 不但可以保证内网服务器安全,
  • 还可以提高yum查询、下载、安装速度

思路:

  • 把仓库文件找一个文件夹放进去
  • 把这个文件夹共享出来

哪些数据是创建yum仓库必须的?

  • 包的文件夹 Packages
  • 元数据文件夹 repodata 这个名字是固定的

共享yum仓库的常见方式

yum仓库支持四种常见地址:

  • file:// 本地
  • http:// 网站
  • https:// 网站
  • ftp:// FTP站

搭建前准备工作

  • 搭建yum仓库需要事先准备好包,
  • 最简单的方式就是将CentOS光盘里的内容拷贝过去

CentOS 8需要两个仓库

  • AppStream
  • BaseOS

准备共享服务

  • 安装httpd服务
yum -y install httpd
  • 并设置为开机启动
systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
  • 关闭本机防火墙(太low了)
systemctl disable --now firewalld
  • 不关闭防火墙则需要开放http端口(专业做法)
firewall-cmd --add-service=http ## 防火墙添加http端口 临时生效 默认为80
firewall-cmd --permanent --add-service=http ## ## 防火墙永久添加 http端口
firewall-cmd --reload ## 重新加载
systemctl restart firewalld.service ## 重启防火墙

实例:

[15:11:24 root@C8[ ~]#systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor p>Active: active (running) since Sun 2021-04-11 13:08:32 CST; 2h 3min agoDocs: man:firewalld(1)Main PID: 954 (firewalld)Tasks: 2 (limit: 11337)Memory: 30.1MCGroup: /system.slice/firewalld.service└─954 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork ->Apr 11 13:08:31 C8 systemd[1]: Starting firewalld - dynamic firewall daemon...
Apr 11 13:08:32 C8 systemd[1]: Started firewalld - dynamic firewall daemon.[15:13:11 root@C8[ ~]#firewall-cmd --add-service=http
success
[15:13:59 root@C8[ ~]#firewall-cmd --reload
success
[15:14:19 root@C8[ ~]#firewall-cmd --permanent --add-service=http
success
[15:15:00 root@C8[ ~]#systemctl restart firewalld.service

拷贝光盘中内容到指定共享目录

同时添加3个光驱

分别加载6/7/8

  • sr1 C6 3.7G 最小
  • sr2 C7 4.4G
  • sr0 C8 7G 最大
[14:15:55 root@C8[ ~]#lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   20G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   19G  0 part ├─cl-root 253:0    0   17G  0 lvm  /└─cl-swap 253:1    0    2G  0 lvm  [SWAP]
sr0          11:0    1    7G  0 rom
sr1          11:1    1  3.7G  0 rom
sr2          11:2    1  4.4G  0 rom

创建3个对应的目录

[14:20:35 root@C8[ ~]#mkdir -pv /cd/{C6,C7,C8}
mkdir: created directory '/cd'
mkdir: created directory '/cd/C6'
mkdir: created directory '/cd/C7'
mkdir: created directory '/cd/C8'

分别将光驱挂载到对应目录

mount /dev/sr1 /cd/C6;mount /dev/sr2 /cd/C7;mount /dev/sr0 /cd/C8

实例:

[14:29:16 root@C8[ ~]#mount /dev/sr1 /cd/C6;mount /dev/sr2 /cd/C7;mount /dev/sr0 /cd/C8;df -h
mount: /cd/C6: WARNING: device write-protected, mounted read-only.
mount: /cd/C7: WARNING: device write-protected, mounted read-only.
mount: /cd/C8: WARNING: device write-protected, mounted read-only.
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             886M     0  886M   0% /dev
tmpfs                904M     0  904M   0% /dev/shm
tmpfs                904M  8.8M  895M   1% /run
tmpfs                904M     0  904M   0% /sys/fs/cgroup
/dev/mapper/cl-root   17G  6.8G   11G  40% /
/dev/sda1            976M  139M  771M  16% /boot
tmpfs                181M     0  181M   0% /run/user/0
/dev/sr1             3.8G  3.8G     0 100% /cd/C6
/dev/sr2             4.4G  4.4G     0 100% /cd/C7
/dev/sr0             7.1G  7.1G     0 100% /cd/C8

参考互联网yum源的路径

  • CentOS 6 腾讯云

https://mirrors.cloud.tencent.com/centos/6/os/x86_64/

  • CentOS 7 清华大学源

https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/

  • CengOS 8

http://mirrors.163.com/centos/8/AppStream/x86_64/os/
https://repo.huaweicloud.com/centos/8/BaseOS/x86_64/os/

  • 目录格式

http://域名/centos/大版本号6|7/os/x86_64

http://域名/centos/大版本号8/AppStream|BaseOS/x86_64/os/

在共享文件夹下创建3个对应的目录

mkdir -pv /var/www/html/centos/{{6,7}/os/x86_64,8/{BaseOS,AppStream}/x86_64/os}

实例:

[14:49:08 root@C8[ ~]#mkdir -pv /var/www/html/centos/{{6,7}/os/x86_64,8/{BaseOS,AppStream}/x86_64/os}
mkdir: created directory '/var/www/html/centos'
mkdir: created directory '/var/www/html/centos/6'
mkdir: created directory '/var/www/html/centos/6/os'
mkdir: created directory '/var/www/html/centos/6/os/x86_64'
mkdir: created directory '/var/www/html/centos/7'
mkdir: created directory '/var/www/html/centos/7/os'
mkdir: created directory '/var/www/html/centos/7/os/x86_64'
mkdir: created directory '/var/www/html/centos/8'
mkdir: created directory '/var/www/html/centos/8/BaseOS'
mkdir: created directory '/var/www/html/centos/8/BaseOS/x86_64'
mkdir: created directory '/var/www/html/centos/8/BaseOS/x86_64/os'
mkdir: created directory '/var/www/html/centos/8/AppStream'
mkdir: created directory '/var/www/html/centos/8/AppStream/x86_64'
mkdir: created directory '/var/www/html/centos/8/AppStream/x86_64/os'
[14:52:08 root@C8[ ~]#tree /var/www/html/centos/
/var/www/html/centos/
├── 6
│   └── os
│       └── x86_64
├── 7
│   └── os
│       └── x86_64
└── 8├── AppStream│   └── x86_64│       └── os└── BaseOS└── x86_64└── os13 directories, 0 files

将光盘目录中的内容拷贝至对应目录即可

cp -r /cd/C6/* /var/www/html/centos/6/os/x86_64/
cp -r /cd/C7/* /var/www/html/centos/7/os/x86_64/
cp -r /cd/C8/AppStream/* /var/www/html/centos/8/AppStream/x86_64/os/
cp -r /cd/C8/BaseOS/* /var/www/html/centos/8/BaseOS/x86_64/os/

为了方便,也可以在共享目录下创建对应的软链接

ln -s /cd/C6 /var/www/html/centos/6/os/x86_64/yum_epoe
ln -s /cd/C7 /var/www/html/centos/7/os/x86_64/yum_epoe
ln -s /cd/C8/BaseOS/ /var/www/html/centos/8/BaseOS/x86_64/os/yum_epoe
ln -s /cd/C8/AppStream/ /var/www/html/centos/8/AppStream/x86_64/os/yum_epoe

至此,服务器已经搭建好了


配置客户端

  • 备份源repo文件 标准姿势
tar -zcvf /etc/yum.repos.d/CentOSRepo.bak.tar.gz /etc/yum.repos.d/*.repo --remove-files
  • 新建repo文件并添加如下内容
[BaseOS] ##标识
name=BaseOSBySunMY ##内容名
baseurl=http://10.0.0.88/centos/7/os/x86_64/yum_epoe/ ##本地服务器路径
enabled=1 ##启用
gpgcheck=1 ## 安装软件检查公钥
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 ##系统自带公钥文件,在本地系统/etc/pki/rpm-gpg/文件夹下
  • 清空并刷新缓存额
yum clean all && yum repolist all
  • 执行yum clean all清除原有yum缓存。
  • 执行yum makecache(刷新缓存)
  • 或者yum repolist all(查看所有配置可以使用的文件,会自动刷新缓存)。
[03:48:45 root@c7-1-54 ~]#yum clean all && yum repolist all
Loaded plugins: fastestmirror
Cleaning repos: BaseOS
Cleaning up list of fastest mirrors
Other repos take up 201 M of disk space (use --verbose for details)
Loaded plugins: fastestmirror
Determining fastest mirrors
BaseOS                                                                                                               | 3.6 kB  00:00:00
(1/2): BaseOS/group_gz                                                                                               | 165 kB  00:00:00
(2/2): BaseOS/primary_db                                                                                             | 3.2 MB  00:00:00
repo id                                                     repo name                                                         status
BaseOS                                                      BaseOSBySunMY                                                     enabled: 4,067
repolist: 4,067

创建私有yum源仓库常用做法

  • 毕竟不能每个服务器都挂载光盘,
  • 我们通常将互联网上的好用的yum源所有内容,
  • 直接复制到内部私有yum源仓库
  • 岂不皆大欢喜,时不常地同步一下,还可保持更新

从互联网下载克隆yum源仓库的meta数据所有相关包

  • CentOS 8 dnf 工具已集成该功能
dnf reposync --help
  • 可以直接将配好的仓库下载下来
dnf reposync --repoid=REPOID --download-metadata -p /path

http://nginx.org/packages/centos/8/x86_64/

  • CentOS 7 及以下版本,使用reposync工具
reposync --repoid=REPOID --download-metadata -p /path
  • 自动创建私有仓库repodata文件夹和文件:
createrepo [操作] <目录>

以下为附加内容,非必须


安装自动挂载的光驱

autofs工具实现光驱自动挂载

[13:29:21 root@C8[ ~]#rpm -qi autofs
Name        : autofs
Epoch       : 1
Version     : 5.1.4
Release     : 43.el8
Architecture: x86_64
Install Date: Thu 08 Apr 2021 11:59:25 AM CST
Group       : System Environment/Daemons
Size        : 3758801
License     : GPLv2+
Signature   : RSA/SHA256, Tue 21 Jul 2020 01:52:58 AM CST, Key ID 05b555b38483c65d
Source RPM  : autofs-5.1.4-43.el8.src.rpm
Build Date  : Tue 21 Jul 2020 01:48:25 AM CST
Build Host  : x86-02.mbox.centos.org
Relocations : (not relocatable)
Packager    : CentOS Buildsys <bugs@centos.org>
Vendor      : CentOS
Summary     : A tool for automatically mounting and unmounting filesystems
Description :
autofs is a daemon which automatically mounts filesystems when you use
them, and unmounts them later when you are not using them.  This can
include network filesystems, CD-ROMs, floppies, and so forth.

添加光驱后不重启识别光盘内容

刷新总线

echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan

写脚本批量下载nginx仓库包

nginx: Linux packages
http://nginx.org/en/linux_packages.html
http://nginx.org/packages/centos/7/x86_64/

#!/bin/bash
WURL="http://nginx.org/packages/centos/7/x86_64/RPMS/"
curl $WURL > cNu.log
#PACK=`curl $WURL 2>/dev/null | grep "^<a href" | cut -d\"  -f2`
#SPACK=`echo $PACK | tr ' ' '\n'`
WDIR=/var/www/html/nginx/7/x86_64/RMPS/for p in `grep "^<a href" cNu.log | cut -d\"  -f2` ;dowget  "$WURL$p" -p "$WDIR"
done

下载完成后自动生成repodata元数据目录

createrepo /var/www/html/nginx/7/x86_64/RMPS/

CentOS6/7/8搭建企业内部私有yum源仓库服务器相关推荐

  1. Docker搭建企业内部私有云盘/开源网盘系统

    转载来源:https://manual-cn.seafile.com/deploy/deploy_with_docker.html Docker搭建企业内部私有云盘/网盘系统 快速搭建 # 执行下面, ...

  2. 搭建私有yum源仓库同步阿里云yum源到本地私有yum仓库

    本地私有仓库搭建步骤: 1.安装nginx 2.在本机配置阿里云yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun ...

  3. 在5分钟内搭建企业内部私有npm仓库

    下面通过三种方法来搭建公司私有npm仓库,每种方式都有自己的优势. Node.js >= 6.11.3,我的Node版本:node v8.2.1 Linux or OSX,我的系统版本:Cent ...

  4. (转)搭建企业内部yum仓库(centos6+centos7+epel源)

    搭建企业内部yum仓库(centos6+centos7+epel源) 原文:https://www.cnblogs.com/nulige/p/6081192.html https://www.linu ...

  5. 【转载】用开源软件搭建企业内部协作平台, Kill QQ MSN

    作为公司的一分子, 您可能忧心忡忡于通过 MSN, QQ 流入的各种名目繁多的病毒, 木马, 例如熊猫烧香, 以及通过 MSN 传播的导致公司网络瘫痪的蠕虫病毒. 换句话说, 我们需要企业内部协作平台 ...

  6. 搭建企业内部知识库,从知识管理做起

    编者按:随着信息化的发展,企业的知识资产越来越重要,搭建企业内部知识库对企业十分重要,本文分析了企业知识库的意义,并进一步介绍了知识管理系统助力企业知识库搭建实现的功能. 概要: (1)搭建企业知识库 ...

  7. 用开源软件搭建企业内部协作平台, Kill QQ MSN

    作为公司的一分子, 您可能忧心忡忡于通过 MSN, QQ 流入的各种名目繁多的病毒, 木马, 例如熊猫烧香, 以及通过 MSN 传播的导致公司网络瘫痪的蠕虫病毒. 换句话说, 我们需要企业内部协作平台 ...

  8. 使用Git搭建自己的私有/个人Git仓库

    使用Git搭建自己的私有/个人Git仓库 准备一下 安装Git 添加Git管理账户/账户和密码 配置Git的SSH访问 配置SSH访问 客户端生成ssh私钥上传服务器 服务器将上传的私钥添加到服务器的 ...

  9. linux下yum源软件服务器的搭建与使用

    什么是yum源? yum(全称yelllow  dog  Updater, Modified),是一个基于rpm包的软件安装管理器,通常用于redhat.fedora.centos.SUSE等发行版l ...

最新文章

  1. oracle virtualbox 添加共享硬盘
  2. 实现一个简单的编译器
  3. 使用Android拍照程序报setParameters failed错误
  4. c语言入门后怎么玩,玩编程如何让人傻并快乐着?
  5. Windows 下安装 nvm 管理 nodejs 版本
  6. paip..提升安全性----增加自毁功能
  7. 双11为什么成了传统电商的流量批发市场?
  8. 断舍离------活成自己喜欢的样子
  9. 20175208 张家华 MyOD
  10. 项目管理-WBS与RACI的使用
  11. 常用的画流程图工具和脑图工具
  12. 处理solr时遇到的问题
  13. 计算机与plc通信参数,PLC与PC计算机通信
  14. Android平板做win10显示器,win10怎么投影到安卓平板上
  15. python group() 和 groups()的区别
  16. 安装mysql死机_安装mysql会死机怎么办
  17. 重新安装ODBC 驱动程序方法之一
  18. 【软件构造笔记】2. SCM和VCS软件配置管理和版本控制工具
  19. 价格行为与量价关系(威科夫交易体系的建立与探索)
  20. 【月报】Aavegotchi 7 月更新请查收!

热门文章

  1. Uniplot导出Inca-Map图
  2. 二本计算机考研复旦,从二本大学考研进入复旦大学,会被歧视吗?以后能洗白学历吗?...
  3. html密码框显示明文,控制密码输入框是否显示明文
  4. recast TileMesh生成过程
  5. UPS系统对数据中心的重要性
  6. QT绘图:旋转的圆形头像
  7. [HXBCTF 2021]easywill writeup(WillPHP源码审计+利用pearcmd.php文件包含getshell)
  8. 人才测评丨企业何如快速筛选人才?
  9. MogaFX—为什么强势美元没有你想象的那么好
  10. Deep walk模型 详细解释