Linux打包Python文件为RPM格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux打包Python文件为RPM格式相关的知识,希望对你有一定的参考价值。

参考技术A 花费了将近一周的时间,才把rpm打包弄好.不能说已经了然于胸,但至少踩过了很多坑.接下来就顺顺在打包过程中的二三事.刚开始接到任务的时候,一脸懵逼.

作为专业的 JAVA Web 程序员,确定要让我干这么跨界的事情吗?之前自己虽然也安装过其他的rpm包,但我保证,我只是看说明书,跟着一路弄下来的.并且之后对它可是有多远躲多远的.不过考虑到自己的title,我知道那不应该是我关心的事情.那么问题来了,什么是rpm呢?

看到了rpm是什么,我们就来了解一下RPM相关的命令

本来准备直接 rpm -help 让大家看看相关参数的,但是考虑到内容太多,感兴趣的 自行点击 .这里放几个常用的命令.

至此,基本的rpm基础已经了解到了.那么关键的问题来了,如何制作RPM

把制作RPM,道上传闻有多种方式,我自己测过的有两种

注意:无论上述那种都需要 setup.py 及 setup.cfg 文件,描述相关的软件信息.

我自己使用的是第二种rpmbuild,

至此就可以欢快的进行打包了.执行

以上命令运行成功后会在当前用户目录下生成rpmbuild目录,该目录会包含以下子目录

--BUILD #编译之前,如解压包后存放的路径 --BUILDROOT #编译后存放的路径 --RPMS #打包完成后rpm包存放的路径 --SOURCES #源包所放置的路径 --SPECS #spec文档放置的路径 --SPRMS #源码rpm包放置的路径

安装成功后,即可直接执行相关命令了.

rpmbuild

Linux安装包类型

分类

通常Linux的安装包有四种:

  • tar 包,如 software-1.2.3-1.tar.gz ,是使用Unix系统的打包工具tar打包的。
  • rpm包,如 software-1.2.3-1.i386.rpm,是Redhat Linux提供的一种包封装格式,包的管理工具为yum.
  • dpkg包,如 software-1.2.3-1.deb,是Debain Linux提供的一种包封装格式,包的管理工具为apt-get。
  • bin包,如 jdk--1_5_0_05-linux-i586.bin,有些Linux软件不公开源代码,只发布二进制可执行程序,这类程序一般用bin标记。

软件包命名的规律一般遵循: 名称-版本-修正版-类型

安装包内容

软件包中能包含两种不同的内容:

  1. 可执行文件,即解开包后可以直接运行。如rpm、bin 和 dpkg 包通常是可执行文件。
  2. 源程式,即解包后还需要使用编译器将其编译为可执行文件。如tar包通常是源程式。
安装

1. tar.gz包安装

cd 									  //切换到安装包目录
tar -xzvf 软件包名			//解压和解包
//利用cd进入解压后的文件 

如果是configure文件,则

./configure				//为编译做好准备
make					  //进行软件编译
make install		  //安装

如果是makefile文件

make
make install

如果是imakefile文件

xmkmf
make
make install

执行make clean删除安装时产生的临时文件

默认安装目录

/usr/local/bin

2. deb包安装

dpkg -i 软件包名

清除安装包

dpkg -r 软件包名

3. rpm包安装

rpm -ivh 软件包名

选项:

​ -i(install) 安装

​ -v(verbose) 显示详细信息

​ -h(hash) 显示进度

卸载

rpm -e 软件包名

4.bin包安装

cd进入软件包目录

chmod +x filename.bin				//给文件加上可执行属性
./filename.bin

卸载:把安装时选择的安装目录删除就行了。

参考:linux系统下软件安装包类型及安装介绍

以上是关于Linux打包Python文件为RPM格式的主要内容,如果未能解决你的问题,请参考以下文章

Linux下制作bin可执行文件

如何把python脚本打包成rpm包

python打包

Linux安装包类型

linux系统之定制rpm包

linux下bin安装升级包制作