Liunx制作本地源(下)

目录

上篇:Liunx软件包管理(上)-CSDN博客

环境准备

一. 通过镜像制作本地yum源

二. 局域网远程yum源制作(企业案例)

三. 通过开启yum下载缓存功能制作本地yum源

四. 克隆yum源


环境准备

以下实验需要准备两台虚拟主机,并关闭防火墙和SEliunx

给192.168.226.100修改主机名,作为服务主机

hostnamectl set-hostname server

给192.168.226.134 修改主机名,作为客户主机

hostnamectl set-hostname client

一. 通过镜像制作本地yum源

这个情况很少用,原理就是通过镜像文件制作本地yum源的过程包括将ISO镜像文件挂载到本地系统、复制其内容到本地目录、配置yum源以使用这些本地文件。

例如现在使用的mini版,包较少,那么就可以去复制一个较大镜像文件的rpm包给本地使用。

首先下载一个较大的镜像版本

将虚拟机关系后切换到刚较大的映像文件,然后正常开启虚拟机。

虚拟机上操作

挂载镜像

[root@server ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 写保护,将以只读方式挂载

备份原有yum

mkdir -p /etc/yum.repos.d/backup/ && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

创建修改yum配置文件

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

#写入如下内容

[xaffff]
name=my repo
baseurl=file:///mnt
gpgcheck=0
enabled=1

参数解释:
[xaffff]                               #这是仓库的唯一ID(标识符)。
name=my repo                 #仓库的名称。
baseurl=file:///mnt             #仓库的基本URL。
gpgcheck=0                      #是否启用GPG签名检查。
enabled=1                        #是否启用此仓库。 

清理缓存

yum clean all

重载

yum makecache

列出系统上所有可用的和已启用的软件仓库 

[root@server ~]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识                                                                 源名称                                                                  状态
xaffff                                                                 my repo                                                                 4,021
repolist: 4,021

现在就成功啦,可以使用镜像文件的包了。

二. 局域网远程yum源制作(企业案例)

操作系统:centos7.9

资源: CentOS-7-x86_64-DVD-2009.iso镜像

实验服务器两台:

192.168.137.100  (作为vsftpd服务端)

192.168.137.134  (客户端)

#首先测试两台主机可否ping通
 
#在192.168.137.100上操作
[root@server ~]# ping 192.168.226.134
#关闭防火墙
[root@server ~]# systemctl stop firewalld
#关闭selinux
[root@server ~]# setenforce 0

在192.168.137.143上操作:
[root@client ~]# ping 192.168.226.100
[root@client ~]# systemctl stop firewalld
[root@client ~]# setenforce 0

========================================================== 

 在192.168.168.226.100上操作制作本地yum源,作为yum服务端

[root@server ~]# yum install -y vsftpd createrepo
[root@server ~]# systemctl start vsftpd

#创建一个自定义目录,专门用作共享YUM源的目录
[root@server ~]# mkdir /var/ftp/yum                 
[root@server ~]# cd /var/ftp/
#复制一个仓库试验,这里用的就是前面挂载镜像文件的仓库,实际工作可以换成自己拷贝的仓库
[root@server ftp]# cp /mnt/Packages/*  yum/			

#在目标目录中生成 YUM 仓库的元数据
[root@server ftp]# createrepo yum/


========================================================== 

yum客户端,在192.168.226.134上操作:

[root@client ~]# cd /etc/yum.repos.d/
#删除其他镜像仓库,防止验证实验,再工作中视情况而定
[root@client yum.repos.d]# rm -rf ./* 

#创建新文件,加入如下配置,baseurl就是服务主机的仓库路径
[root@client yum.repos.d]# vim my.repo

[ftpYum]
name=centos
baseurl=ftp://192.168.226.100/yum
enabled=1
gpgcheck=0

[root@client yum.repos.d]# yum clean all
[root@client yum.repos.d]# yum makecache
[root@client yum.repos.d]# yum repolist

#找个有的包下载看是否可用
[root@client yum.repos.d]# yum install -y python-augeas

#在安装的源里可以看到是叫ftpYum的名字,证实部署成功。

三. 通过开启yum下载缓存功能制作本地yum源

制作自己的yum源:
打开Yum缓存功能:安装完软件之后,软件不会被删除(因为默认安装完之后,不会保留安装包)

[root@server ~]# vi /etc/yum.conf +3

#修改下面参数的值为1,软件会被保存到cachedir指定的目录下
keepcache=1

[root@server packages]# yum install -y zip  net-tools wget
[root@server packages]# ll
总用量 1116
-rw-r--r-- 1 root root 312968 8月  23 2019 net-tools-2.0-0.25.20131004git.el7.x86_64.rpm
-rw-r--r-- 1 root root 560272 5月  16 2019 wget-1.14-18.el7_6.1.x86_64.rpm
-rw-r--r-- 1 root root 266160 11月 21 2016 zip-3.0-11.el7.x86_64.rpm


自己制作yum源
#(把rpm安装包放到此目录里面)
[root@server ~]# mkdir /myyum

#把想用yum安装的软件包拷贝到目录下
[root@server ~]# cp /var/cache/yum/x86_64/7/base/packages/* /myyum/

#下载保证有createrepo工具
[root@server ~]# yum install -y createrepo

#此目录就可以作为yum源了。        
[root@server ~]# createrepo /myyum      

[root@server ~]# vim /etc/yum.repos.d/myyum.repo

[tty]
name=mytty
baseurl=file:///myyum
enabled=1
gpgcheck=0
[root@server ~]# yum repolist

#然后就可以看到叫mytty的缓存镜像仓库啦

四. 克隆yum源

 在公司内网中,可能无法连接外部网络,这时需要我们将外部yum源中的包克隆到本地。

首先在服务主机server操作


#删除之前做的镜像源,方便后续实验的验证
[root@server ~]# rm -rf /etc/yum.repos.d/*

#下载同步一个阿里的源用作被克隆的
[root@server ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@server ~]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@server ~]# yum clean all
[root@server ~]# yum makecache


