目前,我正在手动分发和更新运行 CentOS 6.5 和 Ubuntu 14.04 的50台计算机上的两个应用程序。每当新版本可用于我的任一应用程序时,我必须复制所有文件并通过手动在所有计算机中更新。这非常耗时且令人沮丧。
为避免在50台计算机上进行此手动处理,我希望维护一个中央服务器,其中包含最新版本的应用程序,并且无论何时需要安装或更新只需在客户端PC中键入命令,就像我们在CentOS和Ubuntu中使用安装软件一样
在Ubuntu中
sudo apt-get install vlc
并在Cent OS中
sudo yum install vlc
用java编写的其中一个程序是用python编写的
我谷歌它并没有找到任何关于如何做到这一点的好的和有用的来源。 有人做了这个,或者知道如何做到这一点请帮助。
答案 0 :(得分:1)
您需要创建包以实现此目的。
Ubuntu使用Debian软件包格式,因此您可以使用Debian的New Maintainer's Guide,这是有关如何创建Debian软件包的规范教程。它假设你要将软件包上传到Debian,在你的情况下是不正确的,但这只是意味着你需要跳过文档的某些部分。
对于RPM,没有这样的文件AFAIK,但有一本书' max rpm' (不幸的是,它有点过时了),而fedora通过他们在wiki上提供的一些指导和最佳实践来增强它。由于RHEL是通过分支fedora和稳定来创建的,并且由于CentOS基于RHEL,所以Fedora的用途也适用于CentOS。
这些方法将手动创建包,这始终是最好的方法,之后会导致问题最少。但是,他们需要时间。如果您不想花时间,还有一些选项可以生成包,这将自动为您完成部分或全部工作。但就个人而言,我并不喜欢这些方法,因此不会推荐它们。
最后,另一种选择是不创建包,而是使用像puppet这样的配置管理系统来自动化部署。它甚至可以在Ubuntu和EPEL中使用。
编辑我注意到您实际上可能会询问有关创建存储库的信息。这是另一回事。有几种工具可以帮助你做到这一点;在核心,他们所做的就是为RPM包运行createrepo
,或者为debian包运行dpkg-scanpackages
。你可以自己做,或者在一个像reprepro或者恰当的工具或者某些工具中调查时间。