Articles of rpm

为CentOS 5获取更新版本的NetSNMP

我正在使用CentOS 5.我需要使用net-snmp版本“net-snmp-utils-5.5-37.el6_2.1.x86_64”,目前在CentOS 6中可用,但在CentOS 5中不可用。需要这个版本(或更高版本)是因为有一个新的支持选项添加到configuration文件,我需要我的设置。 如果有人会给我一些步骤在我的产品CentOS 5系统上安装这个版本(或更高版本),我将非常感激。 升级到CentOS 6目前不是一种select。 任何帮助,将不胜感激。 谢谢

构build包含密码的RPM

我需要能够将RPM发送给将安装完整服务器的客户,包括Apache和MySQL。 客户将它安装在一台干净的机器上。 安装后,服务器应该连接到我们的主要数据库,所以我虽然在RPM中包含密码,如果可能的话encryption。 我问这个问题的原因是因为我非常确定将密码保存在rpm脚本中并不明智。 我希望别人有类似的问题,并设法解决这个问题。 如果有人知道这样做,或有更好的主意,请分享!

重写RPM公钥数据库

是否可以说服rpm从任意的pubkey数据库导入和获取公钥? 在同一台机器上,我有两个自动化用户,每个用户需要validation来自不同来源的包签名,并在不同的密钥下签名。 如果我rpm –import pkg-source1.pub pkg-source2.pub ,每个用户将能够validation打算为对方的软件包。 我宁愿每个用户都不知道对方的公钥匙。 有没有一种方法可以在每个用户或每个rpm(8)-invocation的基础上指定备用或补充的pubkey数据库?

Linux – 跨多个服务器的软件包版本维护

问题 :如果今天启动了服务器1,则所有已安装的软件包将基于当前的上游版本。 如果我明天启动server2,所有已安装的软件包将基于上游版本,除了这次,在server1和server2之间的24小时差异内,某些软件包的上游版本可能已经更改。 所以我们最终与server1和server2在安装包版本方面不同步。 我的目标是让整个基础架构中的所有服务器保持相同的“快照”版本,但仍支持定期更新过程。 例。 server1今天被抢购了。 作为捕捉过程的一部分,我运行以下命令: yum update –downloadonly –downloaddir=/path/to/my/repo/base/v1 yum update –enablerepo=mybaserepo 这将做什么是拉下所有基于当前上游版本(快照)的RPM。 这允许我从“mybaserepo”托pipeRPM,所以当我更新其他服务器时,他们可以从我的仓库直接获得RPM,而不必担心上游RPM不再可用。 我正在考虑实施一个月度升级周期,所以v1在5.1.2013上快照,现在是6.1.13。 我当时正在考虑的一个stream程是: 将所有其他服务器更新为快照版本1 使用上面给出的yum命令将快照服务器更新到版本2 这个循环每月重复一次。 我想这个策略解决了两个问题: 不断更新服务器以确保上游补丁一致 如果没有在快照服务器上进行第一次testing(30天),则不推出新的软件包版本 诚然, 没有绝对的单一答案,因为有很多方法来剥皮猫。 我正在寻找的是一种通用的,业界公认的做法,它直接回答了更新服务器的问题,同时还确保了企业环境中所有服务器的相同版本。

如何将源代码编译成rpmbuild BUILDROOT?

关于构buildRPM的所有信息似乎都是在CentOS 6之前发布的,作为运行CentOS 6.5的完整软件包构build新手,我相当困惑。 我读过的所有教程都提到了一个BUILD目录,并指出在%install期间,文件将从原始位置( /usr/bin/whatever )复制并打包。 然而,在我正在构build的CentOS 6.5映像中,出现了一个新的BUILDROOT目录,我认为 BUILDROOT目录是为了避免你必须在本机位置安装二进制文件,因此也避免了make install使用sudo 。 但是,看来这不是可选的。 当试图打包其他人写的各种源文件时, rpmbuild 成功完成了make install ,但是当它在BUILDROOT下找不到二进制文件时就BUILDROOT ,因为它们没有安装在那里。 经过一番挖掘之后,似乎有些Makefiles可以采用DESTDIR说法,但是只有作者支持它,如果没有,我就卡住了。 我也读过 – 使用–prefix是一个坏主意 所以,我的问题是: 我如何构build和安装任何第三方来源到BUILDROOT位置? 有没有什么rpmbuild可以做我不需要修补别人的代码我不明白?

RPM更改软件包名称,而不更改提取的目录

我已经开始创build我使用的软件的RPM,以便我能够按照自己的想法configuration它。 但是我不知道如何重命名包,而不重命名RPM构build它的tarball。 例如,我在PHP-5.6.0RC3.tar.gz的tarball中有PHP5.6的源码。 在RPM构build过程中,这将被提取到目录php-5.6.0RC3和构build进程cd到该目录中。 我想改变包名称为phpcustom,并且仍然从php-5.6.0RC3.tar.gz构build它。 解压缩过程起作用,但是然后构build过程试图cd进入phpcustom-5.6.0RC3这个显然不存在的目录,因此中断了。 如何告诉rpmbuild构build应该在哪个目录中进行? 我想我可以移动php-5.6.0RC3目录为phpcustom-5.6.0RC3 …但它似乎有点傻。 我已经把我的spec文件放在下面,以防万一。 %define __spec_install_post %{nil} %define debug_package %{nil} %define __os_install_post %{_dbpath}/brp-compress Summary: Custom built PHP with APCU Name: php #Name: phpcustom – this doesn't work Provides: php Conflicts: php Version: 5.6.0RC3 Release: 1 License: None Group: Development/Tools Requires: bzip2, libcurl, libxml2 SOURCE0 : http://downloads.php.net/tyrael/php-5.6.0RC3.tar.gz SOURCE1: php.ini SOURCE2: […]

