我有一个大的Java企业应用程序需要输出rpm和deb包。 目前这意味着我们在两个不同的框中构build应用程序,一个使用CentOS,另一个使用Ubuntu 10.04。 在一个理想的世界中,我可以运行这两种系统的构build,并通过一次性生成rpm和deb包装。 这可能吗?
保留几台CentOS / RH 5服务器的最佳方式是保持同一套RPM? 也就是说,当我使用通用的YUM存储库安装或更新其中一个RPM时,使其他服务器更新/安装它。 保持一切从仓库更新到最新版本不是一个选项。
我是开发者的新手,我一直在努力将一个Python应用程序打包成一个RPM(使用python setup.py bdist_rpm),通过Yum部署到一个centos VM上。 厨师是用来pipe理虚拟机。 Python应用程序将在virtualenv中运行,作为持续部署过程的一部分。 如果RPM是智能且独立的,那么执行诸如创build/启动virtualenv环境,pip-安装所需的依赖关系,然后最终configuration一个init进程(在这种情况下启动virtualenv的uwsgi REST服务器进程)? 或者,如果Chef食谱pipe理构buildvirtualenv和pip安装依赖项,RPM自己做一个简单的“python setup.py install”来将我的Python模块加载到virtualenv的pythonX.Y / site-packages文件夹中? “yum install / reinstall”调用(通过自动化进程)的后续操作可以适用于这两种方法,但前者需要更复杂的RPM,这可能不是“最佳实践”,是正确的吗? 前者确实允许一个独立的安装,以后可以更干净地删除,并更好地分离开发人员(Python)和dev-ops(厨师)之间的关注。 请告知什么是“典型”完成。
运行Centos 7(各种版本) 我的服务器上的rpm数据库不断被破坏。 似乎每几个星期我都要在一台或两台服务器上进行一次rpm重build。 我应该在哪里看看可能是什么罪魁祸首? 我知道如何解决这个问题时,但我怎么能确定,如果这是我正在安装一个特定的软件包,或者如果有什么事情触发这个?
看起来GlassFish项目本身不提供RPM包,JPackage( http://jpackage.org/ )也没有。 其他人是否正在为RHEL / CentOS提供现成的RPM软件包? 相关说明:为什么GlassFish v3的RPM软件包显着丢失? 别人用包装系统来安装吗?
在openSUSE 11.1我下载,编译并安装ImageMagick : wget ftp://…/pub/graphics/ImageMagick/ImageMagick-6.7.7-0.zip unzip ImageMagick-6.7.7-0.zip cd ImageMagick-6.7.7-0 ./configure –prefix=/usr/local/ImageMagick make make install 一切都很好,直到我发现JPG不支持: identify -list format | grep -i jpg [nothing related to JPG returned] 所以我重新configuration和重新编译使用: ./configure –prefix=/usr/local/ImageMagick –with-jpeg=yes –with-jp2=yes make make install 但是这并没有改变。 我最终卸载: make uninstall 并通过zypper安装: zypper install ImageMagick 这个安装的版本6.4.3,现在它支持JPG: identify -list format | grep -i jpg JPG* JPEG rw- Joint […]
我负责pipe理我的合同工作中的Centos 7盒子。 我真的更像一个开发人员,而不是一个Linuxpipe理员,所以请忍受我,也许试图解释这个给我像我5。 我们正在开发的一个应用程序需要一个名为pdftk的应用程序。 不幸的是,它的依赖是libgcj。 我读到,libgcj被认为是弃用的,不再用新的Centos 7“发布”。 所以,我这样做了: wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libgcj-4.4.7-11.el6.x86_64.rpm wget https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-2.02-1.el6.x86_64.rpm rpm -ivh –nodeps libgcj-4.4.7-11.el6.x86_64.rpm yum install pdftk-2.02-1.el6.x86_64.rpm 现在yay pdftk工作。 但是,我一直在阅读,并确定这是一个坏主意。 没有理由为什么这是一个愚蠢的事情。 那么谁能说出为什么我不应该这样做呢? 或者,也许给我一些build议或采取预防措施,我现在应该采取? 我害怕重启服务器或安装更新,直到我知道这不会打破我们的箱子。 先谢谢你。
我想打包一个从git获得的ruby程序到RPM包中。 我有我的处置build立服务器和生产服务器(相同的OS /相同的拱门)。 作为大多数ruby项目,我的确有gem依赖项。 我发现了两种做我想做的方法,我想知道哪一个是最好的 – 最unix / linux的哲学 – 操作明智 在生产服务器上捆绑较less 第一个(对我来说看起来更好)是做一个bundle install –standalone –deployment –path %{buildroot}/usr/lib/rubygems/1.8/gems/ –binstubs %{buildroot}/usr/lib/rubygems/1.8.bin 。 这将在要部署.rpm的服务器上的gem系统path上安装gem,不需要安装bundle。 在哪里我不确定,是什么时候我会安装其他转速与相同的gem会发生什么? 当我用两个软件包共享的gem移除一个软件包时发生了什么? 在生产服务器上捆绑 bundle install –deployment命令将直接在项目本身中进行。 这样一切都可以在vendor/目录中find。 在线上,我可以看到一些有关供应商一切政策的文章,但这似乎并不正确,因为大量的gem将会被复制。 由于我没有一个ruby背景,我不知道它可以有什么确切的利弊 如果有人已经做了类似的事情,你要采取哪种方式? 什么 – 操作明智 – 是最好的呢?
情况:我试图build立一个自定义的rpm来放置一个configuration文件在一个特定的位置。 通过将configuration文件放在适当的目录中,安装完成,但%post部分不起作用。 这部分呼应用户input并“读取”它。 这个读取的值将被放置在这些configuration文件的'sed'的帮助下。 问题: '阅读'不工作在%post部分,即。 安装过程不会等待用户提供input。 它基本上通过将文件放置在目录中来完成安装。 简而言之,%post部分不是为用户提供input的交互。 请参阅这里的SPEC文件: http : //pastebin.com/5BgkJUpG 。 这将有助于得到这个想法。 我写了上面的%post部分的完全相同的行,用于构build一个.deb包的“postint”部分,它在那里工作得很好。 安装deb软件包的用户能够进行input,并且这个给定的值被放置在configuration文件中'sed'。
我试图build立一个RPM,但供应商的源文件在文件名中有一个空格,似乎没有任何好办法来逃避文件名,以便build立。 我试过在空间前放一个\ 我试过用%20replace它们。 我试了+ 。 我试过把它放在周围,我试过了。 现在,我正在通过重新命名供应商的源文件来解决这个问题,但没有空格,但我更愿意尽可能保留原始供应商的源文件名。 没有逃脱或引用,我得到: + unzip …/Foo Bar.zip unzip: cannot find or open …/Foo, …/Foo.zip or …/Foo.ZIP. 用\ ,解压缩工作,但是: error: Bad file: …/Foo\ Bar.zip: No such file or directory 这里是一个function齐全的test.spec文件(我没有zip "Foo Bar.zip" test.spec来获得一个zipfile文件): Summary: Test Name: test Version: 1 Release: 1 License: Whatever URL: http://www.example.com/ Source1: Foo Bar.zip %description Just a […]