centos离线安装包

一、配置阿里云yum镜像源

复制代码
# 删除原yum源
rm -rf /etc/yum.repos.d/*

# wget命令下载: wget [options] [url]
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 清除yum缓存
yum clean all

# 缓存阿里云镜像
yum makecache

二、yum离线安装

在本地环境下载rpm安装包

yum install --downloadonly --downloaddir=/usr/local/httpd/ mod_ssl openssl

/usr/local/httpd/ 为指定下载的目录,mod_ssl openssl为目标软件。

yum --downloadonly会只下载RPM包不安装,同时会把依赖的包都下载下来,注意如虚拟机已经安装了依赖包,则不会下载,因此务必确保虚拟机的纯净(如果有方案可以下载已经有的依赖包,欢迎告知)。

三、使用localinstall进行本地安装

yum localinstall /usr/local/httpd/*.rpm -y vim

参考网站:yum离线安装_yum离线安装命令_牧夫的博客-CSDN博客

或者构建本地yum库来安装。

需要说明的是,为了在目标机构建软件源,createrepo是必不可少的模块,因此需要在虚拟机上下载createrepo相关模块。

复制代码
# yum install --downloadonly --downloaddir=/usr/local/httpd/createrepo/ createrepo

一般会下载三个包,一个是createrepo,另外两个是依赖包。

在目标机构建本地软件源

安装createrepo

在目标机安装createrepo:

  1. # rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

  2. # rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

  3. # rpm -ivh createrepo-0.9.9-24.el6.noarch.rpm

createrepo构建本地软件源

假设安装包在目标机的/home/user/rpms/目录下。

复制代码
# createrepo  /home/user/rpms

修改yum软件源

移除现有的软件源

复制代码
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bk

开启本地软件源

复制代码
# vim /etc/yum.repos.d/CentOS-Media.repo

在baseurl增加一行:

复制代码
=file:home/user/rpms/

然后修改: enabled=1

这样就可以使yum采用本地源安装软件。

在目标机安装目标软件

使用yum正常安装软件即可。

复制代码
# yum install demo

如果用的是纯净的虚拟机环境,并且和目标机保持一致,那么依赖包就会都安装,yum安装就会很顺利。除非个别包会有依赖冲突,A依赖B,B又依赖A,导致无法安装,此时可以用rpm命令强制安装其中一个,再用yum安装软件即可。

复制代码
# rpm -ivh demo.rpm --nodeps --force

如果安装中出现类似下面的错误:

Package fglrx-glc22-4.1.0-3.2.5.i586.rpm is not signed

需要加个 --nogpgcheck 参数。

yum localinstall fglrx-glc22-4.1.0-3.2.5.i586.rpm --nogpgcheck

相关推荐
kebidaixu3 小时前
BCU 平台 RS485 驱动适配:从 THVD1406 到 ISO3082
linux
杨浦老苏3 小时前
家庭实验室监控仪表盘HomeLab-Monitor
运维·docker·监控·群晖
回忆2012初秋4 小时前
【Nginx】原理、配置与运维实战(2)
运维·nginx·策略模式
Urbano5 小时前
工装外套全制作流程、工序痛点及自动化设备升级方案
运维·自动化
映翰通朱工5 小时前
工业4G网关无公网IP远程运维实战(内网终端异地访问方案)
运维·服务器·网络·安全·智能路由器
洪晓露5 小时前
将 rke2 集群证书延长至 10 年
运维·服务器·数据库
谢平康5 小时前
解决用 rm 报bash: /usr/bin/rm: Argument list too long错
linux·运维·运维开发
IP老炮不瞎唠5 小时前
Python 价格监控如何实现?思路与实用方法分享
运维·服务器·网络
GIS数据转换器5 小时前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机
Tokai_Teio_16 小时前
第四届黄河流域 misc
运维·服务器