- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我想安装同一个包的两个不同版本。
具体来说,我想为 GNOME 安装两个版本的 Javascript 绑定(bind),gjs 包。我想要gjs-1.38.1-1.fc20.x86_64
和 gjs-1.36.1-1.fc19.x86_64
.
Fedora 20 中的其他软件包很大程度上依赖于gjs-1.38.1-1.fc20.x86_64
。所以不可能用gjs-1.36.1-1.fc19.x86_64
代替.
我有一个与 gjs-1.38.1-1.fc20.x86_64
不兼容的特定程序并且需要前一个。
那么是否可以安装以前版本的gjs gjs-1.36.1-1.fc19.x86_64
并通过 /usr/bin/env gjs1
访问它(通过某种魔法!)运行不兼容的程序而不破坏任何东西?
最佳答案
据我所知,没有一个简单的 yum 命令可以做你想做的事,它需要一点点努力。我将列出我知道的几种方法。可能是您的用例消除了以下一项或多项或全部。
软件集合 (SCL)。 SCL 的目的是能够安装一个包或一组包的多个版本。有一个User Guide , 并且有一个 page here有一些集合,但它们似乎更针对 RHEL。如果你选择这个选项,我认为你必须创建自己的收藏。
您可以决定将 F19 软件包安装在其自己的安装根目录中。 Here's a blog post这解释了如何做到这一点(示例是生皮根,但也应该可以使用 f19 根)。这可能是最省力的路径,但我不能 100% 确定它是否适合您的情况。它需要安装很多东西,但这样做是必要的,因为不同 Fedora 版本中的软件包将针对不同的依赖集构建。
我认为这种方式可能有效,也可能无效,至少在一定程度上应该有效;但可能需要相当大的努力。它基于您想要的实际上是 gjs-1.36.1
的假设。而不是以前的 Fedora 版本的任何打包版本。如果你去source repository for gjs并单击发布,您将能够下载所需版本的存档文件。然后您可以从源代码构建它,在配置步骤中指定与默认值 /usr
不同的前缀。 -- 也许 /usr/local
会好的。然后,如果您安装了它,您可以指定完整路径,例如 /usr/local/bin/gjs
而不是 /usr/bin/gjs
.请注意,默认值将是您的 $PATH
上首先找到的任何一个。 , 所以如果 /usr/local/bin
在 /usr/bin
之前, 那么你要么想要改变你的 PATH
订购,或将您的自定义版本安装到与 /usr/local
不同的位置.
与最后一个选项相关,您可能会获得 gjs
的 RPM 规范文件。并对其进行编辑,以便您将其称为不同的名称,并将其安装到不同的位置。如果您不习惯构建 gjs,这可能会更直接,因为它包含有关如何编译的 rpmbuild 说明。如果您选择上一个选项,您至少可以从中获得一些提示。见 gjs spec file here .
也可以使用 alternatives
来做一些魔术。就像 java
做了什么和其他包。这可能需要您使用上述规范文件,但还需要对其进行一些修改以使用 alternatives
。 -- 可能为 1.36.1 和 1.38.1 这两个版本安装了自定义包。
祝你好运!
关于package - 如何使用 yum 安装同一软件包的两个不同版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22425839/
使用 yum 的优先级插件时,会显示已排除的软件包数量。有没有办法显示这些包的名称? 最佳答案 你总是可以像这样运行 yum: yum -d 9 install foo 并且部分日志输出是排除包。 编
我尝试使用命令 make && make install 安装 yum-3.4.3,但失败并显示以下日志: infra-bld4:/tmp/hxu2/yum-3.4.3> make for d in
我在 CentOs 8 上运行以下命令 $ cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core) 我从一个干净且更新的 yum 数据
我知道 FI-WARE 在 http://repositories.testbed.fiware.org/ 提供了一个公共(public) yum 存储库可用于安装 FI-WARE 软件包,例如 Or
如何将 yum 存储库完全导入 Artifactory? 请注意,我指的是外部 yum存储库,并且由于在 Artifactory 中实现外部存储库镜像的方式,我无法使用 artifactory-rem
当我在 shell 中使用 yum 时,错误消息是没有名为 yum 的模块,所以我编辑/usr/bin/yum 将第一行更改为另一个版本的 python,但没有任何变化,当我使用不同的 python
我正在按照可以在此处找到的教程在 ec2 实例上设置 headless Selenium 刮刀: https://krbnite.github.io/Driving-Headless-Chrome-w
我们在我们公司使用自定义的 yum 存储库。某些事情导致他们失败 yum makecache命令。 我在 CentOS Linux release 7.7.1908 (Core) . 这是我们在运行
我正在尝试使用 RPM 升级软件包。我如何知道它是全新安装还是更新。是否有任何我可以检查的标志,或者我应该编写一个脚本来检查它是全新安装还是升级? 最佳答案 如果我很好地理解你的问题;我想你自己打包
在 Debian 衍生版中,在使用 apt-get install xxx 从 apt 安装软件之前,需要运行apt-get update .这会刷新包列表,以便正确解析依赖项等。 在使用 RHEL
我正在编写一个更新本地存储库 URL 的 yum 插件。当 repo URL 更改时,我想让 yum 运行 yum clean all 以确保没有缓存过时的信息。我知道当 yum clean [plu
许多 makefile 使用 pkg-config,但名称与包管理器无关(例如 yum/apt)。如何将 pkg-config 名称映射到它们?有什么窍门吗? 示例:如果我执行 yum searchN
我对 Linux 和 VDS 完全陌生。 VDS的操作系统是CentOS 6.9。我正在尝试安装apache、邮件服务器、php、mysql等。但我认为,要能够安装这些 'yum update' 或
当我执行 yum 时,像这样搜索 mysql-libs: $sudo yum search mysql-libs Loaded plugins: branch, downloadonly, faste
我在 CentOS 上使用 MySQL-Server。我 'yum remove' MySQL 服务器,然后再次 'yum install' 它。当我尝试使用 'mysqladmin' 为 'root
我见过两种安装包的方式,比如CentOS上的squid: 1.yum -y install squid 2.yum install squid 谁能告诉我它们之间有什么区别?另外,我使用的是 Cent
提示我出现以下错误 不匹配参数:python-devel 最佳答案 python2.7现在已经完全过时了。你应该和 python3 一起工作.因此你可以安装: dnf install python3-
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
尝试从任何存储库更新任何包时,很难找到导致以下错误的原因。我通过将所有其他人设置为禁用来测试多个 repo 协议(protocol)。我已经清理了所有缓存并删除了所有 dnf yum 缓存文件。 #
我已经在我的 VMServer 上部署了一个新的 CentOS 6.5 实例,其中安装了开发工具、X11 和其他几个软件包。第一天,似乎一切正常。后来我无法使用 yum 安装程序来更新或安装任何软件包
我是一名优秀的程序员,十分优秀!