在很多状况下,咱们服务器因为平安问题,必须处在内网环境,这时候就无奈主动通过yum命令下载互联网上的软件源,很多人为这个问题头疼,这里我简略介绍下如果在内网环境搭建yum源。对于centos7装置,能够参考我另一篇文章:Centos7的装置全过程

centos官网下载镜像包

拜访centos官网,我这里用的centos7.4版本,因为我之前零碎装置的都是7.4版本,咱们下载对应的iso镜像包CentOS-7-x86_64-Everything-1708.iso,大概8G大小,下载速度比较慢,肯定要提前下载好。

将下载好的CentOS-7-x86_64-Everything-1708.iso镜像文件上传到服务器的/home目录下。

留神:如果咱们是用的虚拟机装的centos7,则肯定先要装置VMware Tools,而后开启共享文件夹,能力把镜像文件拷贝至虚拟机的centos零碎中去。如果咱们没用虚拟机,间接U盘拷贝进去便可。如果是间接装置在服务器上,能够通过软件xftp上传,因为U盘上传过程中,文件大于8G,会呈现各种问题。而xftp不受文件大小限度。

创立镜像挂载

[root@localhost ~]# mkdir -p /media/CentOS7        ##/media目录下创立文件夹CentOS7文件夹

挂载镜像文件

# 先进行手动挂载 [root@localhost ~]# mount -t iso9660 -o loop /home/CentOS-7-x86_64-Everything-1708.iso /media/CentOS7/ mount: /dev/loop0 写爱护,将以只读形式挂载

手动挂载结束后,进行主动挂载。执行以下命令,关上文件。

[root@localhost ~]# vim /etc/fstab

在开端退出以下语句(门路依据本人挂载理论地址填写),留神空格。

/home/CentOS-7-x86_64-Everything-1708.iso /media/CentOS7 iso9660 defaults,ro,loop 0 0

之所以要批改此文件,是因为,磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时依然须要从新挂载。零碎开机时会被动读取/etc/fstab这个文件中的内容,依据文件外面的配置挂载磁盘。这样咱们只须要将磁盘的挂载信息写入这个文件中咱们就不须要每次开机启动之后手动进行挂载了。

命令执行结束后,查看挂载状况。

[root@localhost ~]# df -h                            容量  已用  可用   已用%  挂载点 /dev/mapper/centos-root   70G  3.9G   67G    6%  / devtmpfs                 473M     0  473M    0%  /dev tmpfs                    489M     0  489M    0%  /dev/shm tmpfs                    489M  7.2M  481M    2%  /run tmpfs                    489M     0  489M    0%  /sys/fs/cgroup /dev/sda1               1014M  161M  854M   16%  /boot /dev/mapper/centos-home   77G  8.4G   69G   11%  /home /dev/loop0               8.1G  8.1G     0  100%  /media/CentOS7 vmhgfs-fuse              932G  131G  802G   14%  /mnt/hgfs tmpfs                     98M  4.0K   98M    1%  /run/user/42 tmpfs                     98M   24K   98M    1%  /run/user/0

发现/dev/loop0逻辑目录挂载胜利,挂载点为/media/CentOS7

新增文件/etc/yum.repos.d/centos7-media.repo

如果是批改原有CentOS-Media.repo文件进行批改本地源,执行装置命令时候则比拟麻烦。所以咱们通过新作repo源文件来创立yum源指向本地,而不是去批改原有的CentOS-Media.repo源文件。执行命令创立文件。

[root@localhost ~]# vim /etc/yum.repos.d/centos-media.repo    ###创立文件

在文件中输出以下内容。

[centos7-media]  name=centos7  baseurl=file:///media/CentOS7  enabled=1  gpgcheck=0  gpgkey=file:///media/CentOS7/RPM-GPG-KEY-CentOS-7   ### [centos7-media]这里是源的名称,放弃和文件名称统一 ### name=centos7 这是yum源备注,轻易起无所谓。 ### enabled 是否启用本配置,1代表应用,0代表不实用,这里必定用1。/etc/yum.repos.d文件下,应用中的配置只会有一个。其余文件的此属性必须为0,不然会抵触。 ### gpgcheck=1 #是否检测yum源的签名,避免软件装置的软件被篡改(0:不验证,1:验证,默认为1) ### gpgkey:yum签名秘钥的地址,如果gpgcheck=1,这里必须要填,文件名格局为RPM-GPG-KEY-零碎版本,咱们能够去挂载地址下,能够找到此文件。

插入后,保留退出。

备份CentOS-Base.repo文件。

[root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost ~]# mv CentOS-Base.repo CentOS-Base.repo.bak  ### 这里CentOS-Base.repo文件次要是去网络上找相应的包,咱们批改了名称让其生效,就会默认从本地源(enabled=1)的文件读取
执行命令建设缓存 [root@localhost ~]# yum makecache 已加载插件:fastestmirror, langpacks centos7-media                            | 3.6 kB     00:00 (1/4): centos7-media/group_gz                           | 156 kB   00:00 (2/4): centos7-media/primary_db                         | 5.7 MB   00:00 (3/4): centos7-media/filelists_db                       | 6.7 MB   00:00 (4/4): centos7-media/other_db                   | 2.5 MB   00:00 Determining fastest mirrors 元数据缓存已建设

到此为止,本地源搭建胜利。咱们能够尝试装置命令查看是否装置胜利

[root@localhost ~]# yum -y install gcc