问题描述:
在公司的Linux服务器需要安装一些软件,但是服务器无法连接外网,如果一个一个找软件包下载,需要解决的依赖太多,比较费事。
流程:
对于同一版本CentOS,我们可以事先下载离线依赖包,后面用命令手动安装。
准备条件:
一台能正常上网的主机【最好和需要离线安装的主机是同一系统版本】
下载离线包的这台主机不能先安装该包,否则无法下载,如果已经安装该包,那么必须先卸载需要离线的包及其依赖,方法见下面的yum卸载包及其依赖。
离线包安装流程
下载离线包
- 登陆一台能正常通外网的服务器
- 下载离线包使用的命令格式是:
yum -y install --downloadonly --downloaddir=存放路径 包名
--downloadonly:下载不安装的意思
--downloaddir=存放路径:这是下载存放的路径,可以不要这行,但建议加上
【不加这行下载的默认路径我不知道在哪,也懒的去查,你可以用 find 查询下载的包看出默认路径的。】
- 注:下载离线包的主机务必不能先安装该包,如果已经安装,先卸载包及其依赖,方法见下面yum卸载包及其依赖。
- 下载完毕以后就可以将这些包全部拷贝到需要离线安装的文件中了。
- 如果服务器很多的话,可以写个批量拷贝文件的脚本,然后把下面安装离线包的命令放在后面,一并就解压了哦。

安装离线包
- 方法很简单:在存放需要安装的软件包目录下,执行下面一行代码即可了
rpm -ivhU * --nodeps --force
-ivhU:先安装并升级,这个U建议加上,因为有些命令安装是有升级的服务的,如果不加U就失败了【比如java】【如何确定哪些包有升级的包,直接在通外网的服务器上yum安装该服务,看过程即可】
–nodeps --force:忽略软件包的依赖关系,忽略软件包及文件的冲突并强行安装
rpm卸载包
- 用rpm安装的包是不能通过yum卸载的,只能通过rpm卸载,命令:rpm -e --nodeps package【如果不加–nodeps,就会因为有依赖导致卸载报错】
如上,安装了9个,就需要rpm -e 包名【复制粘贴上面的包名】重复9次【需要去掉后缀】。
yum卸载包及其依赖
我们知道卸载包的命令是:yum rem

本文介绍在无网络情况下,如何在CentOS服务器上预先下载并离线安装软件包,包括下载离线包的步骤、注意事项、卸载依赖的方法,以及如何批量操作以提高效率。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



