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

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

1         搭建本地YUM源

环境:第一台VM IP:192.168.10.81

第二台VM IP:192.168.10.82

1.1              准备rpm包

虚拟机挂载镜像包CentOS-7-x86_64-Everything-1511.iso 开机启动

挂载镜像:

[root@centos7-81 ~]# mount /dev/sr0 /mnt/

mount: /dev/sr0 is write-protected, mounting read-only

[root@centos7-81 ~]# mkdir -p /yum/yum-iso  #新建本地路径/yum/yum-iso

把挂载的镜像里面所有文件都拷贝到本地目录/yum/yum-iso

[root@centos7-81 ~]# cp -r /mnt/* /yum/yum-iso/

1.2              备份并移除其他repo

[root@centos7-81 ~]# cd /etc/yum.repos.d/

[root@centos7-81 yum.repos.d]# tar czvf 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@centos7-81 yum.repos.d]# rm -rf *.repo

1.3              配置本地repo

[root@centos7-81 yum.repos.d]# vi CentOS-Media.repo

[c7-media]

name=CentOS-$releasever-Media

baseurl=file:///yum/yum-iso/

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

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

1.4              制作cache

[root@centos7-81 yum.repos.d]# yum clean all

Loaded plugins: fastestmirror

Cleaning repos: c7-media

Cleaning up everything

Cleaning up list of fastest mirrors

[root@centos7-81 yum.repos.d]# yum makecache

Loaded plugins: fastestmirror

c7-media                                                                                               | 3.6 kB  00:00:00

(1/4): c7-media/group_gz                                                                               | 3.5 kB  00:00:00

(2/4): c7-media/primary_db                                                                             | 679 kB  00:00:00

(3/4): c7-media/other_db                                                                               | 174 kB  00:00:00

(4/4): c7-media/filelists_db                                                                           | 258 kB  00:00:00

Determining fastest mirrors

Metadata Cache Created

[root@centos7-81 yum.repos.d]#

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

[root@centos7-81 ~]# yum install -y tree

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

Resolving Dependencies

--> Running transaction check

---> Package tree.x86_64 0:1.6.0-10.el7 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================

Package                   Arch                        Version                            Repository                     Size

==============================================================================================================================

Installing:

tree                      x86_64                      1.6.0-10.el7                       c7-media                       46 k

Transaction Summary

==============================================================================================================================

Install  1 Package

Total download size: 46 k

Installed size: 87 k

Downloading packages:

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

Warning: RPMDB altered outside of yum.

Installing : tree-1.6.0-10.el7.x86_64                                                                                   1/1

Verifying  : tree-1.6.0-10.el7.x86_64                                                                                   1/1

Installed:

tree.x86_64 0:1.6.0-10.el7

Complete!

[root@centos7-81 ~]#

安装createrepo

[root@centos7-81 ~]# yum install createrepo -y

准备RPM包

自己确定rpm包,目录,这里使用tree做演示

[root@centos7-81 ~]# mkdir -p /yum/yum-custom/packages

[root@centos7-81 ~]# cp /yum/yum-iso/Packages/tree-1.6.0-10.el7.x86_64.rpm /yum/yum-custom/packages/

[root@centos7-81 ~]# createrepo -u -d /yum/yum-custom/

Spawning worker 0 with 1 pkgs

Workers Finished

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Sqlite DBs complete

[root@centos7-81 ~]# ll /yum/yum-custom/

total 4

drwxr-xr-x 2 root root   42 Oct 20 23:46 packages

drwxr-xr-x 2 root root 4096 Oct 20 23:46 repodata

配置自定义repo

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

[c7-media]

name=CentOS-$releasever-Media

baseurl=file:///yum/yum-custom/

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

2         配置局域网yum源

将repo文件改为

[root@centos7-81 ~]# cat /etc/yum.repos.d/CentOS-Media.repo

[c7-media]

name=CentOS-$releasever-Media

baseurl=file:///yum/yum-iso/

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

重新生成缓存

[root@centos7-81 ~]# yum clean all

[root@centos7-81 ~]# yum makecache

安装vsftp

[root@centos7-81 ~]# yum install vsftpd -y

关闭selinux和防火墙

[root@centos7-81 ~]# getenforce

Disabled

