安装linux下安装软件需要安装一系列的rpm包,用rpm -ivh xx和yum install xx

如果用rpm安装软件包的时候,需要自己下载rpm安装包,如果rpm包不全总是提示依赖检查失败或者提示未知的错误,过程比较复杂。通过yum的命令安装会很方便,但是,很多公司的服务器是在内网中运行,就无法通过yum命令访问互联网中的仓库下载安装软件包。如果在本地配置yum源这样就可以在无法访问外网的情况下使用yum安装软件包。

准备

  • Httpd服务

搭建本地yum源需要httpd服务将安装包代理,能够通过http的方式访问

系统默认按照

有些服务器中会自带httpd服务,可以使用命令检查是否安装 httpd :

rpm -qa|grep httpd

如果默认按照的有就可以直接启动使用

systemctl start httpd 如果系统自带,默认启动

systemctl status httpd 检查 httpd 是否正常安装

systemctl enable httpd 设置 httpd 开机自启动

在线安装:

如果系统没有默认安装httpd服务,则需要自己安装,若允许服务器临时访问互联网,可以直接使用下面命令在线按照httpd

yum -y install httpd

安装完成之后启动,设置开机自启动

systemctl start httpd

systemctl enable httpd

离线安装:

若系统没有安装且服务器在任何情况下也无法访问互联网,就需要离线安装

安装步骤如下:

将httpd目录下的httpd按照包上传到服务器(共三个)

在服务器上进入到httpd按照包存放目录并执行插件安装命令

cd httpd

rpm -Uvh *.rpm --nodeps –force

启动:

systemctl start httpd启动

systemctl status httpd 检查 httpd 是否正常安装

systemctl enable httpd 设置 httpd 开机自启动

测试:

在服务器中的/var/www/html/目录下创建文件夹或文件,使用浏览器访问:httpd://服务器ip/创建的文件夹或目录

小技巧补充:

在linux中想离线安装软件又没有现成rpm安装包时且不清楚具体需要哪些安装包,如本文档中的httpd安装过程,服务器无法联网,而搭建本地yum源又必须要httpd软件,此时就不得不离线安装httpd,此时如果想快速找到需要的rpm安装包可以用如下方法就以本文的httpd安装过程为例:

  1. 在一台能够联网的linux服务器(vmware虚拟机即可),使用yum –y install httpd在线安装httpd服务,安装过程中会有日志打印,找到下载安装包的日志,这里会记录安装过程下载了哪些安装包,如下图所示这里一共下载了3个安装包:

    httpd-2.4.6-88.el7.centos.x86_64.rpm

    httpd-tools-2.4.6-88.el7.centos.x86_64.rpm

    mailcap-2.1.41-2.el7.noarch.rpm

  1. 找到linux服务器对应版本的Everything版ios镜像,在镜像压缩文件的Packages文件夹下搜索日志中出现的rpm安装包,Everything IOS中集成了所有的软件,所以一般都能够找到

  2. 找到所有需要的rpm安装包之后并上传到服务中,在服务器上就可以使用安装插件命令进行离线安装

    安装所有rpm包:rpm -Uvh *.rpm --nodeps –force

  • CentOS系统镜像文件

既然搭建本地的yum源,就需要所有的rpm安装包,centOS Everything ISO版镜像文件中包含了完整安装版的内容,并对其进行补充,集成了所有软件,因此只要下载Everything ISO版的CentOS镜像即可

CentOS下载地址:https://www.centos.org/download/

具体的下载方式可参考教程"从CentOS官网下载系统镜像详细教程",本文将采用CentOS 7.6来进行搭建,所以下载CentOS-7-x86_64-Everything-1810.iso镜像,因为包含了所有的软件包,可使用迅雷等下载工具

直接访问USA站点,这里面包含了所有的版本:http://archive.kernel.org/centos-vault/

下载好的centOS镜像文件:

安装createrepo&plugin

createrepo是linux下的创建仓库的软件包。

将createrepo和plugin的安装包上传到服务器

进入到上传文件夹安装全部插件

cd createpro\&plugin/

rpm -Uvh *.rpm --nodeps –force

创建索引

将上面下载的iso镜像文件CentOS-7-x86_64-Everything-1810.iso解压

将解压文件中的Packages目录单独打包

单独打包Packages是为了方便上传到linux服务器

压缩成tar.gz格式的是为了方便在linux上挤压