#这次我们将源通过nginx来提供服务
[root@server ~]# yum install -y yum-utils epel-release
[root@server ~]# yum install -y nginx

[root@server ~]# cd /usr/share/nginx/html
[root@server html]# rm -rf *
#同步远程YUM到本地,这里就是同步阿里云的镜像仓库里的rpm包到本地,太多啦咱们测试下载几百个就可以啦
#这里我同步啦500多个来测试,如果中间停止,继续执行这个命令时会续接之前的进度执行
[root@server html]# reposync -r base -r epel -r extras -r updates

#创建 YUM 仓库元数据
[root@server ~]# createrepo base/

[root@server ~]# vim /etc/nginx/nginx.conf +43
#在配置文件第43行这里加入下面内容
location / {
	root /usr/share/nginx/html;
	autoindex on;
}

#重启nginx
[root@server ~]# systemctl restart nginx


==================================================================================


在客户端主机操作
[root@client ~]# vim /etc/yum.repos.d/myrepo.repo
[http-base-yum]
name=http-yum
baseurl=http://192.168.226.100/base
enabled=1
gpgcheck=0

#在客户端主机验证,用一个同步这500来个里有的,且依赖包也存在的,进行下载测试

[root@client ~]# yum install -y apr
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
http-base-yum                                                                                                                                                 | 2.9 kB  00:00:00     
http-base-yum/primary_db                                                                                                                                      | 263 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 apr.x86_64.0.1.4.8-7.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=====================================================================================================================================================================================
 Package                               架构                                     版本                                           源                                               大小
=====================================================================================================================================================================================
正在安装:
 apr                                   x86_64                                   1.4.8-7.el7                                    http-base-yum                                   104 k

事务概要
=====================================================================================================================================================================================
安装  1 软件包

总下载量:104 k
安装大小:221 k
Downloading packages:
apr-1.4.8-7.el7.x86_64.rpm                                                                                                                                    | 104 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : apr-1.4.8-7.el7.x86_64                                                                                                                                           1/1 
  验证中      : apr-1.4.8-7.el7.x86_64                                                                                                                                           1/1 

已安装:
  apr.x86_64 0:1.4.8-7.el7                                                                                                                                                           

完毕!

 

可以看到,从克隆的仓库里下载成功,并且我们访问server主机的web页面也可以看到这个我们克隆的仓库。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值