[root@centos7-81 ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of three two values:

#     targeted - Targeted processes are protected,

#     minimum - Modification of targeted policy. Only selected processes are protected.

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

[root@centos7-81 ~]# systemctl stop firewalld

[root@centos7-81 ~]# systemctl disable firewalld

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

修改vsftp配置文件

[root@centos7-81 ~]# vi /etc/vsftpd/vsftpd.conf

在最末尾加上

anon_root=/yum/yum-custom/

启动vsftp并设置开机启动

[root@centos7-81 ~]# systemctl start vsftpd

[root@centos7-81 ~]# systemctl enable vsftpd

本地电脑访问ftp://192.168.10.81

关键步骤:

生成repodata目录,自动创建索引信息

[root@centos7-81 yum]# createrepo -pdo /yum/yum-custom/ /yum/yum-custom/

否则安装tree的时候会出现报错:

Error downloading packages:

tree-1.6.0-10.el7.x86_64: failed to retrieve packages/tree-1.6.0-10.el7.x86_64.rpm from c7-media

error was [Errno 2] Local file does not exist: /etc/yum.repos.d/-d/packages/tree-1.6.0-10.el7.x86_64.rpm

[root@centos7-82 yum.repos.d]# yum clean all

[root@centos7-82 yum.repos.d]# yun makecache

在另一台VM上设置repo文件

[root@centos7-82 ~]# cd /etc/yum.repos.d/

[root@centos7-82 yum.repos.d]# rm -rf *

从第一台VM上将repo文件传到第二台VM上

[root@centos7-81 ~]# scp /etc/yum.repos.d/CentOS-Media.repo root@192.168.10.82:/etc/yum.repos.d/

The authenticity of host '192.168.10.82 (192.168.10.82)' can't be established.

ECDSA key fingerprint is 32:c1:45:16:b2:a8:b2:25:22:58:02:11:a2:a3:54:90.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.10.82' (ECDSA) to the list of known hosts.

root@192.168.10.82's password:

CentOS-Media.repo                                                                                          100%  143     0.1KB/s   00:00

[root@centos7-81 ~]#

在第二台VM上修改repo文件

[c7-media]

name=CentOS-$releasever-Media

#baseurl=file:///yum/yum-iso/

baseurl=ftp://192.168.10.81

gpgcheck=0

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

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

Dependencies Resolved

==============================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================
Installing:
tree x86_64 1.6.0-10.el7 c7-media 46 k

Transaction Summary
==============================================================================================================================
Install 1 Package

Total download size: 46 k
Installed size: 87 k
Downloading packages:
tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : tree-1.6.0-10.el7.x86_64 1/1
Verifying : tree-1.6.0-10.el7.x86_64 1/1

Installed:
tree.x86_64 0:1.6.0-10.el7

Complete!

就可以使用了

搭建本地yum源和局域网yum源的更多相关文章

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

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

  2. CentOS7.2 创建本地YUM源和局域网YUM源

    1背景 由于开发环境只有局域网,没法使用网上的各种YUM源,来回拷贝rpm包安装麻烦,还得解决依赖问题. 想着搭建个本地/局域网YUM源,方便自己跟同事安装软件. 2环境 [root@min-base ...

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

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

  4. 如何手工搭建本地Yum仓库

    如何手工搭建本地Yum仓库(重点推荐)  https://www.linuxidc.com/Linux/2016-09/135480.htm CentOS7.2 创建本地YUM源和局域网YUM源: h ...

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

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

  6. Centos 7 局域网 yum 源搭建

    一.需求及实现方式介绍: 需求:现在各个软件版本更新迭代很快,在我们部署一套集群(比如:openstack)后,如果过一段时间想扩展集群时发现软件版本早已迭代更新,安装后导致和现有环境或多或少不兼容, ...

  7. 在linux上搭建本地yum源

    准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...

  8. 搭建本地yum源并定时同步

    在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源.以中国科学科技大学的yum源为基准.http://mirrors.ustc.edu.cn/ 有些模块会同步失败,可以wget下载至指定位置 ...

  9. 使用光盘搭建本地yum源

    刚装好的系统,想安装一些常用软件和一些包组的时候,就可以使用安装光盘搭建本地yum 第一步:挂载安装光盘 mount /dev/cdrom /mnt 第二步:编辑repo yum源文件 [root@l ...

随机推荐

  1. Android 各个版本号WebView

    转载请注明出处   http://blog.csdn.net/typename/ powered by miechal zhao : miechalzhao@gmail.com 前言: 依据Googl ...

  2. IIS最大并发连接数 = 队列长度 + IIS最大并发工作线程数

    深入理解IIS的多线程工作机制   首先让我们来看看IIS里面的这2个数字:最大并发连接数,队列长度.先说这2个数字在哪里看. 最大并发连接数:在IIS中选中一个网站,右键网站名称,在右键菜单中找到并 ...

  3. ArcEngine 数据导入经验(转载)

    转自原文ArcEngine 数据导入经验(转载) (一) GIS系统数据是基础,想必大家在做ArcEngine二次开发的过程中都会遇到向MDB和SDE写入数据的工作,我们将会通过几个篇幅,从大数据量导 ...

  4. ios开发手势处理之手势识别二

    #import "ViewController.h" @interface ViewController ()<UIGestureRecognizerDelegate> ...

  5. JS null问题

    在学习getElementById()方法的过程中出现了这样一个问题,便想记录下来. 分析问题之前,我们最好还是先来认识一下getElementById()方法.getElementById()方法, ...

  6. Ubuntu-Docker[1]安装Docker,通过Docker部署net core代码,需要结合[.NET Core 18]发布、ASP.NET Core Docker部署

    1)通过系统自带包安装 通过自带包安装,可能Docker版本较旧 $ sudo apt-get update Reading package lists... Done $ sudo apt-get ...

  7. sqlplus中登陆账户用@加上数据库sid

    sqlplus连接数据库时除了先输入用户名再输入密码的方式还有一种直接输入方式,而且使用@sid区分数据库,在有多个数据库时可方便区分 connect sys/sysdb@oraclesid as s ...

  8. 检索08- SQL语句中的go与use用法

    GO 1. 作用:向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.2. 语法:一批 Transact-SQL 语句 GO 如 Select 1 Select 2 ...

  9. CentOS下Apache的停止和卸载

    昨晚搞到一台全球性价比最高的服务器,折腾一晚上,好不容易把node服务开启了,结果访问不了我的网站!!! 访问我的网站,显示的是一个Apache欢迎页面.我想,是不是像之前那样,80端口没有开放,然后 ...

  10. Qt自定义密码框,先显示后隐藏(继承以后改写slot即可,即与哪个相近就改写哪个)good

    现在很多应用在密码输入时,会先显示一段时间,大概几百毫秒,然后再变成星号或者圆点隐藏起来.这样做的好处是,可以让密码输入者看到自己输入的字符,同时又防止密码被偷窥.但是Qt自带的密码输入框,要么输入时 ...