标签: rpm

建立rpm

是否有一个简单的程序来构建RPM.如果是这样请解释或提供链接.........

我的要求很简单..

我有两个其他的RPM应该组合成一个单独的RPM ....

请解释一下这个过程....

提前致谢..........

linux rpm rpmbuild

2
推荐指数
1
解决办法
1147
查看次数

使用yum install命令时如何获取软件版本?

有没有办法知道使用yum install命令安装哪个版本的软件?

例如:

$ yum search zsh
Loaded plugins: fastestmirror
=== Matched: zsh ===
zsh.x86_64 : A powerful interactive shell
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我怎么知道zsh我输入的版本yum install zsh.x86_64

linux rpm yum

2
推荐指数
1
解决办法
1129
查看次数

.rpm文件名的.rf部分是什么意思?

我有一个rpm文件perl-Tidy-20071205-1.rf.noarch.rpm.这个.rf部分是什么意思?

rpm

2
推荐指数
1
解决办法
1307
查看次数

rpmbuild失败错误:找到已安装(但未打包)的文件:

我环顾四周,但同样的错误信息的答案都没有在我的简单包中运行...我在Redhat ES 6上使用rpmbuild构建rpm,无论我在spec文件中做了什么,我都得到相同的结果.预先感谢您的帮助.

这是我的spec文件:

Name:  package
Version: 3.2.5
Release: redhat
Summary: Company package gateway pos server

Group:  Engineering
License: Company LLC - owned
URL:    http://www.company.com
Source: %{name}.tar.gz

%description
The Company package gateway server provides a key component in the Company system      architecture which passes information between the clients and the API.

%prep
%setup -n %{name}

%build

%define debug_package %{nil}

%install
mkdir -p $RPM_BUILD_ROOT/srv/package/gateways/config
mkdir -p $RPM_BUILD_ROOT/srv/package/gateways/logs

install -m 700 gateway $RPM_BUILD_ROOT/srv/package/
install -m 700 gatewayclient.conf $RPM_BUILD_ROOT/srv/package/
install -m 700 gateway.conf …
Run Code Online (Sandbox Code Playgroud)

linux redhat rpm package rpmbuild

2
推荐指数
1
解决办法
2万
查看次数

没有安装它的rpm版本号

我需要获取像" foo-[RELEASE].rpm" 这样的rpm文件的版本号

我试过这些命令

rpm -q --queryformat '%{VERSION}' foo-[RELEASE].rpm 
package foo-[RELEASE].rpm is not installed

rpm -qp --queryformat "[%{VERSION}\n]" foo-[RELEASE].rpm
Run Code Online (Sandbox Code Playgroud)

我需要用版本号替换[RELEASE]占位符.

rpm

2
推荐指数
1
解决办法
4971
查看次数

RPM构建错误:来自/var/tmp/rpm-tmp.32XJLX的错误退出状态(%install)

我试图在centos 6.5上创建一个简单的rpm包..但我无法完成它,因为它给我错误..我已经遵循这两个线程.. 来自/var/tmp/rpm-tmp.b1DgAt的错误退出状态(%建)从/var/tmp/rpm-tmp.ajKra4(%PREP)坏退出状态 ..但没有运气...

我无法弄清楚我在这里缺少什么..请帮我解决这个问题..

这是我的

Name:   test
Version: 1.0    
Release:    1%{?dist}
Summary: A test package 

Group:      Testing
License:    GPL
URL:        http://www.yahoo.com
Source0:        test-1.0.tar.gz
BuildRoot:  %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires:  /bin/rm, /bin/mkdir, /bin/cp
Requires:   /bin/bash, /bin/date

%description
this is the test package build for rhche

%prep
%setup -q

%build
./configure
%install
rm -rf $RPM_BUILD_ROOT
make -p $RPM_BUILD_ROOT/usr/local/bin
cp myscriptdate $RPM_BUILD_ROOT/usr/local/bin

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%attr(0755,root,root)/usr/local/bin/myscriptdate

%changelog
* Thu Dec 09 2010 Forrest <forrest@redhat.com> 1.0-1
-Initial RPM
-Added …
Run Code Online (Sandbox Code Playgroud)

bash centos rpm rpmbuild rpm-spec

2
推荐指数
1
解决办法
2万
查看次数

在RPM中创建符号链接

我在Linux上具有特定版本的软件,并且正在以rpm格式打包.jar文件(旨在升级现有软件),然后尝试重新创建符号链接以指向jar的最新版本。我尝试使用%post%postun创建和删除符号链接(如果它已经存在),但是这不起作用。我在互联网上看到了一些帖子,但是它们没有用。

解决方法是,我尝试在puppet中创建符号链接。为此,我使用了以下内容:

