1背景

由于开发环境只有局域网,没法使用网上的各种YUM源,来回拷贝rpm包安装麻烦,还得解决依赖问题。

想着搭建个本地/局域网YUM源,方便自己跟同事安装软件。

2环境

[root@min-base ~]# cat /etc/redhat-release
CentOS Linux release 7.2. (Core)

并且是Minimal Install。

3安装

3.1本地YUM源

3.1.1 ISO源

准备rpm包 

挂载CentOS-7-x86_64-Everything-1511.iso,把里面所有文件都拷贝到本地目录/yum/yum-iso

[root@min-base ~]# mkdir /mnt/yum-iso
[root@min-base ~]# mount /dev/cdrom /mnt/yum-iso/
mount: /dev/sr0 is write-protected, mounting read-only
[root@min-base ~]# mkdir /yum/
[root@min-base ~]# cp -a /mnt/yum-iso/ /yum/
[root@min-base ~]# ll /yum/
total
dr-xr-xr-x. root root Dec yum-iso
[root@min-base ~]# ll /yum/yum-iso/
total
-r--r--r--. root root Dec CentOS_BuildTag
dr-xr-xr-x. root root Dec EFI
-r--r--r--. root root Dec EULA
-r--r--r--. root root Dec GPL
dr-xr-xr-x. root root Dec images
dr-xr-xr-x. root root Dec isolinux
dr-xr-xr-x. root root Dec LiveOS
dr-xr-xr-x. root root Dec Packages
dr-xr-xr-x. root root Dec repodata
-r--r--r--. root root Dec RPM-GPG-KEY-CentOS-
-r--r--r--. root root Dec RPM-GPG-KEY-CentOS-Testing-
-r--r--r--. root root Dec TRANS.TBL
[root@min-base ~]#

备份、移除其他repo

[root@min-base ~]# cd /etc/yum.repos.d/
[root@min-base yum.repos.d]# ll
-rw-r--r--. root root Dec CentOS-Base.repo
-rw-r--r--. root root Dec CentOS-CR.repo
-rw-r--r--. root root Dec CentOS-Debuginfo.repo
-rw-r--r--. root root Dec CentOS-fasttrack.repo
-rw-r--r--. root root Dec CentOS-Media.repo
-rw-r--r--. root root Dec CentOS-Sources.repo
-rw-r--r--. root root Dec CentOS-Vault.repo
[root@min-base yum.repos.d]# tar zcvf repo-bk.tar.gz CentOS-*
CentOS-Base.repo
CentOS-CR.repo
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo
CentOS-Sources.repo
CentOS-Vault.repo
[root@min-base yum.repos.d]# rm -f CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-Vault.repo

配置本地repo

[root@min-base yum.repos.d]# vi CentOS-Media.repo

填入如下内容

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///yum/yum-iso/
gpgcheck=
enabled=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

注释:配置repo路径、关闭gbp校验、启用这个repo

制作cache

