Linux中基于RPM安装YUM的另一种方式

在Linux系统中,YUM(Yellowdog Updater, Modified)是一个广泛使用的软件包管理工具,主要用于Red Hat系的发行版(如RHEL、CentOS、Fedora)。虽然YUM通常是通过预装或者在线仓库安装,但在某些情况下,如离线环境中,我们可能需要基于RPM包来安装YUM。本文将详细介绍这种基于RPM安装YUM的方法。

一、前提条件

在开始之前,确保您有以下准备:

  1. 具有root用户权限。
  2. 可用的RPM包文件,包括YUM及其依赖包。
  3. 目标系统中已安装RPM包管理工具。

二、下载RPM包

在离线环境中,您需要先在有网络连接的机器上下载YUM及其所有依赖包。以CentOS 7为例,可以从CentOS官方仓库下载:

  1. 访问CentOS Vault页面:CentOS Vault

  2. 导航至目标版本目录(如 7.9.2009/os/x86_64/Packages/

  3. 下载YUM及其依赖包:

    • yum-*.rpm
    • yum-plugin-*.rpm
    • python-urlgrabber-*.rpm
    • libxml2-python-*.rpm
    • python-kitchen-*.rpm

确保下载所有YUM运行所需的依赖包。

三、传输RPM包到目标系统

使用USB驱动器、scp等方法将下载的RPM包传输到目标系统。假设传输到 /root/rpms/目录。

scp yum-*.rpm root@target-system:/root/rpms/
scp python-urlgrabber-*.rpm root@target-system:/root/rpms/
scp libxml2-python-*.rpm root@target-system:/root/rpms/
scp python-kitchen-*.rpm root@target-system:/root/rpms/
​
 
 

四、使用RPM安装YUM

在目标系统上,切换到存储RPM包的目录并使用RPM工具安装YUM及其依赖

1. 切换到RPM包存储目录

cd /root/rpms/
​
 
 

2. 检查并安装依赖包

先安装YUM依赖的所有包,以确保安装顺利进行。

rpm -ivh python-urlgrabber-*.rpm
rpm -ivh libxml2-python-*.rpm
rpm -ivh python-kitchen-*.rpm
​
 
 

3. 安装YUM包

安装YUM及其插件包。

rpm -ivh yum-*.rpm
rpm -ivh yum-plugin-*.rpm
​
 
 

4. 验证安装

检查YUM是否安装成功,并确认其版本信息。

yum --version
 
 

五、配置YUM仓库

安装YUM后,需要配置YUM仓库以确保能够从指定的源下载和安装软件包。

1. 创建YUM仓库配置文件

在 /etc/yum.repos.d/目录下创建一个新的仓库文件,例如 custom.repo

vi /etc/yum.repos.d/custom.repo
​
 
 

2. 添加仓库配置信息

在文件中添加以下内容:

[custom-repo]
name=Custom Repository
baseurl=file:///root/rpms/
enabled=1
gpgcheck=0
​
 
 
  • name:仓库名称。
  • baseurl:仓库的基本URL,这里使用本地文件路径。
  • enabled:启用此仓库。
  • gpgcheck:禁用GPG签名检查(根据需要启用)。

3. 清理和刷新YUM缓存

yum clean all
yum makecache
​
 
 

4. 测试YUM安装软件包

安装一个软件包以确保YUM配置正常工作。

yum install vim
​
 
 

六、解决常见问题

1. 依赖冲突

在安装YUM及其依赖包时,可能会遇到依赖冲突的错误。使用以下命令可以查看详细信息并解决冲突:

rpm -ivh --nodeps package-name.rpm
 
 

2. 缺少依赖包

如果缺少依赖包,可以通过手动下载并安装这些包来解决问题。或者将所有依赖包打包成一个压缩文件,在目标系统上解压并逐个安装。

3. 网络配置问题

如果需要从网络仓库下载依赖包,请确保网络配置正确,且系统能够访问外部网络。可以通过配置网络代理或调整防火墙设置来解决网络问题。

posted @   晃悠人生  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示