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. Pyqt 控件的信号槽事件定义方法

    转载来自:http://my.oschina.net/midnite/blog/39399 Qt采用信号槽来设定UI界面上元素动作的事件绑定.自Qt4.5开始,引入了一个新的信号槽与事件绑定的方法.界 ...

  2. 【转载】 删除Win10“这台电脑”中的6个文件夹

    转载地址:http://www.myxzy.com/post-431.html Windows 8.1/windows 10对比windows 7都有一个变化,打开“这台电脑”(或“我的电脑”)后,“ ...

  3. 【Java EE 学习 28 下】【Oracle面试题2道】【Oracle练习题3道】

    一.已知程序和数据 create table test1 (id int primary key, name ), money int); ,); ,); ,); ,); 要求根据下图写出相应的sql ...

  4. Win10 UI入门RelativePanel

    <RelativePanel Background="Black" > <Rectangle x:Name=" RelativePanel.AlignH ...

  5. WPF 实现 DataGrid/ListView 分页控件

    在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来.如果数据量很大,2000条数据,一次性显示在一个页面中,不仅消耗资源,而且用户体验也很糟 ...

  6. 七月十三号CSS3总结《2D的转换》

    /*2D的转换*/ 位移 -webkit-transform: translate(10px, 10px) 缩放 -webkit-transform: scale(.5, .5)重置原点 ...

  7. 2016 ccpc 网络选拔赛 F. Robots

    Robots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  8. Leetcode Minimum Window Substring

    Given a string S and a string T, find the minimum window in S which will contain all the characters ...

  9. ZeroMQ接口函数之 :zmq_bind - 绑定一个socket

    ZeroMQ 官方地址 : http://api.zeromq.org/4-0:zmq-bind zmq_bind(3) ZMQ Manual - ZMQ/3.2.5 Name zmq_bind -  ...

  10. C# ArrayList的用法

    System.Collections.ArrayList类是一个特殊的数组.通过添加和删除元素,就可以动态改变数组的长度. 一.优点 1. 支持自动改变大小的功能 2. 可以灵活的插入元素 3. 可以 ...