是否有一个简单的程序来构建RPM.如果是这样请解释或提供链接.........
我的要求很简单..
我有两个其他的RPM应该组合成一个单独的RPM ....
请解释一下这个过程....
提前致谢..........
有没有办法知道使用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?
我有一个rpm文件perl-Tidy-20071205-1.rf.noarch.rpm.这个.rf部分是什么意思?
我环顾四周,但同样的错误信息的答案都没有在我的简单包中运行...我在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) 我需要获取像" 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]占位符.
我试图在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) 我在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) 我有RepoA.repo,RepoB.repo,RepoC.repo等多个回购.我想只更新RepoA.repo,因为每天都会有新的RPM加入.
如何更新RepoA.repo而不是使用"yum update"更新所有repos并花费很长时间.
谢谢,MadEngineer
我正在尝试使用单个文件的示例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托管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.