Articles of rpm

Oracle的JDK RPM不提供“java”

我有安装在Amazon EC2实例上的Java 7 JDK的Oracle RPM。 用于Java 7 JDK的Oracle RPM不“提供” java或jre 。 RPM报告它提供了以下内容: # rpm -q jdk –provides jaxp_parser_impl xml-commons-apis jdk = 2000:1.7.0_51-fcs 在这个EC2实例上,我想安装aws-apitools-as包。 使用yum的结果是: # yum install aws-apitools-as Resolving Dependencies –> Running transaction check —> Package aws-apitools-as.noarch 0:1.0.61.4-1.0.amzn1 will be installed –> Processing Dependency: jre >= 1.6.0 for package: aws-apitools-as-1.0.61.4-1.0.amzn1.noarch 这种依赖解决scheme导致yum想要安装java-1.7.0-openjdk ,即使我有一个完美的Oracle JDK(以及JRE)安装。 这个问题似乎是Oracle的错(至less这个SO人是这么认为的 )。 […]

如何在CentOS 6.5上升级已安装软件包的版本

我通过安装了ver 3.9.4 yum install libtiff-devel.x86_64来yum install libtiff-devel.x86_64 。 [安东尼@服务器〜] $ sudo yum list安装| grep“libtiff”libtiff.x86_64 3.9.4-10.el6_5 @updates libtiff-devel.x86_64 3.9.4-10.el6_5 @updates 题 不过,我希望有4.0.3 。 我怎样才能得到我想要的版本? 我试过了 我试图添加这些rpm我发现4.0.3 http://rpmfind.net/linux/rpm2html/search.php?query=libtiff但是当我尝试,我得到一个错误,说失败的依赖关系: [anthony@server ~]$ rpm -Uvh ftp://rpmfind.net/linux/sourceforge/o/os/osolinux/update/RPMS.l/libtiff-4.0.3-17_Oso.x86_64.rpm Retrieving ftp://rpmfind.net/linux/sourceforge/o/os/osolinux/update/RPMS.l/libtiff-4.0.3-17_Oso.x86_64.rpm error: Failed dependencies: libc.so.6(GLIBC_2.14)(64bit) is needed by libtiff-4.0.3-17_Oso.x86_64 libjbig.so.2.0()(64bit) is needed by libtiff-4.0.3-17_Oso.x86_64 liblzma.so.5()(64bit) is needed by libtiff-4.0.3-17_Oso.x86_64 libtiff.so.3()(64bit) is needed by […]

如果前提条件失败,如何停止meta-rpm事务?

我目前有一个元包rpm包含其他rpm包的依赖列表。 如果预安装脚本失败(即,返回0以外的值),我想停止元程序包(以及所有后续程序包)的更新/安装事务。 我试图通过在元包预安装脚本中的testing条件,似乎是合理的,但这是发生了什么事情: # yum update my-package 元软件包检查哪些相关软件包将不得不被更新/安装 运行元包预安装脚本并失败(在这种情况下) 继续更新程序并更新后续软件包(!) 因此,我最终处于以下情况: 元软件包版本不更新 所有相关的软件包可能会更新到更新的版本 如果元程序包包含其他程序包所需的数据,这可能会导致一些严重的问题。 如果预安装条件失败,有什么办法可以停止完整的事务吗? 注意 :我也尝试了rpm命令的更新过程,也没有工作。

如何自定义在CentOS 6上使用gnome桌面启动的默认应用程序集。*

背景我们运行一系列CentOS 6.5服务器,每个服务器都有多个用户(〜100多台)通过X-Window XDMP从MS Windows桌面进入。 这些用户不需要启动的默认应用程序的主机,如脉冲,音量控制,vino,polkit等等。所以我们要定制启动的默认应用程序集。 但是,我们在这些机器上做例行的yum更新 ,不要我们的自定义覆盖。 Yum / rpm包含一些保留对指定configuration文件的更改的规定。 问题我们可以通过1)删除或者2)在/ etc / xdg / autostart /中相应的.desktop文件中插入“Hidden = true”行来自定义启动的应用程序集,但是其中一些.desktop文件不是在安装它们的RPM软件包(例如gnome-media,polkit-gnome,policycoreutils,vino)中指定为configuration文件。 这意味着如果更新包,这些文件可能会被yum更新操作覆盖。 build议的解决scheme(1)蛮力:写一个yum-update之后的脚本,用来重写我们所做的修改。 无论是手动运行这个或者可以定制yum自动运行。 build议的解决scheme(2)微妙而危险:创build我们自己的定制RPM包,安装包含更改的文件。 然后强制安装这个RPM。 由于冲突,将来要更改文件的RPM更新将停止。 这将中断例行的yum更新,我们将按照手动程序来保存/恢复自定义。 替代解决scheme,想法和批评是最受欢迎的! 谢谢。

yum与版本库中的版本相同(自动升级/降级)

在我们的基础架构中,我们有安装和pipe理木偶的服务器。 我们所有的软件都是从rpm安装的。 在每个服务器上是一个小脚本,如果存储库中有一些更改,则执行yum更新。 我需要实现的也是执行自动降级,因此所有服务器上安装的软件包与存储库中的最新软件包相同。 我们想这样做回滚。 所以开发人员有一些简单的(web必须)接口来移动包活动/删除包(执行回滚/降级)。 我知道debian通过优先级支持这个function(或者某些特殊的magick – 我现在还不确定,上次configuration的时候已经有一段时间了)。 是否有可能pipe理百胜执行这种方式?