如果直接上传Packages文件夹也是可以的,但会花费很长时间,里面有上万个文件

将Packages.tar.gz解压到/var/www/html/centos7/1810-x86_64/Local目录下

mkdir -p /var/www/html/centos7/1810-x86_64/Local

tar -zxvf Packages.tar.gz -C /var/www/html/centos7/1810-x86_64/Local/

上传key和repldate配置信息文件

将iso镜像文件CentOS-7-x86_64-Everything-1810.iso中的RPM-GPG-KEY-CentOS-7文件和repodata文件夹上传到服务器的/var/www/html/centos7/文件夹下

所有文件上传完成之后可以在浏览器中通过http方式访问到刚才上传的文件

http://bigdata136.hdp.com/centos7/1810-x86_64/Local/Packages/

创建索引

cd /var/www/html/

createrepo centos7/

修改 centos 源文件

cd /etc/yum.repos.d/

cp CentOS-Base.repo centos7-local.repo

复制repo文件之后将系统自带的其他*.repo文件全部删除或者移动到其他地方,否则后期运行 yum makecache 会出错

修改centos7-local.repo

vi centos7-local.repo

将原来内容全部删除,添加下面内容

[centos7-base]

name=CentOS7-Base

baseurl=http://bigdata136.hdp.com/centos7/

gpgcheck=0

enabled=1

priority=1

#baserul是创建索引的路径,即执行命令createrepo centos7/的路径,

# gpgcheck=0

值为0 表示跳过下载的rpm包的校验,

如果值为1,则要再添加gpgkey变量来指向校验文件如:

gpgkey= http://bigdata136.hdp.com/centos7/RPM-GPG-KEY-CentOS-7

要保证上文件路径能够在浏览器中访问到

重新加载yum缓存

#清除全部缓存

yum clean all

#重新加载yum缓存

yum makecache

#查看yum缓存列表

yum repolist

修改其他服务器的yum源配置

Yum源搭建完成之后,相当于服务端,若让其他服务器在安装软件时使用该服务端则需要如下操作

在其他服务器中分别删除/etc/yum.repos.d/下的所有文件

rm -rf /etc/yum.repos.d/

拷贝yum源配置文件到其他服务器

scp -r /etc/yum.repos.d/ bigdata137.hdp.com:/etc/

在其他服务器上重新加载yum缓存

yum clean all

yum makecache

yum repolist

测试

安装一个软件试下是否能够正常安装

安装ftp客户端:

安装ntp时钟同步服务器

错误处理:

yum源搭建的成功与否可以在执行yum makecache看到,若执行这个命令时没有报错,一般情况下是搭建成功,若有错误,则说明 yum 源的配置有错误,需要根据错误信息修改,常见错误列举如下:

错误一:

http://bigdata136.hdp.com/centos7/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: bigdata136.hdp.com; Unknown error"

错误原因:

访问http://bigdata136.hdp.com/centos7/repodata/repomd.xml文件有错误,可能是忘记上传镜像文件中的repodata文件夹或在上传服务器是位置存放错误,必须要放到/var/www/html/centos7文件夹下

解决方法:

重新上传repodata文件夹,然后执行命令:

cd /var/www/html/

createrepo centos7/

执行重新加载yum缓存命令:

yum clean all

yum makecache

yum repolist

错误二:执行createrepo centos7/命令要在/var/www/html/执行

错误三:创建仓库文件夹路径错误

mkdir -p /var/www/html/centos7/1810-x86_64/Local

本文使用的是centOS7.6版本,安装软件包时会自动查找创建的仓库下的1810-x86_64/Local/Packages目录,如果使用其他版本有可能改路径会改变,所以要根据错误提示修改

