如何在rpm中执行Python脚本

2 投票
1 回答
2775 浏览
提问于 2025-04-18 10:12

我需要开发一个RPM包,这个包要合并一些文件,检查是否有已经存在的文件和目录,还要重命名文件等等。

我写了一个Python脚本来完成这些工作,所以执行命令python3 my_script.py时,它运行得非常好。

现在我需要创建一个RPM包,这个包应该能执行这个Python脚本。

我查了一下rpmbuild,但是当我安装这个RPM包时,什么都没有发生,可能我走错了方向。

有没有什么建议或者网上的教程呢?

谢谢!

1 个回答

2

我通过网上找到的一些指南和教程解决了我的问题。下面是一个示例 .spec 文件,它可以生成一个 .rpm 文件,并将安装文件保存在 /opt/mytest 目录下:

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

Group:          Utilities
License:        GPL
URL:            http://www.mypage.com
Source0:        mytest-1.0.tar.gz
BuildArch:      noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%description    A test script inside a simple RPM package

%prep
%setup -q

%build

%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/opt/mytest
install app.py $RPM_BUILD_ROOT/opt/mytest/app.py

%clean
rm -rf $RPM_BUILD_ROOT

%files
%dir /opt/mytest
%defattr(-,root,root,-)
/opt/mytest/app.py
/opt/mytest/app.pyc
/opt/mytest/app.pyo

%post
chmod 755 -R /opt/mytest
cd /opt/mytest
python3 app.py

撰写回答