当前位置:首页 > 技术文章 > 正文内容

CentOS 7搭建本地yum源和局域网yum源

arlanguage4个月前 (12-27)技术文章26

看到这个都是情非得已的,话不多说,直接卷


搭建本地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仓库

#最后,我们开始配置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!

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/498.html

分享给朋友:

“CentOS 7搭建本地yum源和局域网yum源” 的相关文章

Nginx高级篇:从原理到实战,彻底搞懂Nginx

推荐阅读:2020年后想跳槽?MQ、ZK、Nginx、Kafk等分布式技术你都掌握了?手撕分布式技术:限流、通讯、缓存,全部一锅端走送给你惨败阿里,洒泪复习25天,我还能抓住2019的小尾巴上岸网易?微服务架构之春招总结:SpringCloud、Docker、Dubbo与SpringBoot通过配置...

NGINX配置跨域CORS支持 nginx配置跨域请求

NGINX配置跨域CORS支持这两天在搞酷瓜云网课的 app,采用 uni-app 做全端支持,现学现卖,目前算是入门了。在做 H5 的时候难免会跨域请求后端 API,虽然用 HBuilder 内置的浏览器不会有跨域问题(这个应该是做了内部处理),但是那个内置浏览器真尼妈坑爹,过一会就会卡死,导致...

Linux系统非root用户下安装Nginx

通常使用Nginx或者Apache作为Web服务器时,默认监听80端口,因此默认会使用root用户去安装,而且,使用yum命令安装时,通常会安装到默认的路径下,默认路径通常是root用户才有执行权限的。如果不需要使用Nginx监听1024以下的端口,且对权限和网络管理比较严格时,能用非root权限解...

nginx代理常用配置

1. 最简反向代理配置在http节点下,使用upstream配置服务地址,使用server的location配置代理映射。upstream my_server { server 10.0.0.2:8080; keepalive 2000;}server { listen 80; server_...

高端Linux 脚本很有用,赶紧学起来!

Linux 脚本?准确的说叫 Linux Shell 脚本,Shell 脚本是一种被设计用来运行命令行解释器,他是 Linux 系统的一大特色之一。命令行是 Linux 系统中一种非常重要的交互方式,而它的实现基于 Linux 内核和 Shell 程序,为用户提供了强大和灵活的操作方式。使用 Lin...

我采访了一位 Pornhub 工程师,聊了这些纯纯的话题

成人网站在推动 Web 发展方面所起到的作用无可辩驳。从突破浏览器的视频能力限制,到利用 WebSocket 推送广告(防止被广告拦截器拦截),你必须不断想出各种聪明的办法,让自己处在 Web 技术创新的最前沿。最近,我有幸采访了大型成人网站 Pornhub 的一位 Web 开发工程师,了解了相关的...