[root@min-base yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c7-media
Cleaning up everything
Cleaning up list of fastest mirrors
[root@min-base yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
c7-media | 3.6 kB ::
(/): c7-media/group_gz | kB ::
(/): c7-media/primary_db | 5.3 MB ::
(/): c7-media/filelists_db | 6.2 MB ::
(/): c7-media/other_db | 2.3 MB ::
Determining fastest mirrors
Metadata Cache Created
[root@min-base yum.repos.d]#

这样就可以使用yum安装软件啦

[root@min-base yum.repos.d]# yum groupinstall "Development tools"
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package autoconf.noarch :2.69-.el7 will be installed
--> Processing Dependency: perl >= 5.006 for package: autoconf-2.69-.el7.noarch
--> Processing Dependency: m4 >= 1.4. for package: autoconf-2.69-.el7.noarch
--> Processing Dependency: perl(warnings) for package: autoconf-2.69-.el7.noarch

或者

[root@min-base yum.repos.d]# yum install tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package tree.x86_64 :1.6.-.el7 will be installed
--> Finished Dependency Resolution

3.1.2 自定义YUM源

[root@min-base yum.repos.d]# yum -y install createrepo

准备rpm包

(需要自己确定依赖包)、目录。这里使用tree做演示。

[root@min-base ~]# mkdir -p /yum/yum-custom/packages
[root@min-base ~]# cp tree-1.6.-.el7.x86_64.rpm /yum/yum-custom/packages/

创建repo

[root@min-base ~]# createrepo -u -d  /yum/yum-custom/
Spawning worker with pkgs
Spawning worker with pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@min-base ~]# ll /yum/yum-custom/
total
drwxr-xr-x. root root Dec : packages
drwxr-xr-x. root root Dec : repodata
[root@min-base ~]#

配置自定义repo

[root@min-base ~]# vi /etc/yum.repos.d/CentOS-Media.repo

填入如下内容

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///yum/yum-custom/
gpgcheck=
enabled=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

制作cache

[root@min-base ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c7-media
Cleaning up everything
Cleaning up list of fastest mirrors
[root@min-base ~]#
[root@min-base ~]# yum makecache
Loaded plugins: fastestmirror
c7-media | 3.0 kB ::
(/): c7-media/filelists_db | B ::
(/): c7-media/primary_db | 1.8 kB ::
(/): c7-media/other_db | 1.3 kB ::
Determining fastest mirrors
Metadata Cache Created
[root@min-base ~]#

使用自定义repo

[root@min-base ~]# yum install tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package tree.x86_64 :1.6.-.el7 will be installed
--> Finished Dependency Resolution

3.2 局域网YUM源

局域网YUM源可以配成:本地YUM源 + FTP服务器

这里使用自定义源yum-custom(见上面) + VSFTP演示。

下载vsftpd

[root@min-base ~]# yum -y install vsftpd

配置vsftpd

编辑vsftp.conf

[root@min-base ~]# vi /etc/vsftpd/vsftpd.conf

并增加匿名用户root目录(默认已经启用匿名访问)

anon_root=/yum/

注意目录权限如下

[root@min-base ~]# ll -a /yum/
total
drwxr-xr-x. root root Dec : .
dr-xr-xr-x. root root Dec : ..
drwxr-xr-x. root root Dec : yum-custom
dr-xr-xr-x. root root Dec yum-iso

 关闭selinux

临时

[root@min-base ~]# setenforce 

或者,永久:

编辑config

[root@min-base ~]# vi /etc/selinux/config

设置

SELINUX=disabled

重启

[root@min-base ~]# reboot

启用vsftp

[root@min-base ~]# systemctl start vsftpd
[root@min-base ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@min-base ~]#

局域网使用

局域网另外一台机器min-client,

配置repo

编辑repo

[root@min-client ~]# vim /etc/yum.repos.d/CentOS-Media.repo

内容如下

[c7-media]
name=CentOS-$releasever - Media
baseurl=ftp://192.168.118.133/yum-custom
gpgcheck=
enabled=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

其中192.168.118.133为上面vsftp服务器地址

启用这个局域网的repo

[root@min-client ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c7-media
Cleaning up everything
[root@min-client ~]# yum makecache
Loaded plugins: fastestmirror
c7-media | 3.0 kB :
(/): c7-media/filelists_db | B :
(/): c7-media/other_db | 1.3 kB :
(/): c7-media/primary_db | 1.8 kB :
Determining fastest mirrors
Metadata Cache Created
[root@min-client ~]#

使用

[root@min-base ~]# yum -y install tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package tree.x86_64 :1.6.-.el7 will be installed
--> Finished Dependency Resolution

目前差不多这些就够用了。以后有时间把163的YUM源爬下来,当本地源用。

CentOS7.2 创建本地YUM源和局域网YUM源的更多相关文章

  1. 搭建本地yum源和局域网yum源

    搭建本地yum源和局域网yum源 由于很多客户环境是专网,不允许连网,无法使用网上的各种yum源,来回拷贝rpm包安装麻烦,还得解决依赖问题.所以想着搭建个本地/局域网YUM源,方便安装软件. 1   ...

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

    这两天在部署公司的测试环境,在安装各种中间件的时候,发现各种依赖都没有:后来一检查,发现安装的操作系统是CentOS Mini版,好吧,我认了:为了完成测试环境的搭建,我就搭建了一个局域网的yum源. ...

  3. RHEL7.2系统下的软件管理(yum)、本地yum源和网络yum源的搭建

    在Liunx系统中,rpm和yum都可以安装软件,但rpm存在安装软件的依赖性,yum安装软件需要yum源 1.yum yum install softwarename ##安装 yum repoli ...

  4. CentOS7创建本地YUM源的三种方法

    这篇文章主要介绍了CentOS7创建本地YUM源的三种方法,本文讲解了使用CentOS光盘作为本地yum源.如何为CentOS创建公共镜像.创建完全自定义的本地源等内容,需要的朋友可以参考下     ...

  5. centos配置本地yum源和光盘挂载

    说明:以centos6.5为例创建本地yun源,centos7的创建方法和centos6的是一样的. 创建挂载目录: mkdir /dvd 开机自动挂载光盘 echo /dev/cdrom   /dv ...

  6. linux:网络yum源和制作本地光盘yum源

    linux:存放yum源的位置:/etc/yum.repos.d/,该目录下全是一些yum源 一.网络yum源: 如图:下面全部都是yum源,后缀是".repo"都是合法的yum源 ...

  7. CentOS7.2配置本地yum源

    1.检查是否有本地yum源 1)检查是否能连网 ping www.baidu.com 2)检查是否有本地yum源 yum list 2.挂载镜像文件 以上检查,说明确实是内网,也确实没有本地yum源, ...

  8. linux里如何配置本地yum源和外网yum源

    一:本地和外网源配置方法 二:外网YUM源的地址 一: ① 本地源配置方法:以光盘里rpm举例(这里使用虚拟机演示) 1.挂载一个iso的镜像 把光盘挂载到一个目录里,然后进入/etc/yum.rep ...

  9. Linux搭建局域网yum源和后期在yum源中更新rpm包方法

    在内网中搭建自己的yum源,可以方便在内网中使用,下面简单介绍搭建局域网yum源的方法和后期更新yum源rpm包的方法. 一.搭建局域网yum源 1.需要在局域网访问,首先需要一个web服务器,比如a ...

随机推荐

  1. iOS 类微信语音播放之切换听筒和扬声器的方法解决方案

    [[UIDevice currentDevice] setProximityMonitoringEnabled:NO];   //建议在播放之前设置yes,播放结束设置NO,这个功能是 //添加监听 ...

  2. Django配置和初探

    Django是python下的一款网络服务器框架. 1.安装 windos:    pip install django linux:    sudo pip install django 2.启动 ...

  3. 【MongoDB】递归获取字段更新表达式,更新复杂数据类型对象

    在实际更新Mongo对象时发现,原有的更新代码无法更新复杂的数据类型对象.恰好看到张占岭老师有对该方法做相关的改进,因此全抄了下来. 总的核心思想就是运用反射与递归,对对象属性一层一层挖掘下去,循环创 ...

  4. POJ 1743 Musical Theme 二分+后缀数组

    Musical Theme   Description A musical melody is represented as a sequence of N (1<=N<=20000)no ...

  5. 在SQL SERVER中实现RSA加解密函数(第二版)

    /*************************************************** 作者:herowang(让你望见影子的墙) 日期:2010.1.5 注: 转载请保留此信息 更 ...

  6. supervisor拉起daemon进程(falcon-agent)测试

    falcon-agent started..., pid= falcon-agent now is running already, pid= falcon-agent now is running ...

  7. 【Spring】获取资源文件+从File+从InputStream对象获取正文数据

    1.获取资源文件或者获取文本文件等,可以通过Spring的Resource的方式获取 2.仅有File对象即可获取正文数据 3.仅有InputStream即可获取正文数据 package com.sx ...

  8. MIT 6.828 JOS学习笔记4. Lab 1 Part 2.1: The Boot Loader

    Part 2: The Boot Loader 对于PC来说,软盘,硬盘都可以被划分为一个个大小为512字节的区域,叫做扇区.一个扇区是一次磁盘操作的最小粒度.每一次读取或者写入操作都必须是一个或多个 ...

  9. js查找水仙花数

    所谓水仙花数是满足类似于153=1³+5³+3³: 第一种方式:把这个数当做字符串来实现 <script> for(var i=100;i<=999;i++) { str_i=i.t ...

  10. H5移动APP开发 细节详解(转)

    工作了有一段时间,基本上都在搞移动端的前端开发,工作的过程中遇到过很多问题,bug的解决方案,记录下来,以便后用!!!内容并不是很全,以后每遇到一个问题都会总结在这里,分享给大家! 一.meta标签相 ...