compression - rpmbuild更改压缩格式

标签 compression rpm rpmbuild rpm-spec

我尝试在内部rpm包中打包一些用于Geoserver的 map 文件。对于构建部分,这只是复制文件。我认为这可以预期。但是打包这20GB的图像需要花费非常长的时间。

我读过rpm在内部压缩数据,并且可以使用几种不同的压缩算法来完成。但是,我不知道我的rpm选择哪个压缩以及如何影响它。我找不到rpmbuild命令的任何选项,也找不到规范文件的任何选项,也找不到可以用rpmbuild --showrc列出的常规rpm选项的任何选项

我对rpmbuild和specfile不太有经验,但是在rpm.org上阅读了很多手册页和教程后,我没有更多的想法了。

我使用的specfile看起来像:

%define debug_package %{nil}

%global mapsversion 0.9
# If this is a snapshot, put the date here and uncomment
#global snapshot_version 20100519

# This is the version in a form acceptable
# an an RPM version string (i.e. no '-')
# Hier werden die Makros definiert.
%global rpmversion %(echo %{mapsversion} | tr '-' '_')
%global pkgversion %{mapsversion}%{?snapshot_version:-SNAPSHOT}
%global pkgname %{name}

Name:           geoserver-maps-part2
Version:        %{rpmversion}
Release:        1%{?dist}
Summary:        Swiss Maps for GeoServer
Group:          Application/ourApp
License:        Copyright (c) 2011
URL:            http://doc.polyalert.local
#Source0:        %{name}-%{version}.tgz
BuildArch:  noarch
BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires:   geoserver

%define mapshome /opt/geoserver/swisstopo
%define mapssource /home/user/polyalert_env/geoserver/swisstopo

%description
Swiss Maps for GeoServer

%prep

%build
/bin/true

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{mapshome}
cp -a %{mapssource}/pk100 $RPM_BUILD_ROOT%{mapshome}

%clean
rm -rf $RPM_BUILD_ROOT

%pre

%post

%preun


%files
%{mapshome}/pk100

%changelog
* Tue Feb 14 2012 user - 1.0
- First version of specfile

我这样称呼rpmbuild:
rpmbuild -bb --define "_topdir $TOP_DIR" --define "_gpg_name ourkey" --define "_signature gpg" --sign $TOP_DIR/SPECS/$SPEC_FILE_NAME $RPM_BUILD_PARAMETER

有什么建议?

最佳答案

我今天正在处理一些RPM内容,但偶然发现了答案!

将它们放在您的spec文件中:

%define _source_payload w0.gzdio
%define _binary_payload w0.gzdio

那仍将使用gzip,但将-0传递给一个级别,该级别应存储。在我的RPM上,它从21MB增长到76MB,因此,我很确定这是您的答案!

顺便说一句,我发现在macro文件之一中,您还可以执行bzdio以及从09的任何数字以使用bzip2。这是在RHEL4上; RPM的更高版本似乎支持更多的压缩选项。但同样,对于您想要的,以上应该是您所需要的。

关于compression - rpmbuild更改压缩格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9292243/

相关文章:

linux - tar 和拆分时使用所有内核

.net - GZip 压缩(通过 .net)会增加文件大小吗?

linux - 将值重新分配给 spec 文件中的 %define 变量 - RPM

linux - RPM SPEC 文件宏中的变量和转义?

maven - 如何构建要安装在远程系统上的 Maven 项目的 RPM

python - Centos RPM 与 python 虚拟环境

fedora - 为什么规范文件中使用的 %systemd_post 在安装后未启用或启动服务?

PHP:gzdeflate 在多台机器上是否安全?

c# - 将 gZipStream 与一个或两个内存流一起使用会产生很大的不同

linux - RPM 在安装后脚本运行之后而不是之前删除文件