在某些情况下,我们只能离线安装rpm包,但是通常又不一定能找到他们的完整依赖,我之前经常自己试着下载一个软件包,然后到离线环境之后还是不能安装,因为缺少依赖。这里我在网上学习了一些方法来下载他们的依赖。
(资料图片)
一、手动下载
显然,你可以自己去一些网站下载rpm包嘛,还可以自己去软件源下载软件包,对于一个rpm包的依赖,你可以直接去yum查找,或者在有网络的及其上安装可以看得到提示。
通常的阿里(https://mirrors.aliyun.com/centos/)他们都有软件仓库都可以从网页上去下载,依赖自己查找之后去下载就行。
还可以去rpmforge等国外仓库的网页版本下载。
还可以去https://pkgs.org/download/glibc这种网站去查找包的信息和下载,这些网站也会给出包依赖。
手动下载的好处在于,你想下载啥就下载啥,坏处也在于,你想下载啥,就下载啥,你想不到就没了。。。
二、使用yum带的工具在软件源下载
其实yum带的有工具来做这个,这里我们先假定在一台可以联网的机器上已经配置好了yum源,现在以VLC为例来操作。
1。使用yum 的 downloadonly 插件。
用法:
2. 使用yumdownloader ,这玩意儿也是yum套件里面的,一样的可以如下用法:
需要注意的是,以上这俩都仅会将主软件包和基于你现在的操作系统所缺少的依赖关系包一并下载。
正常情况下,这俩会自动下载最新版的,如果是特定版本的,估计要加上版本号,这个我没试过,你们可以试试。
3. 使用repotrack
虽然离线环境的操作系统和你一样,但是基础依赖还有点差别,可能要多一些依赖包,以上这俩只是基于你现在的环境来找缺少的依赖,如果要全量下载依赖呢?我找到了下面这个操作。
所以可以看到,这家伙给我下载了一大把的依赖,可把我乐坏了,这下估计是没问题了,可以去离线环境安装了。实在不行把这些rpm做成一个本地源来用yum装也可以。只需要自己建立以下index然后作为本地源载入即可。这块我们有空可以聊聊。
三。本地安装
顺带一提,如何本地安装rpm包:
PS.现代化的用dnf或者其他包管理器的兄弟估计还是有类似的方法的,这里只是对古老的centos7做考古啦。
PS.如果用appimage或者snap等带依赖的包管理的话就不用考虑这些了,但是他们自然又有他们的忧愁咯。
Copyright © 2015-2022 海峡公司网版权所有 备案号:皖ICP备2022009963号-10 联系邮箱:396 029 142 @qq.com