我已经为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,所以我怀疑静态链接二进制文件可能是一个相当稳定的选项?
我所谈论的项目名为Woodpecker hash Bruteforce,我将其作为Mac OS,Windows和Linux的普通存档可执行文件分发.
啄木鸟哈希Bruteforce只有两个我必须关心的依赖项(用户不需要安装任何东西):OpenSSL和Botan – 要进行散列的库.我在我的Mac上有两个虚拟机,用于构建项目和几个脚本以自动化该过程.我正在使用Docker(与VirtualBox合作)和VMware Fusion.
上面我说用户不需要担心任何第三方库,因为一切都与可执行文件静态链接:你只需从官方网站下载相应的文件,解压缩它(如果需要),sudo chmod x可执行文件,那就是它!
这适用于任何版本的Linux,包括Ubuntu(这是我执行构建的地方)和Kali Linux.