if $version == ‘1.1'  {
    file { '/usr/share/prog/software.jar':
    ensure  => 'symlink',
    target  => '/usr/share/prog/java/software-1.1-bin.jar',
}
Run Code Online (Sandbox Code Playgroud)

但是即使在这里,也将创建新版本的jar,但不会创建符号链接。

请让我知道之前是否有人解决过此问题。

以下是我使用的规格文件:

%define base_install_dir %{_datadir}/prog

Name:cdplayer
Version:1.1
Epoch:1
Release:2el6
Source:cdplayer-1.1-bin.jar
BuildArch:noarch
%description    
%prep
%install
%{__mkdir} -p %{buildroot}%{base_install_dir}
%{__install} -D -m 755 %{SOURCE0} %{buildroot}%{base_install_dir}

%post
ln -s -f /usr/share/prog/cdplayer-1.1-bin.jar /usr/share/prog/cdplayer.jar
%postun
%{__rm} -f /usr/share/prog/cdplayer.jar
%files
%defattr(-,root,root,-)
%dir %{base_install_dir}
%{base_install_dir}/*

%changelog
Run Code Online (Sandbox Code Playgroud)

linux rpm puppet

2
推荐指数
1
解决办法
7440
查看次数

如何更新yum中的特定回购?

我有RepoA.repo,RepoB.repo,RepoC.repo等多个回购.我想只更新RepoA.repo,因为每天都会有新的RPM加入.
如何更新RepoA.repo而不是使用"yum update"更新所有repos并花费很长时间.

谢谢,MadEngineer

rpm yum

2
推荐指数
1
解决办法
4857
查看次数

在不编译源文件的情况下构建rpm

我正在尝试使用单个文件的示例rpm包.

在我的源文件夹中,我有python_test_rpm.tar.gz,它只包含一个python脚本文件.但是,该文件不是有效的python脚本.

我想要做的就是将其打包并将其部署在特定的文件夹中.执行rpm build命令时,它会在python脚本中显示编译/语法错误.如何跳过此验证并进行构建.

rpmbuild命令 rpmbuild -v -bb

规格文件:

名称:python_test_rpm

版本:1

发布:1

摘要:Linux Installer的示例RPM

组:开发/工具

许可证:GPL

网址:无

来源:python_test_rpm.tar.gz

BuildRoot:/ home/rpmdev/rpmbuild

%描述

适用于Linux RPM安装程序的POC包

%准备

%setup -n"python_test_rpm"

%安装

rm -rf"$ RPM_BUILD_ROOT"

mkdir -p"$ RPM_BUILD_ROOT/python_test_rpm"

cp -R _mock_backport.py"$ RPM_BUILD_ROOT/python_test_rpm"

%文件

/python_test_rpm/_mock_backport.py

错误消息: 编译/home/rpmdev/rpmbuild/BUILDROOT/python_test_rpm-1-1.x86_64/python_test_rpm/_mock_backport.py ...语法错误:函数'_set_signature'中不允许使用非限定exec它包含带有自由变量的嵌套函数( _mock_backport.py,第191行)

错误:/var/tmp/rpm-tmp.4gSvIa(%install)的退出状态错误

RPM构建错误:/var/tmp/rpm-tmp.4gSvIa(%install)的退出状态错误

rpm rpmbuild rpm-spec

2
推荐指数
1
解决办法
2474
查看次数

在RPM spec文件中配置依赖项

我正在尝试使用RPM托管django Web应用程序.

当安装在裸机centos机器上时,此RPM软件包应安装所需的所有依赖项,并配置httpd服务器以为应用程序提供服务.

这是我的RPM规范文件的要点.

Requires:       epel-release, python2, python-setuptools, python-pip, python-virtualenv, python-devel, httpd, mod_wsgi, git, sqlite
Run Code Online (Sandbox Code Playgroud)

据我所知,安装epel-release软件包后可以在centos 7上安装python-pip.

https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F

基本上,

我的RPM包 - >取决于 - > python-pi - >取决于 - > epel-release

这就是为什么我在Requires标签的spec文件中添加了epel-release作为第一个依赖项.

但是,当我安装我的RPM包时,我收到错误并且安装失败.

这是我安装我的包的方式.

yum localinstallinstall packagename-1-1.0.x86_64.rpm -v
Run Code Online (Sandbox Code Playgroud)

我收到的错误是"找不到包python-pip"

epel-release标记为安装.但是还没有安装,因为找不到python-pip,它也失败了.

我想要实现的是它应该安装epel-release然后再安装python-pip.

pip rpm rpmbuild

2
推荐指数
1
解决办法
362
查看次数

标签 统计

rpm ×10

rpmbuild ×5

linux ×4

rpm-spec ×2

yum ×2

bash ×1

centos ×1

package ×1

pip ×1

puppet ×1

redhat ×1