良许Linux教程网 干货合集 CentOS中部署本地和局域网yum源

CentOS中部署本地和局域网yum源

yum,全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上可以通过 360 软件管家实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yum。

可以这么说,yum 是改进型的 RPM 软件管理器,它很好的解决了 RPM 所面临的软件包依赖问题。yum 在服务器端存有所有的 RPM 包,并将各个包之间的依赖关系记录在文件中,当管理员使用 yum 安装 RPM 包时,yum 会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的 RPM 包并进行安装。

image-20220506203620652

搭建本地yum源

本地yum源,就意味着只有搭建该yum源的这台服务器能使用,其它的服务器都不能使用该yum源。搭建本地yum源的所有步骤如下:

#准备好一个centos 的镜像,我这里是CentOS-7-x86_64-DVD-1810.iso
# 在/local-yum目录创建挂载镜像的文件夹
# 将iso镜像挂载到/mnt/iso目录
mount -o loop CentOS-7-x86_64-DVD-1810.iso /local-yum
# 挂载成功后可以使用df -h命令查看
[root@localhost application]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  1.9G   49G   4% /
devtmpfs                  63G     0   63G   0% /dev
tmpfs                     63G     0   63G   0% /dev/shm
tmpfs                     63G   11M   63G   1% /run
tmpfs                     63G     0   63G   0% /sys/fs/cgroup
/dev/sda2               1014M  138M  877M  14% /boot
/dev/sda1                200M   12M  189M   6% /boot/efi
/dev/mapper/centos-home  392G  9.0G  383G   3% /home
tmpfs                     13G     0   13G   0% /run/user/0
/dev/loop0               4.5G  4.5G     0 100% /local-yum

# 修改yum配置文件,把原先的配置先备份了
cd /etc/yum.repos.d
mkdir bak
mv *.repo ./bak

#新建local.repo
vim /etc/yum.repos.d/local.repo

[base]
name=CentOS
baseurl=file:///local-yum
enabled=1
gpgcheck=0
 
#清除下yum 原有的信息,载入新的缓存
yum clean all
yum makecache

这样,一个崭新的本地yum源就可以使用了。

搭建局域网yum源

除了可以搭建本地yum源外,我们还可以基于HTTP方式配置yum源,这样我们就可以配置一个局域网内都可以使用的yum源。

一般都是通过apache 来搭建HTTP的yum源,本次我们使用Nginx搭建

#官网下载nginx1.18.0
wget http://nginx.org/download/nginx-1.18.0.tar.gz

#安装依赖包,NGINX是C语言写的,pcre-devel支持正则表达式,openssl 开启加密
[root@proxy ~]# yum -y install gcc pcre-devel openssl-devel

#创建NGINX用户,为了安全起见,不允许登录系统
[root@proxy ~]# useradd -s /sbin/nologin nginx
 
#解压,安装,这里把nginx 部署在/home/application/nginx 目录下
[root@proxy ~]# mkdir /home/application/nginx
[root@proxy ~]# tar  -xf   nginx-1.18.0.tar.gz
[root@proxy ~]# cd  nginx-1.18.0
[root@proxy nginx-1.18.0]# ./configure --prefix=/home/application/nginx --user=nginx --group=nginx --with-http_ssl_module

#编译安装
[root@proxy nginx-1.10.3]# make && make install
 
#创建yum仓库文件路径 /home/application/nginx-yum
[root@proxy ~]#mkdir -p /home/application/nginx-yum

#编辑nginx 配置文件,定义端口为8899
[root@proxy ~]# vim /home/application/nginx/conf/nginx.conf

worker_processes  1;
events {
   worker_connections  1024;
}
http {
   include       mime.types;
   default_type  application/octet-stream;
   sendfile        on;
   keepalive_timeout  65;
   server {
       listen       8899;
       server_name  localhost;
       location / {
           autoindex  on;
           root   /home/application/nginx-yum/;
       }
   }
}
#检查nginx 配置文件是否正确
[root@proxy ~]# /home/application/nginx/sbin/nginx -t
nginx: the configuration file /home/application/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /home/application/nginx/conf/nginx.conf test is successful

