yum安装本地rpm软件方案详解

概述

面对无法联网的centos系统,安装rpm软件包是一个比较耗时的工作,尤其是那些包含很多依赖的软件包,如果用rpm命令安装,可以说是一个噩梦。这里根据个人实践发布一个比较完整方便的解决方案。(注:本方案在centos6.564bit测试可用)

具体方案

基本环境介绍

目标操作系统:centos6.564bit,下称“目标机”(无法联网用yum安装)

本地环境:在VMware下安装的纯净centos6.564bit,下称“虚拟机”(可以联网用yum下载安装包)

本方案基本思路是在一个可以联网的系统中下载rpm安装包,然后传到无法联网的目标操作系统,建立安装源,进行安装。为了减少不必要的麻烦,在本地用虚拟机安装一个和目标操作系统一模一样的但是没有安装任何额外软件的系统,用于下载各种安装包和依赖包。

配置本地环境

在虚拟机内配置yum只下载RPM包而不安装,这里要使用–downloadonly选项,需要先安装yum-plugin-downloadonly。

?

# yum install yum-plugin-downloadonly

在本地环境下载rpm安装包

?

# yum install --downloadonly --downloaddir=/tmp RPM_Name

/tmp为指定下载的目录,RPM_Name为目标软件。

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

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

?

# yum install --downloadonly --downloaddir=/tmp createrepo

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

上传rpm安装包到目标机

采用scp或者pscp.exe(Windows下)等方式将rpm安装包文件上传到目标机,并修改权限为可执行(chmod755RPM_Name)。

在目标机构建本地软件源

安装createrepo

在目标机安装createrepo:

?

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

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

# 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

总结

以上就是本文关于yum安装本地rpm软件方案详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

10 个超级有趣的 Linux 终端游戏分享

关于Linux系统,你可能还不知道的七件事

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

原文链接:http://blog.csdn.net/lanjianhun/article/details/69360406

原创文章,作者:IYKOE,如若转载,请注明出处:https://www.wangzhanshi.com/n/6426.html

(0)
IYKOE的头像IYKOE
上一篇 2025年1月1日 16:21:57
下一篇 2025年1月1日 16:22:01

相关推荐

  • Tcpdump网络/命令行抓包工具详解

       概述 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工…

    2025年1月1日
  • Linux中文本处理工具之cut命令详解

    前言 Cut 输入字符中指定的字段或指定的范围。若处理的是字段,则定界符隔开的即为各字段,而输出时字段也以给定的定界符隔开。默认的定界符为制表字符(TAB)。下面来看看详细的介绍吧…

    Linux 2025年1月1日
  • Linux中dd命令使用实例教程

    本文主要给大家介绍了关于Linux中dd命令使用的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 一、Linux dd命令用指定大小的块拷贝一个文件,并在拷贝的同时进行指…

    Linux 2025年1月1日
  • Linux下Android开发环境搭建的操作方法

    要在linux下搞个android开发环境还是挺麻烦的,先看看我的效果吧: 想要在linux下搭建android开发环境或者其他开发环境的同学可以一起讨论哦! 步骤入下: ①由于我…

    2025年1月1日
  • linux下挂载VHD等虚拟磁盘文件的方法

    1、RAW格式虚拟磁盘 linux下可以直接挂载raw格式的虚拟磁盘镜像文件。 例如,这里先用dd命令创建一个文件,然后将其格式化为ext4格式(只有一个分区),然后挂载到/mnt…

    Linux 2025年1月1日
  • Linux下双网卡Firewalld的配置流程(推荐)

    实验室拟态存储的项目需要通过lvs-nat模式通过lvs服务器来区隔内外网的服务,所以安全防护的重心则落在了lvs服务器之上。笔者最终选择通过firewalld放行端口的方式来实现…

    2025年1月1日
  • Linux中gpio接口的使用方法示例

    前言 Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_…

    Linux 2025年1月1日
  • Linux使用终端工具给你的电脑发送弹窗提醒!

    大家好,我是良许。 现在人手一部智能手机,这些智能手机都有个非常实用的功能,那就是弹窗提醒。当我们收到短信,或者微信信息时,手机就会弹窗显示信息的大致内容。有了这个功能你就不会错过…

    2025年1月1日
  • 在LINUX系统上使用rsync命令详解

    LINUX使用rsync命令 rsync是一款功能强大的文件同步工具,可以在不同系统之间高效地传输文件。它提供了广泛的选项,允许用户根据自己的具体要求定制传输规范。 使用 Rsyn…

    Linux 2024年12月17日
  • linux下make命令实现输出高亮的方法

    前言 无论是在linux 还是在Unix环境 中,make都是一个非常重要的编译命令。最近在调试代码,make 输出信息的时候 error 、warning 等信息都是和普通信息一…

    2025年1月1日

发表回复

登录后才能评论