CentOS6/7/8搭建企业内部私有yum源仓库服务器
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源仓库服务器相关推荐
- Docker搭建企业内部私有云盘/开源网盘系统
转载来源:https://manual-cn.seafile.com/deploy/deploy_with_docker.html Docker搭建企业内部私有云盘/网盘系统 快速搭建 # 执行下面, ...
- 搭建私有yum源仓库同步阿里云yum源到本地私有yum仓库
本地私有仓库搭建步骤: 1.安装nginx 2.在本机配置阿里云yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun ...
- 在5分钟内搭建企业内部私有npm仓库
下面通过三种方法来搭建公司私有npm仓库,每种方式都有自己的优势. Node.js >= 6.11.3,我的Node版本:node v8.2.1 Linux or OSX,我的系统版本:Cent ...
- (转)搭建企业内部yum仓库(centos6+centos7+epel源)
搭建企业内部yum仓库(centos6+centos7+epel源) 原文:https://www.cnblogs.com/nulige/p/6081192.html https://www.linu ...
- 【转载】用开源软件搭建企业内部协作平台, Kill QQ MSN
作为公司的一分子, 您可能忧心忡忡于通过 MSN, QQ 流入的各种名目繁多的病毒, 木马, 例如熊猫烧香, 以及通过 MSN 传播的导致公司网络瘫痪的蠕虫病毒. 换句话说, 我们需要企业内部协作平台 ...
- 搭建企业内部知识库,从知识管理做起
编者按:随着信息化的发展,企业的知识资产越来越重要,搭建企业内部知识库对企业十分重要,本文分析了企业知识库的意义,并进一步介绍了知识管理系统助力企业知识库搭建实现的功能. 概要: (1)搭建企业知识库 ...
- 用开源软件搭建企业内部协作平台, Kill QQ MSN
作为公司的一分子, 您可能忧心忡忡于通过 MSN, QQ 流入的各种名目繁多的病毒, 木马, 例如熊猫烧香, 以及通过 MSN 传播的导致公司网络瘫痪的蠕虫病毒. 换句话说, 我们需要企业内部协作平台 ...
- 使用Git搭建自己的私有/个人Git仓库
使用Git搭建自己的私有/个人Git仓库 准备一下 安装Git 添加Git管理账户/账户和密码 配置Git的SSH访问 配置SSH访问 客户端生成ssh私钥上传服务器 服务器将上传的私钥添加到服务器的 ...
- linux下yum源软件服务器的搭建与使用
什么是yum源? yum(全称yelllow dog Updater, Modified),是一个基于rpm包的软件安装管理器,通常用于redhat.fedora.centos.SUSE等发行版l ...
最新文章
- oracle virtualbox 添加共享硬盘
- 实现一个简单的编译器
- 使用Android拍照程序报setParameters failed错误
- c语言入门后怎么玩,玩编程如何让人傻并快乐着?
- Windows 下安装 nvm 管理 nodejs 版本
- paip..提升安全性----增加自毁功能
- 双11为什么成了传统电商的流量批发市场?
- 断舍离------活成自己喜欢的样子
- 20175208 张家华 MyOD
- 项目管理-WBS与RACI的使用
- 常用的画流程图工具和脑图工具
- 处理solr时遇到的问题
- 计算机与plc通信参数,PLC与PC计算机通信
- Android平板做win10显示器,win10怎么投影到安卓平板上
- python group() 和 groups()的区别
- 安装mysql死机_安装mysql会死机怎么办
- 重新安装ODBC 驱动程序方法之一
- 【软件构造笔记】2. SCM和VCS软件配置管理和版本控制工具
- 价格行为与量价关系(威科夫交易体系的建立与探索)
- 【月报】Aavegotchi 7 月更新请查收!
热门文章
- Uniplot导出Inca-Map图
- 二本计算机考研复旦,从二本大学考研进入复旦大学,会被歧视吗?以后能洗白学历吗?...
- html密码框显示明文,控制密码输入框是否显示明文
- recast TileMesh生成过程
- UPS系统对数据中心的重要性
- QT绘图:旋转的圆形头像
- [HXBCTF 2021]easywill writeup(WillPHP源码审计+利用pearcmd.php文件包含getshell)
- 人才测评丨企业何如快速筛选人才?
- MogaFX—为什么强势美元没有你想象的那么好
- Deep walk模型 详细解释