内网环境下CentOs离线安装程序

目录

零、情景介绍

一、下载 RPM 包

1、安装包的选择

2、rpm包的命名规则

二、传输rpm包到CentOs主机上

三、安装rpm包的工具

1、安装

2、查询

3、卸载

四、安装rpm

五、相关问题

1、循环依赖

2、文件冲突


零、情景介绍

        正常情况下我们都习惯在线安装,使用譬如 yum 或 apt 等安装工具。但在内外环境下只能通过下载源码或者编译好的安装包安装,安装过程中会提示各类依赖的缺失等问题。下面将完整的介绍从下载 rpm 包,到传输文件到 centos主机上,再到安装离线安装包,以及安装过程中会出现的问题的解决的过程。

        整个过程是在实际使用中总结的,可以尝试使用,若出现解决不了的问题可以留言讨论。

一、下载 RPM 包

        下面提供两个在线下载安装包的网站,推荐使用阿里的,下载速度更快。

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)https://developer.aliyun.com/mirror/Packages for Linux and Unix - pkgs.orghttps://pkgs.org/

1、安装包的选择

        发行版:

                el7 为 centos7;

                el8 为 centos8;

        架构:

                aarch64(ARM)

                x86_64 (x86)

        发行版我们好判断,但架构可能一头雾水,不知道该选择哪一个。服务器一般都是 x86_64 的,如果不确定可以通过输入 archuname 查看本机架构:

2、rpm包的命名规则

 openssh-server-7.4p1-21.el7.aarch64.rpm

字段

说明

openssh-server

软件包名

7.4p1

软件版本

21

软件发行的次数

el7

适合的linux平台

aarch64

适合的硬件平台

rpm

rpm包扩展名

二、传输rpm包到CentOs主机上

        很多情况下需要离线安装的linux主机大多在内网环境下,无法使用网络。我们可以通过windows(Linux)主机将安装包发送到目标 Centos 主机上。而且由于内网主机可能是刚安装的,环境一片空白。所以传输文件只能使用最基础的工具。下面以windows向Centos传输为例。

        我个人使用的 scp,使用起来十分方便。

        在windows主机上文件所在目录打开cmd,输入如下命令即可完成传输。需要注意的是,windows与linux主机需要位于同一局域网下,可以 ping 一下,ping 通即可。

scp gcc.rpm tp@192.168.10.10:~/gcc.rpm

        执行如上语句,会将 gcc.rpm 传输到 Centos 主机的 home 目录下。

三、安装rpm包的工具

        centos下使用 rpm 的安装工具。具体的使用命令如下:

1、安装

rpm -ivh 包全名
#选项:
#    -i(install)    安装
#    -v(verbose)    显示详细信息
#    -h(hash)       显示进度
#    --nodeps       不检测依赖性

2、查询

#选项
# -q    查询(query)
# -a    所有
# -i    查询软件信息(information)
# -l    列表(list)
# -f    查询系统文件属于哪个RPM包(file)
# -R    查询软件包的依赖性(requires)

# 单个包查询
rpm -q 包名

# 查询所有包
rpm -qa

# 查询包详情
rpm -qi 包名

# 安装位置
rpm -ql 包名

# 查询系统文件属于哪个RPM包
rpm -qf 系统文件名

# 查询软件包的依赖性
rpm -qR 包名

3、卸载

rpm -e 包名
#选项:
#    -e (erase)    卸载
#    --nodeps      不检测依赖性

四、安装rpm

sudo rpm -ivh net-tools.rpm

        因为net-tools的依赖较少,而且centos都支持,所以执行上面的语句即可完成。

        实际使用中,仅仅下载一个安装包大多情况下无法一次性安装成功,每个软件都存在大量的依赖。一般的解决办法是缺啥补啥,注意以来的版本,需要满足最低需求。

        日后我会编写个爬虫软件,自动爬取软件的所有依赖,并生成安装脚本。留个坑,嘿嘿。

五、相关问题

1、循环依赖

        举例:安装 iscsi,需要下载两个 rpm 包,但依次安装时提示如下,这两个 rpm 包相互依赖了。

        解决的办法,就是将循环依赖的包,一起安装,都放在 -ivh 参数后面。如下所示:

sudo rpm -ivh iscsi-initiator-utils.rpm iscsi-initiator-utils-iscsiuio.rpm

2、文件冲突

        在安装 rpm 安装包时偶尔会报如下错误,即文件冲突的错误

        解决办法,冲突时进行替换:

sudo rpm -ivh --replacefiles openssh-server.rpm

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我要出家当道士

打赏是不可能,这辈子都不可能

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值