linux配置本地yum源实现在局域网中在线安装软件包的更多相关文章

  1. linux 配置本地yum源,配置国内yum源,配置epel源

    目录 一.配置本地yum源 二.配置国内yum源和epel源 一.配置本地yum源 1.挂载ISO镜像 mount -o loop /mnt/yum-iso/CentOS-7-x86_64-DVD-1 ...

  2. Linux配置本地yum源

    最近在配置zabbix时,遇到CentOS 无法连接网络问题,搜索到一种配置本地yum源的方法,特此记录 一.联网安装预处理 配置缓存,修改/etc/yum.conf [main] cachedir= ...

  3. Linux 配置本地yum源

    Linux 配置无网络状态利用yum安装软件 在有网络的情况下安装软件只需一条yum install xxx命令,例如安装gcc只需一条指令:yum install gcc  那么在没有网络的情况下该 ...

  4. RedHat Linux RHEL6配置本地YUM源

    YUM是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog ...

  5. Linux虚拟机配置本地yum源

    刚开始使用Linux,自己构建了一个Linux虚拟机之后,在使用yum install的时候,经常是出错,提示连接不上. 一直以为是自己构建的虚拟机的问题,后来在网上查找了一些资料,才发现:需要配置本 ...

  6. Linux服务器redhat配置本地yum源

    前面给大家介绍了很多在Linux安装软件的知识,这些软件往往依赖了很多第三方的工具或者软件,如果在Linux服务器有外网的情况,咱们可以通过yum install这样的命令直接去安装这些相关的工具或者 ...

  7. CentOS7系统局域网内配置本地yum源解决cannot find a valid baseurl for repo

    一.     问题详情 因为服务器无法连接外网,所有直接用yum安装某些功能将受到影响,报错如下: Error: Cannot find a valid baseurl for repo: base ...

  8. 【linux配置】在VMware中为Redhat HAT配置本地yum源

    在VMware中为Redhat HAT配置本地yum源 今天准备使用CM安装大数据环境,到需要几台机器都使用同一套yum源才可以,所以想到将Redhat镜像文件拷贝到虚拟机中,在挂起使用,最后通过ht ...

  9. Linux挂载iso镜像、配置本地yum源

    Linux挂载iso镜像.配置本地yum源 1.备份原yum源配置文件 [root@localhost ~]# ll /etc/yum.repos.d/ [root@localhost ~]# mkd ...

  10. 红帽系列linux自行配置本地yum源

    yum是红帽系列的一种包管理工具,能方便的自动解决安装包的依赖关系.以前用rpm包管理安装gcc时,rpm -ivh gcc.rpm ,一般会提示要安装gcc需要安装某某lib库,等你找到那个库的rp ...

随机推荐

  1. 极客的浪漫「GitHub 热点速览 v.22.41」

    极客的浪漫,是怀旧复古的开源操作系统 SerenityOS 献上的情书:也是实用派用 AI 作画工具 novelai-bot 生成二次元女友.LxgwWenKai 用仿宋 / 楷体中文字体书写而成的那 ...

  2. 聊一聊被 .NET程序员 遗忘的 COM 组件

    一:背景 1.讲故事 最近遇到了好几起和 COM 相关的Dump,由于对 COM 整体运作不是很了解,所以分析此类dump还是比较头疼的,比如下面这个经典的 COM 调用栈. 0:044> ~~ ...

  3. CentOS 7.9 Related Software Directory

    一.CentOS 7.9 Related Software Directory Installing VMware Workstation Pro on Windows Installing Cent ...

  4. Nginx四层负载均衡1

    1.Nginx负载均衡Redis 服务器 IP地址 作用 系统版本 Nginx代理服务器 10.0.0.38 负载均衡服务器 Rocky8.6 Redis服务器1 10.0.0.18 Redis服务器 ...

  5. Redis系列9:Geo 类型赋能亿级地图位置计算

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...

  6. 通过jmeter连接人大金仓数据库

    某项目用的人大金仓数据库,做性能测试,需要用jmeter来连接数据库处理一批数据.jmeter连接人大金仓,做个记录. 1. 概要 在"配置元件"中添加"JDBC Con ...

  7. MAUI新生-XAML语法基础:语法入门Element&Property&Event&Command

    一.XAML(MAUI的XAML)和HTML 两者相似,都是标签语言(也叫标记)组成的树形文档.每个标签元素,可视为一个对象,通过"键=值"形式的标签属性(Attribute),为 ...

  8. 如何查看mysql数据目录位置

    mysql> show global variables like "%datadir%"; +---------------+-----------------+ | Va ...

  9. mysql删库报错

    3.开发人员测试环境删库报错 #解决:在数据库的物理目录中(mysql的data目录),进入要删除的数据库目录,查看是否有文件存在,若存在,使用rm -rf 命令清除:再次执行删除数据库命令即可 [r ...

  10. 2022春每日一题:Day 14

    题目:字符串归类 发现字符串长度总数不大,因此把每个字符串有的字母分离,存放到桶中,再枚举合并即可,时间复杂度O(len) 赛时代码: #include <cstdio> #include ...