用户登录
用户注册

分享至

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

  • 作者: 汉宫洗浴首席搓澡师
  • 来源: 51数据库
  • 2022-09-20
导读 CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。
搭建本地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://www.51sjk.com/Upload/Articles/1/0/325/325497_20220920134327819.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仓库

最后,我们开始配置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!
软件
前端设计
程序设计
Java相关