为 Linux 应用程序创建安装程序 [关闭]

2024-01-03

我正在开发一个小型跨平台应用程序,我需要一些有关如何在 Linux 中安装它的建议。我在 Windows 中使用 InnoSetup,在 OSX 中使用应用程序包,但我不知道如何在 Linux 中安装我的应用程序,是否有适用于 Linux 的开源安装程序创建器?

Thanks.


The standard*nix 系统(不仅如此)上所有强大的通用安装程序都是自动工具 http://en.wikipedia.org/wiki/GNU_build_system.

# the user will install like so:
./configure --with-stuff
make # if package is from source
make install

您还可以提供特定于发行版的安装程序,例如RPM http://en.wikipedia.org/wiki/RPM_Package_Manager在 RedHat 或 CentOS 上或deb http://en.wikipedia.org/wiki/Deb_%28file_format%29对于 Debian、Ubuntu,尽管一旦你有了 Autotools 生成的 Makefile,制作这些文件就变得轻而易举了。

# the user will install like so:
yum install your-package-1.0.rpm # on redhat or
apt-get install your-package-1.0.deb # on debian

Autotools 也被称为“GNU 构建系统”,乍一看有点吓人,而新用户在遇到像古老的 m4 宏系统等这样的东西时会感到困惑。但诺塔贝内这是大多数人的做法,一旦掌握了窍门,就会很容易。

学习资源 http://www.lrde.epita.fr/~adl/autotools.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 Linux 应用程序创建安装程序 [关闭] 的相关文章

  • 如何通过保持目录结构完整来同步路径中匹配模式的文件?

    我想将所有文件从服务器 A 复制到服务器 B 这些文件在不同级别的文件系统层次结构中具有相同的父目录名称 例如 var lib data sub1 sub2 commonname filetobecopied foo var lib dat
  • docker容器大小远大于实际大小

    我正在尝试从中构建图像debian latest 构建后 报告的图像虚拟大小来自docker images命令为 1 917 GB 我登录查看尺寸 du sh 大小为 573 MB 我很确定这么大的尺寸通常是不可能的 这里发生了什么 如何获
  • 查找哪个程序运行另一个程序

    我有一个 NAS 运行在 Redhat Linux 的有限版本上 我按照指示破解了它 这样我就可以访问 shell 这很有帮助 我还做了一些修改 其他人也做过修改 除了一个问题之外 它们似乎都工作得很好 不知何故 每隔 22 天 系统就会关
  • 如何更改 Apache 服务器的根目录? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何更改 Apache 服务器的文档根目录 我基本上想要localhost从 来 users spencer projects目录而不是
  • Gtk-ERROR **:检测到 GTK+ 2.x 符号

    我正在使用 gcc 编译我的 c 应用程序 并使用以下标志 gcc evis c pkg config cflags libs gtk 2 0 libs clutter gtk 1 0 libs gthread 2 0 Wall o evi
  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • 删除 Git 存储库,但保留所有文件

    在我使用 Linux 的过程中的某个时刻 我决定将我的主目录中的所有内容都放入源代码管理中是个好主意 我不是在问这是否是一个好主意 我是在问如何撤销它 删除存储库的原因是我最近安装了 Oh My Zsh 而且我非常喜欢它 问题是我的主目录有
  • 如何在基于 Linux 的系统上的 C 程序中使用 mqueue?

    如何在基于 Linux 的系统上的 C 程序中使用 mqueue 消息队列 我正在寻找一些好的代码示例 可以展示如何以正确且正确的方式完成此操作 也许是一个操作指南 下面是一个服务器的简单示例 该服务器接收来自客户端的消息 直到收到告诉其停
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 使用 Grep 查找两个短语之间的文本块(包括短语)

    是否可以使用 grep 来高亮所有以以下内容开头的文本 mutablePath CGPathCreateMutable 并以以下内容结尾 CGPathAddPath skinMutablePath NULL mutablePath 这两个短
  • 监视目录的更改

    很像一个类似的问题 https stackoverflow com questions 112276 directory modification monitoring 我正在尝试监视 Linux 机器上的目录以添加新文件 并希望在这些新文
  • 确定我可以向文件句柄写入多少内容;将数据从一个 FH 复制到另一个 FH

    如何确定是否可以将给定数量的字节写入文件句柄 实际上是套接字 或者 如何 取消读取 我从其他文件句柄读取的数据 我想要类似的东西 n how much can I write w handle n read r handle buf n a
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost
  • 在 C++ linux 中将 STRINGS 写入串口

    我知道这个问题遍布互联网 但仍然没有任何东西能让我完全解决这个问题 我想用 C linux 将数据写入 Propeller 板的串行端口 从控制台获取输入时程序运行良好 但是当我向它写入字符串时总是返回 ERROR Invalid comm
  • 如何允许应用程序声明“https”方案 URI? (即如何从 https URL 打开桌面应用程序?)

    目前我正在尝试为 OAuth 2 0 授权流程创建一个客户端 实际上是一个本机应用程序 并且在规范中就在这儿 https www rfc editor org rfc rfc8252 section 7 2据说有 3 种方法来处理重定向 U
  • 后台分叉无法正常工作[重复]

    这个问题在这里已经有答案了 我运行这个程序 在前景和背景中 int main int pid printf App Start pid d n getpid while 1 pid fork if pid 0 printf Child n
  • 如何从 PROC 获取有关子进程的信息

    我正在尝试编写一个以几个进程作为参数的程序 然后父进程执行每个子进程并打印出一些相关的统计信息 示例 generate ls l 将生成一个程序 打印出有关 ls l 的一些统计信息 特别是其系统时间 用户时间和上下文切换次数 我不想使用
  • 为什么某些安装程序需要在运行程序之前重新启动计算机?

    我对部署桌面应用程序相当陌生 所以这是我第一次为我的软件构建安装程序 目前 我安装软件后第一次运行它时 它崩溃了 之后 它运行良好 我仍在调试此问题 但我注意到在安装后和运行软件之前立即重新启动似乎可以修复此崩溃 某些安装程序要求您在运行软

