在不少状况下,咱们服务器由于安全问题,必须处在内网环境,这时候就没法自动经过yum命令下载互联网上的软件源,不少人为这个问题头疼,这里我简单介绍下若是在内网环境搭建yum源。关于centos7安装,能够参考我另外一篇文章:Centos7的安装全过程vim
访问centos官网,我这里用的centos7.4版本,由于我以前系统安装的都是7.4版本,咱们下载对应的iso镜像包CentOS-7-x86_64-Everything-1708.iso,大约8G大小,下载速度比较慢,必定要提早下载好。segmentfault
注意:若是咱们是用的虚拟机装的centos7,则必定先要安装VMware Tools,而后开启共享文件夹,才能把镜像文件拷贝至虚拟机的centos系统中去。若是咱们没用虚拟机,直接U盘拷贝进去即可。若是是直接安装在服务器上,能够经过软件xftp上传,由于U盘上传过程当中,文件大于8G,会出现各类问题。而xftp不受文件大小限制。centos
[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这个文件中的内容,根据文件里面的配置挂载磁盘。这样咱们只须要将磁盘的挂载信息写入这个文件中咱们就不须要每次开机启动以后手动进行挂载了。bash
命令执行完毕后,查看挂载状况。服务器
[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网络
若是是修改原有CentOS-Media.repo文件进行修改本地源,执行安装命令时候则比较麻烦。因此咱们经过新做repo源文件来建立yum源指向本地,而不是去修改原有的CentOS-Media.repo源文件。执行命令建立文件。app
[root@localhost ~]# vim /etc/yum.repos.d/centos-media.repo ###建立文件
在文件中输入如下内容。oop
[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-系统版本,咱们能够去挂载地址下,能够找到此文件。
插入后,保存退出。
[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