#将iso镜像文件挂载到临时目录下,再拷贝到yum仓库路径下 /home/application/nginx-yum
[root@proxy ~]# mkdir local-yum
[root@proxy ~]# mount -o loop CentOS-7-x86_64-DVD-1810.iso /local-yum
[root@proxy ~]# cd local-yum
[root@proxy ~]# cp -rp *  /home/application/nginx-yum/
[root@proxy ~]# ls -l /home/application/nginx-yum/
total 4669768
-rw-r--r--. 1 root root 4781506560 Aug 17 18:36 CentOS-7-x86_64-DVD-2003.iso
-rw-rw-r--. 1 root root         14 Apr 21  2020 CentOS_BuildTag
drwxr-xr-x. 3 root root         35 Apr 21  2020 EFI
-rw-rw-r--. 1 root root        227 Aug 30  2017 EULA
-rw-rw-r--. 1 root root      18009 Dec 10  2015 GPL
drwxr-xr-x. 3 root root         57 Apr 21  2020 images
drwxr-xr-x. 2 root root        198 Apr 21  2020 isolinux
drwxr-xr-x. 2 root root         43 Apr 21  2020 LiveOS
drwxr-xr-x. 2 root root     225280 Apr 22  2020 Packages
drwxrwxr-x. 2 root root       4096 Apr 22  2020 repodata
-rw-rw-r--. 1 root root       1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 1 root root       1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root       2883 Apr 22  2020 TRANS.TBL

#确认配置没有问题后,启动nginx
[root@proxy ~]# /home/application/nginx/sbin/nginx

#查看端口
[root@localhost conf]# netstat -ntlup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      16129/sshd
tcp        0      0 0.0.0.0:8899            0.0.0.0:*               LISTEN      41103/nginx: master
tcp6       0      0 :::22                   :::*                    LISTEN      16129/sshd

登陆浏览器访问查看yum仓库

CentOS 如何搭建本地和局域网yum源CentOS 如何搭建本地和局域网yum源
CentOS 如何搭建本地和局域网yum源CentOS 如何搭建本地和局域网yum源

最后,我们开始配置yum的配置文件

在/etc/yum.repos.d新建一个名为nginx-yum.repo 的配置文件,内容如下:

vim /etc/yum.repos.d/nginx-yum.repo
[Nginx-yum]
name=nginx-yum
baseurl=http://10.114.0.15:8899
enabled=1
gpgcheck=0

清除下yum 原有的信息,载入新的缓存

yum clean all
yum makecache

这样,局域网yum源就可以使用了

安装一个软件试下效果

[root@localhost ~]# yum install bash*
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Package bash-4.2.46-34.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package bash-completion.noarch 1:2.1-6.el7 will be updated
---> Package bash-completion.noarch 1:2.1-8.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================================================================================================================================================
Package                                                            Arch                                                      Version                                                           Repository                                                    Size
===================================================================================================================================================================================================================================================================
Updating:
bash-completion                                                    noarch                                                    1:2.1-8.el7                                                       Nginx-yum                                                     87 k

Transaction Summary
===================================================================================================================================================================================================================================================================
Upgrade  1 Package

Total download size: 87 k
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for Nginx-yum
bash-completion-2.1-8.el7.noarch.rpm                                                                                                                                                                                                        |  87 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
 Updating   : 1:bash-completion-2.1-8.el7.noarch                                                                                                                                                                                                              1/2
 Cleanup    : 1:bash-completion-2.1-6.el7.noarch                                                                                                                                                                                                              2/2
 Verifying  : 1:bash-completion-2.1-8.el7.noarch                                                                                                                                                                                                              1/2
 Verifying  : 1:bash-completion-2.1-6.el7.noarch                                                                                                                                                                                                              2/2

Updated:
 bash-completion.noarch 1:2.1-8.el7
Complete!

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部