linux 搭建yum源仓库,[Linux]CentOS7搭建/配置:YUM仓库/源[本地源/Web源(Apache HTTP(D))/自建源仓库]...

1 本地YUM源

1.1 [YUM仓库/服务端] 获取:软件包资源

Eg: 操作系统的镜像iso文件

8c2435bad967c9643c2cdc4cfaed453f.png

13e502c523bdfa4ca3bf5cf8823bbb1b.png

ba9aee69bcf3864b749dcdafe77d2e33.png

1.2 [YUM仓库/服务端] 挂载/搭建:yum仓库(资源)

即 搭建yum仓库

将操作系统镜像(CentOS-....-.iso)挂载在本地目录中;

此次【挂载】目录为/var/www/html/repo/(此目录本身不存在,需要创建);

mkdir /var/www/

mkdir /var/www/html

mkdir /var/www/html/repo

mkdir /iso

(上传iso镜像到目录/iso/下)

mount /iso/CentOS7-1804.iso /var/www/html/repo/

【查看/核验】

df –h # 查看已挂载设备的信息

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/cl-root 15T 14G 15T 1% /

devtmpfs 32G 0 32G 0% /dev

tmpfs 32G 0 32G 0% /dev/shm

tmpfs 32G 9.4M 32G 1% /run

tmpfs 32G 0 32G 0% /sys/fs/cgroup

/dev/sda2 1016M 131M 886M 13% /boot

/dev/sda1 200M 9.5M 191M 5% /boot/efi

tmpfs 6.3G 0 6.3G 0% /run/user/0

/dev/loop0 4.1G 4.1G 0 100% /var/www/html/repo

ll /var/www/html/repo # 查看挂载的目录中是否有内容

total 654

-rw-r--r--. 1 root root 14 Dec 5 2016 CentOS_BuildTag

drwxr-xr-x. 3 root root 2048 Dec 5 2016 EFI

-rw-r--r--. 1 root root 215 Dec 10 2015 EULA

-rw-r--r--. 1 root root 18009 Dec 10 2015 GPL

drwxr-xr-x. 3 root root 2048 Dec 5 2016 images

drwxr-xr-x. 2 root root 2048 Dec 5 2016 isolinux

drwxr-xr-x. 2 root root 2048 Dec 5 2016 LiveOS

drwxrwxr-x. 2 root root 630784 Dec 5 2016 Packages

drwxrwxr-x. 2 root root 4096 Dec 5 2016 repodata

-rw-r--r--. 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7

-rw-r--r--. 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7

-r--r--r--. 1 root root 2883 Dec 5 2016 TRANS.TBL

1.3 [客户端/本地] 配置:yumRepoName.repo文件

即 配置yum源

在默认配置文件目录中添加编辑配置文件;此次添加的配置文件为repo_local.repo

【本地主机 配置 本地的YUM源仓库】

cd /etc/yum.repos.d/

touch repo_local.repo # 后缀必须为repo

vi repo_local.repo

[repo_local] # yum仓库名,必须与文件名【repo_local.repo】的前半部分一致

name=repo for local # yum仓库的描述信息

baseurl=file:///var/www/html/repo/ # yum源的访问地址。file://+本地yum源目录是本地yum源访问地址的固定格式

enabled=1 # 启用仓库

gpgcheck=0 # 不进行红帽标签检查

【本地主机 屏蔽 其他YUM仓库(repo)】

ll /etc/yum.repos.d/

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo.bak

mv CentOS-CR.repo CentOS-CR.repo.bak

mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak

mv CentOS-fasttrack.repo CentOS-fasttrack.repo.bak

mv CentOS-Media.repo CentOS-Media.repo.bak

mv CentOS-Sources.repo CentOS-Sources.repo.bak

mv CentOS-Vault.repo CentOS-Vault.repo.bak

1.4 检验:搭建yum成功与否

yum repolist # 查看yum源中是否有软件包/软件包个数

4fbc3ed4279e282a197aa8e5a51922e0.png

repo_local仓库中存在9911个软件包 即 本地yum仓库源搭建成功

2 网络YUM源

即 通过发布http服务来搭建、共享yum仓库

安装httpd软件,启动httpd服务,并设置httpd为开机启动,以http链接地址来访问yum源/仓库

2.1 搭建: 本地YUM仓库

详见本博文:

1.1 [YUM仓库/服务端] 获取:软件包资源

1.2 [YUM仓库/服务端] 挂载/搭建:yum仓库(资源)

1.3 [客户端/本地] 配置:yumRepoName.repo文件

2.2 安装、重启、设置开机启动:httpd软件

yum –y install httpd

systemctl restart httpd

systemctl enabled httpd # 开机启动

[防火墙:开启HTTPD服务的80端口]

systemctl start firewalld

firewall-cmd --permanent --zone=public --add-port=80/tcp # 防火墙开启80端口

补充: [可选项]

firewall-cmd --list-all # 查看防火墙信息

firewall-cmd --query-port=80/tcp # 查看防火墙的指定端口是否开启HTTPD服务的80端口

systemctl restart firewalld

【查看/核验】查看httpd是否安装成功,httpd服务是否启动

ps -ef | grep httpd

ss -lntp | grep httpd

2.3 [客户端] 配置:yumRepoName.repo文件

在默认配置文件目录中添加编辑配置文件。此次添加的配置文件为repo_http.repo.