随机推荐

  • 流式 pyspark 应用程序中的连接池

    在流式 pyspark 应用程序中使用连接池的正确方法是什么 我通读了https forums databricks com questions 3057 how to reuse database session object creat
  • Python中OpenCV的grabcut()背景颜色和轮廓

    我正在使用 Python 和 OpenCV 我现在正在使用grabcut 裁剪出我想要的对象 这是我的代码 img cv2 imread test jpg img cv2 cvtColor img cv2 COLOR BGR2RGB mas
  • Hmisc 之后加载 tidyverse 时评估错误

    我正在使用 r 3 3 3 dplyr 0 7 4 和 Hmisc 4 1 1 我注意到加载包的顺序会影响 dplyr summaries 函数是否工作 我知道以不同的顺序加载包会屏蔽某些函数 但我使用 package function 语
  • 检测数据网格视图中哪一列显示编辑控件

    我有一个 DataGridView 负责显示一些数据 我的两列允许用户使用组合框输入 问题在于 一列只需要在其列表中显示预设值 但另一列需要显示预设并允许用户输入自己的值 我通过使用以下代码显示组合框的编辑控件来实现此目的 Private
  • XCode 自动停用断点

    我在 C 中使用 xcode 我正在尝试调试我的项目 但在随机的时间间隔 它似乎忽略了我的断点 它做了三件事 1 有时 当我运行时 它会自动切换到 停用断点 模式 相关按钮亮起并显示 激活 2 有时 当我运行时 所有断点都会进入 找不到 模
  • C# 如何计算包含赋值的表达式?

    我有 C C 背景 我遇到了一种在 C 中交换两个值的奇怪方法 int n1 10 n2 20 n2 n1 n1 n2 0 在 C 中 上面两行在之间交换值n1 and n2 这对我来说是一个惊喜 因为在 C C 中 结果应该是n1 n2
  • C++ char*[] 到 char** 转换

    我有这个简单的代码 编译时没有错误 警告 void f int char int main int argc char argv f argc argv return 0 接下来是无法编译的类似代码 void f int char int
  • 如何在弹性搜索中强制执行必填字段?

    我正在后端使用弹性搜索构建一个CMS 我的团队决定使用弹性搜索 我对此很陌生 我主要使用以前项目中的 mongoose 和 mongodb 在 mongodb 中 如果我错误地分配了一个字段或完全跳过了必填字段 mongodb 会抛出错误
  • 为什么IEEE754单精度浮点数只有7位精度?

    为什么单精度浮点数具有 7 位精度 或双倍 15 16 位精度 谁能解释一下我们如何根据分配给 float Sign 32 Exponent 30 23 Fraction 22 0 的 32 位得出这一点 尾数的 23 个小数位 22 0
  • word插件中弹出对话框

    我正在使用 C 创建一个 MS Office Word 插件 我有一条带有几个按钮的丝带 单击其中一个按钮时 我需要一个带有几个文本框的弹出窗口 问题 如何在word插件中创建弹出对话框 将新表单添加到您的加载项项目并根据需要进行设计 在按
  • mysql - 今天位于两个列值之间

    id first datetime last datetime 1 2013 04 15 00 00 00 2013 04 21 23 59 00 2 2013 04 08 00 00 00 2013 04 14 23 59 00 3 20
  • IIS URL 重写 {R:N} 说明

    我一直无法理解 R N 的目的 谁能澄清一下何时使用 R 0 vs R 1 用法示例
  • 如何减少 Blazor WebAssembly 的加载时间

    我正在开发 Blazor WebAssembly 应用程序 加载时间超过30s 这是正常的吗 我的临时链接 http chhinsras 001 site1 itemurl com http chhinsras 001 site1 item
  • Python/Selenium/Chrome 不同错误的冲突解决方案

    一周左右的时间里 我遇到了一系列令人讨厌的 Selenium Chrome 错误 一段时间内一切正常 但突然间就不行了 我有适合我的 Google Chrome 版本 89 0 4389 114 的 Chromedriver 版本 89 0
  • 复制省略可以在synchronize-with 语句之间发生吗?

    在下面的示例中 如果我们暂时忽略互斥锁 复制省略可能会消除对复制构造函数的两次调用 user type foo unique lock lock global mutex return user type user type result
  • 将锚点向右对齐

    考虑以下 a a a a b a 如何将第二个锚点 b 向右对齐 PS 在这种情况下浮动是一种滥用 它不是为此而设计的 它会导致一些问题 所以我需要其他更合理的解决方案 只需这样做 style float right Like div a
  • IpOverUsbSvc 错误 Windows Phone 开发人员注册 [重复]

    这个问题在这里已经有答案了 当我尝试注册我的 Windows Phone 设备时Windows Phone 开发者注册 I get 无法连接到手机 该消息还指出 对于 Windows Phone 8 手机 请确保 Windows 手机 IP
  • Python-Flask 不接受自定义字体

    文件夹蓝图 模板 文件 html Static Fonts Style 在CSS文件中 我尝试过 font face font family
  • 获取上季度的结束日期

    对于给定日期 如何获取上季度的结束日期 我需要运行一项工作 其中考虑到了这一点 编辑 第一季度是一月 二月 三月 2号是四月 五月 六月等 任何帮助表示赞赏 谢谢 基本上 找出当前季度是哪个 返回上一季度的最后日期 3月31日 6月30日
  • 为 Linux 应用程序创建安装程序 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个小型跨平台应用程序 我需要一些有关如何在 Linux 中安装它的建议 我在 Window