无法安装mysql服务器 – 错误PREIN脚本中的rpm包mysql55-mysql-server-5.5.32-3.el5.x86_64

我正在尝试在Redhat 5.5上安装mysql server 5.5(或任何5.x版本),并遇到一些麻烦。 我可以安装其他的mysql组件,但是当我尝试安装mysql-server(或mysql51-mysql-server / mysq55-mysql-server)时,运行事务后出现以下错误: 运行事务 PREIN scriptlet在rpm包中出错mysql55-mysql-server-5.5.32-3.el5.x86_64 错误:%pre(mysql55-mysql-server-5.5.32-3.el5.x86_64)scriptlet失败,退出状态255 错误:安装:%pre scriptlet失败(2),跳过mysql55-mysql-server-5.5.32-3.el5 失败: mysql55-mysql-server.x86_64 0:5.5.32-3.el5 我试图直接下载rpm包,但得到相同的错误。 我可以使用RPM安装: rpm -ivh MySQL-server-5.5.42-1.rhel5.x86_64.rpm –noscripts 我知道,不build议有很好的理由,因为它安装,但不起作用。 我得到其他错误(不能创buildPID文件)。 无论如何,我不会在这里进入。 注意:我没有root权限,但是我可以sudo大多数命令,但不允许其他命令,如rpm -ql。 我也不允许添加任何额外的回购。 我只有RHEL5.10_64可用。

系统.service文件中的libexecdir?

我使用RPM来部署机器(内部,而不是公共消费)。 现在,在RPM .spec文件中有%_libexecdirvariables。 软件包在该位置部署服务二进制文件。 我怎样才能在systemd .service文件的ExecStart= entry中自动使用该path? 没有相应的Bashvariables,例如,我不知道是否类似rpm –eval=%_libexecdir是一个好主意,甚至可能在.service中。

当通过yum和rpm检查时,库依赖关系是不同的

我在这里是新来的,正在debugging一些我以前从未见过的东西,所以我希望有人能告诉我哪里出错了。 我为我的所有服务器创build了一个本地yum回购。 这个想法是分发任何定制的内部RPM(我们的应用程序)或其他不在其他外部回购的软件包。 我正在testing的第一个外部软件包是nxlog 。 我从下载页面下载了RPM,并将其放入我的回购库。 我遇到的问题是,当我尝试通过yum安装包时,其中一个依赖关系的检查方式与通过RPM从HTTP URL安装到RPM本身的方式不同。 这是通过yum发生的事情: $ yum -q deplist nxlog-ce|grep pcre dependency: pcre provider: pcre.i686 7.8-6.el6 provider: pcre.x86_64 7.8-6.el6 dependency: libpcre.so.1()(64bit) 这是通过rpm发生的事情: $ rpm -qpR https://repo.mydomain.com/packages/nxlog/nxlog-ce-2.9.1347-1_rhel6.x86_64.rpm|grep pcre libpcre.so.0()(64bit) pcre 请注意,yp和rpm之间的libpcre检查是不同的。 这会导致yum安装失败,并使rpm安装成功。 这样可以,但是我想使用anum yum模块来安装我所有的本地软件包。 所有正常的search没有发现任何有用的东西,我不热衷于创build符号链接或任何东西,因为这对将来的操作永远不会有好处。 有没有人见过这样的事情? 会导致什么呢? 依赖关系是在RPM spec文件中定义的,所以我想不出有什么理由这些工具会做一些不同的事情。

安装libxml2没有互联网连接,以便可以安装nokigiri

我正试图安装在无法连接到互联网的红帽框libxml2。 所以我下载并scped以下rpms: libxml2-2.7.6-1.x86_64.rpm libxml2-devel-2.7.6-1.x86_64.rpm libxml2-python-2.7.6-1.x86_64.rpm 但是我不能安装它们中的任何一个: -bash-4.1$ sudo rpm -Uvh libxml2-2.7.6-1.x86_64.rpm warning: libxml2-2.7.6-1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID de95bc1f: NOKEY error: Failed dependencies: libxml2 = 2.7.6-17.el6_6.1 is needed by (installed) libxml2-python-2.7.6-17.el6_6.1.x86_64 有没有办法我可以安装libxml2所有的依赖? 理想情况下,我想这个版本: libxml2-2.7.6-1.X

CentOS 5.11:yum安装,但包仍然丢失

我想用一个相当古老的CentOS 5.11 VPS使用DirectAdmin来找出一个很奇怪的问题。 执行以下命令build议安装telnet软件包: # yum install telnet … Installed: telnet.x86_64 1:0.17-41.el5 但是, telnet仍然丢失: # which telnet /usr/bin/which: no telnet in (/root/local/node/bin:/usr/local/share/npm/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/share/adt-bundle/tools:/root/share/adt-bundle/platform-tools) 我的Yum版本是3.2.22。 也许一个错误的提示是,我似乎有不同版本的rpm安装。 如果我试图validation我的RPM数据库,我的数据库版本显示无效: # rpm –version RPM version 4.3.3 # rpm –verify telnet rpmdb: Program version 4.2 doesn't match environment version error: db4 error(22) from dbenv->open: Invalid argument error: cannot open Packages index […]