由于缺lessperl(LWP :: UserAgent),无法在redhat 7上安装awstats

我无法在我的rhel7 aws ec2实例上安装awstats : [root@ip-10-146-180-60 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.0 (Maipo) [root@ip-10-146-180-60 ~]# rpm -ivh http://prdownloads.sourceforge.net/awstats/awstats-7.3-1.noarch.rpm Retrieving http://prdownloads.sourceforge.net/awstats/awstats-7.3-1.noarch.rpm error: Failed dependencies: perl(LWP::UserAgent) is needed by awstats-7.3-1.noarch [root@ip-10-146-180-60 ~]# awstats-7.3-1.noarch.rpm也在寻找perl-Digest-MD5 ( perl-Digest是perl-Digest-MD5的依赖之一): [root@ip-10-146-180-60 ~]# tail -2 /var/log/yum.log Sep 16 21:46:39 Installed: perl-Digest-1.17-245.el7.noarch Sep 16 21:46:39 Installed: perl-Digest-MD5-2.52-3.el7.x86_64 [root@ip-10-146-180-60 ~]# 我能够安装这些,但我无法findrhel7 perl(LWP::UserAgent) […]

在Centos 6.6中安装非本地RPM

我试图在Centos 6.6上安装gstreamer0.10-pocketsphinx。 显然,互联网历史上没有人曾经这么做过,所以CentOS对于Ubuntu和Debian来说没有什么帮助。 不幸的是,百胜没有任何PocketSphinx或SphinxBase相关,所以我试图通过RPM安装:gstreamer0.10-pocketsphinx-0.8-7.mga5.x86_64.rpm 我运行: rpm -Uvh gstreamer0.10-pocketsphinx-0.8-7.mga5.x86_64.rpm 它告诉我它缺less依赖项(我已经安装): warning: gstreamer0.10-pocketsphinx-0.8-7.mga5.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 80420f66: NOKEY error: Failed dependencies: libpocketsphinx.so.1()(64bit) is needed by gstreamer0.10-pocketsphinx-0.8-7.mga5.x86_64 libsphinxbase.so.1()(64bit) is needed by gstreamer0.10-pocketsphinx-0.8-7.mga5.x86_64 pocketsphinx = 0.8-7.mga5 is needed by gstreamer0.10-pocketsphinx-0.8-7.mga5.x86_64 文件libpocketsphinx.so.1,libsphinxbase.so.1安装在/ usr / local / lib中 Pocketsphinx安装在别处(位于/progs/pocketsphinx-0.8)。 这一切都是如此,我如何告诉RPM依赖关系在我的系统上? 我环顾四周,还没有find任何东西,所以任何帮助将不胜感激。 谢谢!

fedora软件包为企业Linux

Fedora上有很多可用的包,我想在RHEL v6.x上安装。 这些软件包似乎无法从RHEL(发行版,可选版或补充频道)或EPEL回购版中获得。 leptonica-devel tesseract-devel pdftk pdftk似乎有一个可从他们的网站下载的RPM,并且repforge上有pdftk / tesseract。 然而,repoforge似乎被认为是一个问题回购: http ://wiki.centos.org/AdditionalResources/Repositories#head-a0dce03a04f29c2b0cabfcdfb488f2e7855c381b看来,我需要从源代码安装tesseract。 虽然我可以尝试RPM源的补丁工作或从源代码编译,我希望有一个简单的解决scheme。 根据我的理解,EPEL提供了所有可用于Fedora的附加软件包,但不能通过RHN回购获得。 情况不是这样吗? 有什么build议么?

RPMbuild立在相同的客户操作系统上,在另一个主机上的段错误(Asterisk)

我已经使用在OSX上运行的构build虚拟机(MacBook,使用Parallels)为Centos 7构build了一个用于Asterisk 13的RPM。 这是为了在我们的QA和生产系统上使用这个RPM。 但是,在其中一个QA服务器上安装了RPM之后,在启动时会立即出现星号段错误,并且不会运行。 QA服务器是在Intel CPU上运行的另一个Centos 7 VM,使用KVM(Qemu)的Centos主机。 我的RPM规格文件是: %define _prefix /usr/local %define _ver 13.4.0 %define _unpackaged_files_terminate_build 0 %define debug_package %{nil} Name: asterisk Version: %{_ver} Release: 1 Summary: Asterisk Vendor: Asterisk Packager: Amir Abiri <???> Source: http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-%{_ver}.tar.gz URL: http://www.asterisk.org/ Group: Applications/Multimedia BuildRequires: ncurses-devel BuildRequires: libuuid-devel BuildRequires: jansson-devel BuildRequires: sqlite-devel %description – %prep %setup %build […]