问题标签 [dnf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
703 浏览

python-3.x - 在 Centos 上安装 gir1.2-gtk-3.0

在 Ubuntu 上有一个用于安装gir1.2-gtk-3.0的软件包:

Centos 'dnf 提供 gir1*' 导致错误:未找到匹配项

该软件包可以在https://github.com/roojs/gir-1.2-gtk-3.0找到,但没有安装脚本,只有扩展名为 *.gir 的文件

如何手动安装?

安装是必要的,以避免:

gi.require_version("Gtk", "3.0") Python:命名空间 Gtk 不可用

其他包 gobject-introspection, python3-gi 已经安装

0 投票
1 回答
500 浏览

perl - Oracle8 ULN 'dnf check-update' 与 'dnf update' 不同

我最近将 RedHat 8 系统迁移到 Oracle Linux ULN,我发现“dnf update”和“dnf check-update”之间存在差异(请参见下面的输出)。列出的 Perl 模块已安装,但我更愿意保留 .noarch 版本。“dnf check-update”会显示这些模块有什么原因吗?

0 投票
1 回答
1264 浏览

docker - Gitlab Runner:在不同的机器上找不到 microdnf/yum 命令

我有两台托管 gitlab-runner 的不同服务器机器。我使用一个作为开发版本,另一个作为生产版本。我在两台机器上都有相同的配置,所以 gitlab-runner 的最新版本和 Docker/docker-compose 的最新版本。

在我的 dockerfiles 中,我需要下载 net-tools 包才能使用 netstat 命令。builder docker 是 OpenJDK 14 的官方镜像,它基于 RHEL。所以,为了安装一个新包,我只能使用 dnf/microdnf 或 yum。


好的,到目前为止,一切都应该简单明了。但是......当机器尝试运行命令时:

在分期机上:

/bin/sh: microdnf: 找不到命令

相反,在生产机器上:

乔布斯成功了。


好吧,那yum呢?让我们更改 Dockerfile 的 net-tools 安装

管道启动,作业计划和...登台机器:

乔布斯成功了。

如您所见,在生产机器上:

/bin/sh: yum: 找不到命令


我觉得我有点被困住了,因为没有另一种安装包的方式(dnf 应该是另一种可能的方式,但它没有安装在两个 docker 映像上)并且我不想应用可以通过 microdnf“测试”安装的解决方法或百胜。

我希望我已经尽可能清楚地说明了这个问题。

0 投票
2 回答
13230 浏览

yum - 在 Centos 8.1 上使用 Yum DNF 时出错 无法下载 repo 'AppStream' 的元数据

尝试从任何 repo 更新任何包时,很难追踪导致以下错误的原因。我通过将所有其他存储库设置为禁用来测试多个存储库。我已经清理了所有缓存并删除了所有 dnf yum 缓存文件。

每次我尝试更新 dnf 时,服务器上的平均负载都会飙升,高达 40 倍

curl 可以访问镜像站点。

我也试过在.repo中使用baserurl,同样的错误

我还用 curl 返回的 URL 之一替换了 baseurl,同样的错误

我尝试了很多建议,例如yum/dnf error: Failed to download metadata for repo and similar,没有一个对我有用。一些文章指出了 $releaseserver 等环境变量中的错误。我也尝试用实际值替换。同样的错误。

由于 curl 结果,Internet 连接显然可以。没有使用代理。DNS 正常

任何建议将不胜感激。

0 投票
1 回答
27 浏览

sudo - 防止 Centos 用户安装未签名的 RPM

我有一个 CentOS 8 系统,我希望用户能够安装 RPM。我计划在 sudoers 文件中执行以下操作:

但是,显然这具有安全隐患。我想将 dnf 配置为仅允许使用我的密钥签名的 rpm 安装。因此,用户可以使用 dnf 仅安装我提供的 RPM。

这可能吗?如果是这样,是否有一个 dnf 标志可以忽略此设置(并因此破坏此目的)。我正在查看 dnf 配置,但我不知道我正在阅读的内容是否会完成我想要的。

我回退到创建一个独立程序来执行此操作,并且只允许 sudo 访问该程序,但我不希望向系统添加另一个应用程序。

谢谢您的帮助

0 投票
0 回答
227 浏览

python - 从 32 升级到 fedora 33 后,dnf 不再工作

按照本手册将fedora从32升级到33。重启后,运行时dnf check-update出现如下错误:

附加信息:

命令的输出rpm -qa python3是:

似乎即使升级到 fedora 33,旧的 fedora 32 软件包仍然存在。润rpm -qa | sort证明了这一点。

命令的输出rpm -ql python3-3.8.7-2.fc32.x86_64是:

但输出python3-3.8.7-2.fc33.x86_6是:

0 投票
0 回答
163 浏览

linux - 添加 fedora 存储库并包含 gpgkey (dnf)

我有一个安装了 dnf 数据包管理器但没有启用包源的 Linux 系统。所以我在这个目录中创建了一个目录“/etc/yum.repos.d”,我有文件fedora.repo、fedora-updates.repo 和fedora-updates-testing.repo。但是,每当我尝试执行 dnf -update -vi 时,都会收到以下错误消息:

DNF version: 1.1.9 Cannot download 'https://packages.grafana.com/oss/rpm': Cannot download repomd.xml: Curl error (77): Problem with the SSL CA cert (path? access rights?) for https://packages.grafana.com/oss/rpm/repodata/repomd.xml [error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none]. Cannot download 'https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=i386': Cannot prepare internal mirrorlist: Curl error (60): Peer certificate cannot be authenticated with given CA certificates for https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=i386 [SSL certificate problem: unable to get local issuer certificate]. Fehler: Failed to synchronize cache for repo 'updates'

我认为错误是由于不存在的 gpgkey 文件。在 .repo 文件中有以下行:gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-releasever-$basearch 但是这个目录在我的系统中不存在。所以我的问题是,我在哪里或如何获得这些 gpgkey 文件?

0 投票
0 回答
77 浏览

redhat - 在 dnf 安装/删除/升级时上传 Tracer 配置文件需要太多时间

RedHat 8.3中,当dnf install/remove/upgrade命令执行时,它在Uploading Tracer Profile. 有时需要5分钟以上,这很痛苦,服务器资源也没有问题,因为它是高端服务器。

另请注意,dnf 从foreman.

0 投票
0 回答
156 浏览

module - 单独的 ansible 角色 dnf enablerepo 模块由于周期性依赖而无法正常工作

因此,我正在使用 RHEL8,并且在我们的私有存储库下拥有许多 Galaxy 角色,它们执行安装和配置 nginx、php、solr 等操作。因此,例如,在我们的 nginx 角色中,有这个功能,因为我们想要更新的版本 1.18 而不是默认的 1.14:

这很好,但由于启用的模块依赖项(未安装的包)导致失败而导致无法启用其他 nginx 流的问题。

我认为我可以使用该skip_broken: yes标志来避免这种情况,并简单地管理 ansible 之外的模块依赖项并安装知道无论如何我都会满足依赖项,但它仍然会因此失败。这样做的唯一方法是在角色之外同时禁用/启用依赖模块(在其自己的迷你角色中或仅作为任务)并执行以下操作:

这是最好的方法吗?

注意:对于这种特定情况,nginx 和 php 模块流彼此之间存在一些依赖关系,因此更改 ansible 角色的顺序没有效果。我确定还有其他模块存在类似问题。

更新:标题编辑希望更有意义。

0 投票
1 回答
150 浏览

apt - 如何在我的系统中找出默认的包管理器?

我开始在我的 linux mint(ubuntu 系统)中管理我的点文件。所以,在这里我正在编写一个 bash 脚本来自动安装我喜欢的应用程序。但我希望该脚本独立于系统。假设当我成为 linux 系统的成熟用户时,我可能想切换到 arch 或其他东西,这就是为什么我想制作不会引发错误的动态脚本文件,因为我的脚本说要使用apt or apt-get包管理器下载应用程序,而我的系统有pacman or dnf包管理器。

如何找到系统包管理器?