如何将.tar.gz文件打包成rpm包
How to package a .tar.gz file into rpm package
我在 Redhat Linux 上工作,我有一个 tar.gz 文件。我想把这个tar.gz文件打包成一个rpm包文件。
在rpm包阶段,我只是想解压tar.gz文件,将所有人员打包到rpm包中,当我在linux服务器上安装rpm包时,它会简单地复制所有文件到目标文件夹。
我已经尝试了很多。这是我的 SPEC 文件的一些代码,但它有问题:
%prep
%build
pwd
%install
rm -rf /usr/local/sample
mkdir /usr/local/sample
cd %{_sourcedir}
tar -xzvf sample.tar.gz -C /usr/local/sample
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc
%changelog
我可以成功打包rpm文件,但是rpm包中没有tar.gz文件的内容。
如果我在其他服务器上安装rpm文件,会失败.
我该如何解决这个问题?
有两个问题:
1) 在 %{buildroot} 中找到的 rpmbuild 包文件。您需要通过从 %{_sourcdir} 复制或提取到 %{build root}/usr/local/sample
来填充该目录
2) 需要在 %files 清单中提及您希望打包的文件
我在 Redhat Linux 上工作,我有一个 tar.gz 文件。我想把这个tar.gz文件打包成一个rpm包文件。
在rpm包阶段,我只是想解压tar.gz文件,将所有人员打包到rpm包中,当我在linux服务器上安装rpm包时,它会简单地复制所有文件到目标文件夹。
我已经尝试了很多。这是我的 SPEC 文件的一些代码,但它有问题:
%prep
%build
pwd
%install
rm -rf /usr/local/sample
mkdir /usr/local/sample
cd %{_sourcedir}
tar -xzvf sample.tar.gz -C /usr/local/sample
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc
%changelog
我可以成功打包rpm文件,但是rpm包中没有tar.gz文件的内容。
如果我在其他服务器上安装rpm文件,会失败.
我该如何解决这个问题?
有两个问题:
1) 在 %{buildroot} 中找到的 rpmbuild 包文件。您需要通过从 %{_sourcdir} 复制或提取到 %{build root}/usr/local/sample
来填充该目录2) 需要在 %files 清单中提及您希望打包的文件