18.Linux-配置DNF仓库

DNF仓库产生背景

在现实的场景中,我们经常要安装一些软件包,但由于现场不提供网络。

      需要使用光盘或文件下载的方式去安装。

      对于linux有两种离线安装方式:二进制文件安装和源码安装

      其中二进制文件是比较简单的安装方式,不同的linux发行版又有二进制的安装工具和软件管理仓库。

openEuler和Redhat linux系列一样,采用rpm方式封装二进制安装程序。

从网络上下载一个xxxx.zip或者是xxx.tar.gz 压缩包,解压缩后就会得到一个rpm文件

使用安装命令: rpm ivh xxxx.rpm 执行安装动作。

使用rpm -q 程序名  用于检测程序有没有安装过

软件仓库方式安装

二进制安装除了使用离线文件包外,还可以使用软件仓库的方式安装,典型的是yum、apt等。

openEuler改良了yum软件仓库,使用dnf工具执行仓库的管理和安装。

软件仓库可以使用本地仓库和远程的互联网上的仓库。

当前来处理如何使用本地仓库执行关联和软件安装。

1、将光盘装载到本地目录

1.1 创建一个目录,用于装载光盘 (root身份)

mkdir  /mnt/cdrom

1.2 使用mount命令,装载光驱

mount -t auto /dev/cdrom  /mnt/cdrom

 1.3 进入到/mnt/cdrom 查看内容

cd /mnt/cdrom

ll

2、配置dnf仓库,创建一个本地仓库

使用dnf命令添加一个本地仓库

dnf config-manager --add-repo repository_url----该命令是模板

仓库的位置位于:/mnt/cdrom

命令:

dnf config-manager --add-repo file:///mnt/cdrom local

使用 dnf repolist 查看仓库

编辑repo文件,修改内容,修改位于/etc/yum.repos.d/mnt_cdrom.repo

1.重命名openEuler.repo -->.old

2.编辑mnt_cdrom.repo文件

          gpgkey文件名:RPM-GPG-KEY-openEuler

[dnf]

name=dnf

baseurl=file:///mnt/cdrom

enabled=1

gpgcheck=1

gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-openEuler

3、检查仓库是否ok

使用dnf list命令,列出仓库的软件

4、安装一个软件包 tar vim

dnf install tar vim

若遇到安装不成功,如下图所示:

执行命令:

rpm --import /mnt/cdrom/RPM-GPG-KEY-openEuler

配置完成之后,重新安装即可

5、安装成功

<think>好的,我现在需要帮用户解决在离线环境下回退open-iscsi版本的问题。用户当前版本是2.1.1-11.p01.ky10.arrch64,想降级到2.0.876-18.ky10.arrch64。首先,我要确认用户的系统是基于Arch Linux还是其他,但根据版本号中的ky10,可能是指Kylin Linux,这是中国的发行版,基于Ubuntu或CentOS?不过常见的包管理工具是rpm,所以应该是基于CentOS或类似RHEL的系统。 接下来,用户需要的是离线环境下的操作步骤。离线意味着不能使用yum或dnf在线下载依赖,所以必须确保用户已经有旧版本的rpm包及其依赖包。可能需要提醒用户提前下载好这些包,并存放在本地目录,比如/opt/packages。 第一步是卸载当前版本的open-iscsi。使用rpm卸载的话,命令是rpm -e,但需要处理依赖问题。如果有其他包依赖当前版本,可能需要强制卸载,但可能会影响系统稳定性。用户可能需要添加--nodeps选项,不过要谨慎,可能导致问题。这里需要明确告诉用户这个风险,并建议检查是否有依赖。 然后安装旧版本,使用rpm -ivh命令。但安装旧版本时,可能会遇到依赖问题,比如旧版本依赖的库或组件是否已安装。用户需要确保所有依赖包已经存在于本地目录,并按正确顺序安装。可能需要按顺序先安装依赖,再安装主包。 另外,是否需要停止相关服务?比如iscsi的服务,在卸载和安装过程中,可能需要停止服务,避免文件被占用。所以步骤中应该包括停止和启动服务的命令,比如systemctl stop iscsid等。 还需要考虑配置文件的问题。卸载包时,rpm默认不会删除配置文件,但最好建议用户备份,以防万一。可以使用rpm -qc open-iscsi查看配置文件,并备份。 验证步骤也很重要,安装后检查版本是否正确,服务是否正常启动,以及功能是否正常。 可能的问题点:用户是否有旧版本包的正确路径?是否需要处理多个依赖包?是否需要按特定顺序安装依赖?例如,先安装libabc,再安装open-iscsi。用户可能需要使用rpm -qpR命令查看旧版本包的依赖,并确保这些依赖都已满足。 总结步骤应该是: 1. 准备旧版RPM包和依赖包。 2. 停止相关服务。 3. 卸载当前版本(可能需要强制)。 4. 安装旧版本及其依赖。 5. 启动服务,验证版本和功能。 需要详细写出每个步骤的具体命令,并提醒注意事项,比如依赖顺序,强制卸载的风险等。同时,用户可能需要生成相关问题,比如如何备份配置,如何处理依赖问题等。</think>### 分步操作指南:离线环境回退open-iscsi版本 #### 一、准备工作 1. 确认已获取以下文件到本地目录(如`/opt/packages`): - 旧版本RPM包:`open-iscsi-2.0.876-18.ky10.arrch64.rpm` - 依赖包(使用`rpm -qpR open-iscsi-*.rpm`查看依赖关系) 2. 创建配置备份: ```bash mkdir /etc/iscsi_backup cp -a /etc/iscsi/* /etc/iscsi_backup/ ``` #### 二、卸载当前版本 ```bash # 停止服务 systemctl stop iscsid iscsiuio # 强制卸载(忽略依赖关系) rpm -e open-iscsi-2.1.1-11.p01.ky10.arrch64 --nodeps ``` > 注意:`--nodeps`会跳过依赖检查,需确保无关键服务依赖此包[^2] #### 三、安装旧版本 ```bash cd /opt/packages # 按依赖顺序安装(示例) rpm -ivh libisns-*.rpm rpm -ivh open-iscsi-2.0.876-18.ky10.arrch64.rpm ``` #### 四、验证安装 ```bash # 检查版本 rpm -qa | grep open-iscsi # 启动服务 systemctl start iscsid && systemctl status iscsid ``` #### 五、故障处理 1. 出现`file conflicts`错误: ```bash rpm -ivh --replacefiles open-iscsi-*.rpm ``` 2. 依赖缺失问题: 使用`createrepo`命令构建本地仓库后通过`yum localinstall`安装 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云网大周

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值