我对 Linux
相当陌生,并且更熟悉 rpm
和 yum
的使用,后者当然可以解决依赖关系并安装整个包。我主要使用 CentOs
。
我现在尝试使用 embedded Linux
,它非常基本,只有 rpm
,没有 dnf
或 yum
。我想安装 yum
,这样我就可以在管理包方面具有一定的灵 active ,但是使用 rpm
,我得到的只是一大堆依赖项,其中一些我尝试解决,例如 dnf
和 python-dnf
,然后它才变成一个永无止境的列表。
是否有更简单的方法可以在我的系统上安装 yum
?p>
最佳答案
这是一个简单、直接(且无聊)的过程。
首先,找到您的发行版和架构的包所在位置并获取 URL。例如,对于 x86_64,CentOS 8 是(镜像之一):
http://centos.telecoms.bg/8/BaseOS/x86_64/os/Packages/yum-4.0.9.2-5.el8.noarch.rpm
接下来您需要获取此软件包的依赖项(基于您已安装的软件包)(以 root 身份运行)
# rpm -q -R http://centos.telecoms.bg/8/AppStream/x86_64/os/Packages/anaconda-29.19.0.40-1.el8.x86_64.rpm
/bin/sh
/bin/sh
anaconda-core = 29.19.0.40-1.el8
anaconda-gui = 29.19.0.40-1.el8
anaconda-install-env-deps = 29.19.0.40-1.el8
anaconda-tui = 29.19.0.40-1.el8
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
(在上面的示例中我使用不同的包)
所以你已经有了 /bin/sh
但需要 anaconda-core
anaconda-gui
anaconda-install-env-deps
anaconda-tui
rpmlib
接下来,您在存储库中搜索这些包的 URL。并一一检查它们的依赖关系。获取所有 URL 后,您可以创建一长行来安装所有这些 URL。或者先安装先决条件,然后再安装软件包。
rpm -i http://centos.telecoms.bg/8/AppStream/x86_64/os/Packages/anaconda-29.19.0.40-1.el8.x86_64.rpm \
http://centos.telecoms.bg/8/AppStream/x86_64/os/Packages/anaconda-core-29.19.0.40-1.el8.x86_64.rpm \
http://centos.telecoms.bg/8/AppStream/x86_64/os/Packages/anaconda-gui-29.19.0.40-1.el8.x86_64.rpm \
http://centos.telecoms.bg/8/AppStream/x86_64/os/Packages/anaconda-install-env-deps-29.19.0.40-1.el8.x86_64.rpm \
.....
关于linux - 在嵌入式 Linux 上安装依赖的 yum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59245632/