python – 为Ubuntu发布

我已经为Ubuntu构建了一些我想要发布的C软件.有什么方法,你能推荐什么?正在构建.deb文件并为他们设置apt repo最佳方式? make install怎么样,它被认为是安装软件的可接受方式吗?

到目前为止对我来说最简单,也许对用户来说最透明,就是只有一个github存储库,其中一个可以运行make install来一次性安装所有程序.

我是否总是将二进制文件安装到/usr/bin中?

其中一个程序包含Python 3库代码,应该安装在/usr/lib / python3 / dist-packages中吗? (我不想创建一个pip包,这将使安装更加困难 – 并浪费更多的时间.)该程序还包含Python 3示例/教程,供用户调整和学习,我在哪里安装那些?我是否创建了一个〜/ my-prog-tutorial-dir /将它们放入?如果是这样:我应该如何命名该目录?

编辑:如果我只是在tarball中释放静态链接的二进制文件,最终会破坏什么? libc库?是否有任何主要的应用程序API通常在Ubuntu LTS之间发生变化?我只使用pthreads,X11和OpenGL,所以我怀疑静态链接二进制文件可能是一个相当稳定的选项?

最佳答案
我是asked在答案中扩展我的评论,所以我这样做.

我所谈论的项目名为Woodpecker hash Bruteforce,我将其作为Mac OS,Windows和Linux的普通存档可执行文件分发.

啄木鸟哈希Bruteforce只有两个我必须关心的依赖项(用户不需要安装任何东西):OpenSSL和Botan – 要进行散列的库.我在我的Mac上有两个虚拟机,用于构建项目和几个脚本以自动化该过程.我正在使用Docker(与VirtualBox合作)和VMware Fusion.

上面我说用户不需要担心任何第三方库,因为一切都与可执行文件静态链接:你只需从官方网站下载相应的文件,解压缩它(如果需要),sudo chmod x可执行文件,那就是它!

这适用于任何版本的Linux,包括Ubuntu(这是我执行构建的地方)和Kali Linux.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...