SUSE zypper 添加源和离线下载rpm包

Posted catoop

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SUSE zypper 添加源和离线下载rpm包相关的知识,希望对你有一定的参考价值。

背景

因为业务需要,需要在 suse 操作系统上安装 container-selinux,当前使用的操作系统版本是 SLES15-SP4-15.4-0,按照 Linux pkg 包管理网站上的给的快速安装命令 zypper install container-selinux 即可安装。

但是,当我在操作系统上执行这个命令后,发现操作系统自带的官方源上没有这个包,所以无法安装。

既然 Linux pkg 这个网站上有这个包,所以我们需要把这个站点的源地址添加到 suse 操作系统的 repo 清单中,即可解决问题。

zypper 源相关命令

首先我们先来了解一下 suse 的包管理工具 zypper 的常用命令:

1、查看repos (软件仓库)

zypper lr 

2、查看services(软件源)

zypper ls

3、删除软件仓库

zypper rr name

4、删除软件源

zypper rs name

zypper 添加源

语法:

zyppr ar URL alias,URL 就是软件源的地址,alias 就是起的一个名称

获取opensuse-pkg站点源地址URL



将源按如下示例进行添加:

# 添加源
zypper ar https://ftp.lysator.liu.se/pub/opensuse/tumbleweed/repo/oss/ opensuse-pkg-oss

# 刷新源
zypper refresh

# 查看确认源清单已被添加
zypper lr

至此,按照文初的自动安装命令 zypper install container-selinux 即可正常下载和安装了。

下载离线rpm包

zypper 命令提供了一个仅下载不安装的参数 --download-only,添加该参数时,rpm 包会被下载到 zypper 对应的缓存目录中。

这样做主要用来解决某些内网服务器安装包的问题,你只需要在有网络的电脑上安装一个和内网服务器相同版本的虚拟机,然后在这个有网络的虚拟机上下载离线包(因为Linux依赖的问题,一般会对应下载一堆相关的rpm文件),最后把这批离线包拷贝到内网服务器上进行 zypper install *.rpm 全部安装即可(中间如果提示签名验证错误选择 i 忽略即可)。

--download-only 对应的缓存目录默认在 /var/cache/zypp/packages/ 中,其中按照对应的源 alias 名称分别存放在对应的文件夹中,如下图所示:

本文操作示例的操作平台是 SLES15-SP4-15.4-0


(END)

以上是关于SUSE zypper 添加源和离线下载rpm包的主要内容,如果未能解决你的问题,请参考以下文章

SUSE-11 本地 zypper 配置

Suse12离线安装docker

zypper 依赖解析

SUSE Linux Enterprise Server15 12 这些操作系统哪里提供zypper源下载更新?

SUSE linux使用zypper 安装软件-比yum更好用

suse的安装命令zypper,类似apt