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

相关推荐
威迪斯特34 分钟前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
一方热衷.40 分钟前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
独自归家的兔43 分钟前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu
ONE_SIX_MIX1 小时前
ubuntu 24.04 用rdp连接,桌面黑屏问题,解决
linux·运维·ubuntu
龙飞051 小时前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
*小海豚*1 小时前
在linux服务器上DNS正常,但是java应用调用第三方解析域名报错
java·linux·服务器
June`1 小时前
muduo项目排查错误+测试
linux·c++·github·muduo网络库
春日见1 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡1 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
消失的旧时光-19431 小时前
Linux 编辑器入门:nano 与 vim 的区别与选择指南
linux·运维·服务器