【本机 配置 指定远程主机的YUM源仓库】

cd /etc/yum.repos.d/

touch repo_http.repo # 后缀必须为repo

vi repo_http.repo

[repo_http] # yum仓库名,必须与文件名【repo_local.repo】的前半部分一致

name=repo for http # yum仓库的描述信息

baseurl=http://176.130.2.72/repo/ # yum源的网络访问地址。

enabled=1 # 启用仓库

gpgcheck=0 # 不进行红帽标签检查

【本机 屏蔽 其他YUM仓库(repo)】

mv CentOS-Base.repo CentOS-Base.repo.bak

mv CentOS-CR.repo CentOS-CR.repo.bak

mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak

mv CentOS-fasttrack.repo CentOS-fasttrack.repo.bak

mv CentOS-Media.repo CentOS-Media.repo.bak

mv CentOS-Sources.repo CentOS-Sources.repo.bak

mv CentOS-Vault.repo CentOS-Vault.repo.bak

2.4 检验:搭建yum成功与否

详见本文: 1.4 检验:搭建yum成功与否

yum repolist

3 自建yum源仓库

即 使用自行下载的rpm制作yum仓库,以httpd或Nginx发布Web共享yum源服务

3.1 创建统一归档/存放RPM包的目录

mkdir -p /app/yum/centos7/x86_64/

3.2 下载所需的RPM软件包,并放在同一个目录中

查找、下载RPM等软件包的推荐网站

132b96e039862adfac00591f09656411.png

里面有2个下载好的软件包

3.3 createrepo : 创建可用的yum源文件

createrepo命令:用于创建yum源(软件仓库),即为存放于本地的rpm包目录建立索引,描述各包所需依赖的信息,生成元数据信息。可生成yum软件包清单文件。

yum -y install createrepo

createrepo --version

createrepo -pdo /app/yum/centos7/x86_64/ /app/yum/centos7/x86_64/

createrepo --update -v /app/yum/centos7/x86_64/ # 若归档目录添加或删除了rpm包,可update更新索引,不必重新生成,节省时间

[补充: 备注/可选项]

[root@CENTOS7-20200707 ~]# createrepo -v /app/yum/centos7/x86_64

Spawning worker 0 with 1 pkgs

Worker 0: reading nano-2.3.1-10.el7.x86_64.rpm

Workers Finished

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Starting other db creation: Mon Jul 27 16:58:18 2020

Ending other db creation: Mon Jul 27 16:58:18 2020

Starting filelists db creation: Mon Jul 27 16:58:18 2020

Ending filelists db creation: Mon Jul 27 16:58:18 2020

Starting primary db creation: Mon Jul 27 16:58:18 2020

Ending primary db creation: Mon Jul 27 16:58:18 2020

Sqlite DBs complete

[root@CENTOS7-20200707 ~]# ls /app/yum/centos7/x86_64/repodata

095096a77a0e87e74a7f0643be9dac988673d6b6d7663955620ff337cd6ab56d-filelists.xml.gz

0bd7f5f95ba7827f903a03bc8dfaf69ac6e286f30872af854de450746392fbe7-primary.xml.gz

8219a3fe4e77eab1c0dde4cbbd0a3893dae31fbe5b19aaf084deb36e7dc3016d-filelists.sqlite.bz2

9505d2b881f676b5c7ea72b1ac40e66ec48e3b79cf1dae55eff6e47155626e3b-other.sqlite.bz2

a2de74407d710f8f310a54d4ae166de3423c58f02f0827d63b8177e4b48afe00-other.xml.gz

b80638e29d421f080b67b51db0a9a65490bb2473ba95dba946c3cbb06a8e2552-primary.sqlite.bz2

repomd.xml

3.4 配置:Web共享服务(httpd)

【2 配置/发布 Apache HTTP(D)服务】

mkdir -p /var/www/html

vi /etc/selinux/config

SELINUX=disabled (避免出现权限不足,访问不了WEB资源的情况)

yum -y install httpd

systemctl restart httpd

systemctl enable httpd # 设置开机启动

firewall-cmd --permanent --zone=public --add-port=80/tcp

ss -lntp

"httpd"

关闭端口 firewall-cmd --permanent --zone=public --remove-port=80/tcp

ps -ef | grep httpd

systemctl restart firewalld

3.5 将该目录复制到/var/www/html/中

cp -a /app/yum/centos7/x86_64/ /var/www/html/

ln -s /app/yum/centos7/x86_64/ /var/www/html/x86_64

删除软链接: rm /var/www/html/x86_64

59af55f0cded5d5ec8ecc8883d51cca5.png

a02ea02f9bf322dae86490d022e8790d.png

3.6 [客户端] 配置:yumRepoName.repo文件

在默认配置文件目录中添加编辑配置文件。此次添加的配置文件为repo_self.repo.

cd /etc/yum.repos.d/

touch repo_self.repo # 后缀必须为repo

vi repo_self.repo

[repo_self] # yum仓库名,必须与文件名【repo_local.repo】的前半部分一致

name=repo for self

baseurl=http://176.130.2.72/x86_64/ # yum源的访问地址

enabled=1 # 启用仓库

gpgcheck=0 # 不进行红帽标签检查

3.7 检验:搭建yum成功与否

详见本文: 1.4 检验:搭建yum成功与否

yum repolist

X 参考文献

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值