草庐IT

c++ - Linux 发布管理系统

我们公司需要的是一种用于Linux/C++的发布管理工具。我们的产品由多个库和配置文件组成。在这里,我将列出我们希望此类系统具有的基本功能:能够跟踪依赖关系,轻松增加其依赖项已增加其主要版本的库的主要版本。它应该在内部构建某种依赖关系图,这样它就可以知道谁受到了更新的影响。了解如何构建其处理的产品。要么是特定的构建文件,要么是更好的-能够阅读和理解makefile。使用SVN,以便它可以从那里检查新版本并进行构建。生成一些安装程序-rpm或tar.gz格式。为此,它应该能够理解rpm规范文件格式。目前我们正在开发已经非常有用的工具。不过,我相信我们的任务并不是独一无二的,应该有一些工具

linux - 构建环境隔离和文件系统差异

好吧,在第n次尝试追查各种软件的依赖关系并复制各种人为所有不同的linux发行版所做的工作之后,我想知道是否有更好的方法来捆绑各种软件将多个软件合并到一个.rpm或.deb文件中,以便于分发。我目前为此设置的是各种工具的科学怪人怪物,但主要是Vagrant和libguestfs(从在Fedora中运行的源代码构建,因为没有任何发行版实际附带virt-diff)。以下是我目前遵循的步骤:使用Vagrantbox或通过实时CD创建一个基础操作系统。导出.vmdk并称之为base-image.启动一个与之前图像完全相同的副本,然后去镇上:使用包管理器,或其他方式,下载、编译和安装我需要的所有

linux - 构建环境隔离和文件系统差异

好吧,在第n次尝试追查各种软件的依赖关系并复制各种人为所有不同的linux发行版所做的工作之后,我想知道是否有更好的方法来捆绑各种软件将多个软件合并到一个.rpm或.deb文件中,以便于分发。我目前为此设置的是各种工具的科学怪人怪物,但主要是Vagrant和libguestfs(从在Fedora中运行的源代码构建,因为没有任何发行版实际附带virt-diff)。以下是我目前遵循的步骤:使用Vagrantbox或通过实时CD创建一个基础操作系统。导出.vmdk并称之为base-image.启动一个与之前图像完全相同的副本,然后去镇上:使用包管理器,或其他方式,下载、编译和安装我需要的所有

linux - 如何使用 RPM 分发内核模块?

使用RPM分发内核模块的推荐方法是什么?理想情况下,为了可移植性,我希望RPM能够在安装之前针对正在运行的内核的header构建模块。 最佳答案 我使用了动态内核模块支持或DKMS在分发针对多个内核版本(2.6.31-37)的Linux驱动程序之前。DKMS本身是一组bash脚本,可以根据当前安装的Linux版本自动构建和重建内核模块。您可以将驱动程序作为RPM或DEB文件分发,其中包含驱动程序源代码、DKMS脚本以及可选的与特定内核版本相关联的驱动程序二进制版本。 关于linux-如何

linux - 如何使用 RPM 分发内核模块?

使用RPM分发内核模块的推荐方法是什么?理想情况下,为了可移植性,我希望RPM能够在安装之前针对正在运行的内核的header构建模块。 最佳答案 我使用了动态内核模块支持或DKMS在分发针对多个内核版本(2.6.31-37)的Linux驱动程序之前。DKMS本身是一组bash脚本,可以根据当前安装的Linux版本自动构建和重建内核模块。您可以将驱动程序作为RPM或DEB文件分发,其中包含驱动程序源代码、DKMS脚本以及可选的与特定内核版本相关联的驱动程序二进制版本。 关于linux-如何

linux - 如何在 Linux 上实现自动更新 Electron 应用程序?

我使用electron创建跨平台应用程序。对于Windows和Mac,可以通过electron工具完成,例如autoUpdate、Squirrel等。问题仅出现在Linux上。我为Ubuntu构建了一个.deb包。但我找不到任何“分步”说明或有关它的综合信息。我不熟悉java,也没有为Linux创建应用程序的经验。所以主要的问题是:使用分发包管理器的标准自动更新过程是什么?谁应该下载和安装更新并重启应用。还有什么其他方法可以解决这个问题。创建自定义更新的最佳做法是什么?.deb、.rpm包之间有什么区别,Ubuntu和Fedora之间有什么区别?所有信息都会有帮助,即使是它(信息)也不

linux - 如何在 Linux 上实现自动更新 Electron 应用程序?

我使用electron创建跨平台应用程序。对于Windows和Mac,可以通过electron工具完成,例如autoUpdate、Squirrel等。问题仅出现在Linux上。我为Ubuntu构建了一个.deb包。但我找不到任何“分步”说明或有关它的综合信息。我不熟悉java,也没有为Linux创建应用程序的经验。所以主要的问题是:使用分发包管理器的标准自动更新过程是什么?谁应该下载和安装更新并重启应用。还有什么其他方法可以解决这个问题。创建自定义更新的最佳做法是什么?.deb、.rpm包之间有什么区别,Ubuntu和Fedora之间有什么区别?所有信息都会有帮助,即使是它(信息)也不

linux - RPM 包中的几个组

单个rpm包是否可以属于多个组?在spec文件中你可以设置包组:Group:SystemEnvironment/Base我需要的是能够为这个包设置几个组(比如System|Util|MyCompanyName)——它们就像分配给包的标签。安装包后我想查询它rpm-q--groupSystem或rpm-q--groupMyCompanyName在这两种情况下,我都应该看到我的包裹(以及属于该组的其他人)编辑:许多包可能属于MyCompanyName组,但只有少数可能被安装。我需要一种方法来区分我们的包和linux系统包——我打算使用组名来做到这一点我尝试放置几行Group:行,但它只使用

linux - RPM 包中的几个组

单个rpm包是否可以属于多个组?在spec文件中你可以设置包组:Group:SystemEnvironment/Base我需要的是能够为这个包设置几个组(比如System|Util|MyCompanyName)——它们就像分配给包的标签。安装包后我想查询它rpm-q--groupSystem或rpm-q--groupMyCompanyName在这两种情况下,我都应该看到我的包裹(以及属于该组的其他人)编辑:许多包可能属于MyCompanyName组,但只有少数可能被安装。我需要一种方法来区分我们的包和linux系统包——我打算使用组名来做到这一点我尝试放置几行Group:行,但它只使用

linux - rpm.spec 文件中的多个 tar(源文件)文件

我想出了一个linux上的集中式日志服务器。在这一点上,我正在尝试整合以使事情更容易加载到另一台机器上。我想要一个可以一次性安装多个程序的RPM。我正在CentOS7服务器上工作。我希望打包到rpm中的程序是:eventlog2.12libdbi0.9.0freetds0.91libdbi-drivers0.9.0json-csyslog-ng3.5.6我已经对RPM做了很多阅读,只是很难理解如何将多个源放入一个RPM。我是源安装这些而不只是yum安装它们的原因是因为我需要在“./configure--enable-example”中调用的配置。所以我在我的机器上安装了所有这些程序的源