CentOS Linux系统 离线安装软件教程
一、概述
实际运用过程中,有些其他类型或特殊用途的服务器是禁止联网的,这时就需要涉及服务器软件的离线安装,对于CentOS系统的服务器,离线安装软件有以下几种方法:
1)搭建本地CentOS软件仓库,即本地yum源,仅适用于一些基础软件的离线安装。
2)制作软件离线安装包,需要用到另外一台相同系统版本且能联网的服务器或虚拟机。
二、搭建本地CentOS仓库
1. 准备本地软件源
准备一张完整版的CentOS系统CD光盘(里面自带了很多软件包可作为软件源),将光盘放入光驱插入到服务器。注:光盘里的系统版本要和服务器安装的系统版本对应,否则光盘里的软件源不适配服务器本身系统。
2. 挂载CD光盘
进入服务器系统,执行如下指令
mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom
以上命令是将CD光盘挂载到/mnt/cdrom目录
3. 修改yum源
(1)进入服务器系统,切换root权限。
(2)执行 cd /etc/yum.repos.d/
,进入yum源所在目录。
(3)在当前yum源目录下,执行 mkdir yum_repos_old
创建一个目录,然后执行“ mv CentOS-*.repo yum_repos_old/
”,将之前的yum源文件都放到该目录下。
(4)还是在当前yum源目录下,执行 vi CentOS-Local.repo , 并添加以下内容
[local]
name=CentOS-Local
baseurl=file:///mnt/cdrom # 设置资源库的地址
enables=1 # 开启本地
gpgcheck=0 # 1表示检查,0表示不检查
然后 :wq 保存并退出,添加本地yum源文件。
(5)执行 yum clean all
,清除yum缓存。
(6)执行 yum repolist
,确定生效的repo仓库为CentOS-Local。
(7)然后就正常使用yum install 命令安装软件就行,如果提示没有该软件就说明,该CD光盘软件源里面没有该软件,此时就需要使用第二种方法-制作软件离线安装包。
三、制作软件离线安装包
1. 准备联网服务器下载软件包
(1)另外准备一台具有相同系统版本的且能联网的服务器或虚拟机。
(2)进入该服务器,执行如下指令下载软件包:
yum install --downloadonly --downloaddir=[下载路径] [软件包名称]
--downloadonly :表示 只下载不安装
--downloaddir:用来指定要下载到的目录
以上两个选项通常一起使用
如果提示没有--downloadonly选项,则需要安装yum-plugin-downloadonly软件包
yum install yum-plugin-downloadonly
以podman软件为例,执行
yum install --downloadonly --downloaddir=/opt/podmanpackage/ podman
就会把podman软件包及其依赖包(已安装过的依赖包除外)下载到 /opt/podmanpackage/ 这个目录下。
注1: 如果当前机器已安装过podman这个软件包,那么就不能使用 install 下载该软件包,而要使用 reinstall 下载 :
yum reinstall --downloadonly --downloaddir=/opt/podmanpackage/ podman
注2: 其实yum-utils软件包中有一个 yumdownloader 命令和 yum install --downloadonly 效果一样,如下
yum -y install yum-utils
yumdownloader --resolve --destdir=/opt/podmanpackage/ podman
--resolve :表示下载软件及其依赖包(已安装过的依赖包除外)
--destdir:用来指定要下载到的目录
注3: 如果当前机器已安装过podman这个软件及其所有依赖包,那上面方法都不能下载该软件及其所有依赖包了。只能根据缺少什么软件包或依赖包,使用 yum reinstall --downloadonly 或 yumdownloader 一个一个去下载。
(3)下载软件包及其所有依赖包,还可以用另外一种方式(推荐):
首先下载 yum-utils 软件包(含 yumdownloader 和 repotrack 等命令)
yum -y install yum-utils
然后使用 repotrack 命令下载软件包及其所有依赖包
repotrack --download_path=[下载路径] [软件包名称]
以podman软件为例,如下
repotrack --download_path=/opt/podmanpackage/ podman
就会把podman软件包及其所有依赖包下载到 /opt/podmanpackage/ 这个目录下。
2. 打包所有rpm到离线机器中安装
(1)进入下载目录
cd /opt/podmanpackage/
(2)打包所有rpm软件包
tar -czvf podman_3.3.1_full_x86_64.tar.gz ./*
(3)通过U盘或专用电脑将压缩包放到离线服务器里
(4)离线机器中解压软件包到临时目录
tar -zxvf podman_3.3.1_full_x86_64.tar.gz -C /tmp/
(5)进入解包的临时目录安装软件
cd /tmp/
rpm -ivh 【主软件包名】.rpm
没有报错就说明安装成功。
注:如果缺少什么依赖,在执行rpm -ivh后会有提示信息,根据此提示信息,回到1-(2)那一步,缺少什么就下载什么,然后再移进来,重新执行rpm -ivh *.rpm
命令。
文章出处: https://www.cnblogs.com/jianmuzi/p/17509985.html
版权声明: 本博客为学习时整理的笔记,文章 [大部分为原创] 作品,转载请 [注明文章出处] ,您的支持是我创作的动力!
转载文章,请遵守《中华人民共和国著作权法》相关规定或遵守《署名CC BY-ND 4.0国际》禁止演绎规范,携带原创出处转载。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)