新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“Linux RPM包怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联公司凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了网站建设、成都做网站服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。
11安装和打包资源代理
如何将它包含在你自己的应用包里或者Linux-HA资源代理库里面。
11.1安装资源代理
如果你希望在你自己的项目中包含你的资源代理,必须将其安装在正确的位置。资源代理应该安装在/usr/lib/ocf/resource.d/ 目录,是你项目的名字或者其他你想用的名字。
比如,如果你的foobar 资源代理被打包成你fortytwo项目的一部分,那么其完整的路径应该是/usr/lib/ocf/resource.d/fortytwo/foobar。确定你的资源代理有755(-rwxr-xr-x)权限。
当以此方式安装了,OCF兼容的集群资源管理将会正确的定位、解析和执行你的资源代理。比如Pacemaker集群管理会将会将上面的路径映射为ocf:fortytwo:foobar 资源代理标识。
11.2打包资源代理
如果你的资源代理是你的项目的一部分,你应该注意本节提到的一些要点。
注意:
如果你希望提交你的资源代理到Linux-HA资源代理库,可以参考11.3节,提交资源代理。
11.2.1 RPM包
推荐将你的资源代理打包为RPM时,使用名字 -resource-agents。确保包可以放在provider目录里面,并依赖上层目录和脚本函数。一个RPM spec 代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 | %package resource-agents Summary: OCF resource agent for Foobar Group: System Environment/Base Requires: %{name} = %{version}-%{release}, resource-agents %description resource-agents This package contains the OCF-compliant resource agents for Foobar. %files resource-agents %defattr(755,root,root,-) %dir %{_prefix}/lib/ocf/resource.d/fortytwo %{_prefix}/lib/ocf/resource.d/fortytwo/foobar |
注意:
如果RPM spec 文件包含一个%package声明,RPM会认为这是一个子包,它继承上层的Name,Version,License等上层的内容。Sub-packages 用上级包的名字跟着它们自己的名字构成。这样,上面那段代码定义的Sub-package命名为 foobar-resource-agents(假设包的名字叫foobar)。
11.2.2 Debian包
对于Debian的包,像RPM一样,推荐使用独立的包来保存你的资源代理,但是又依赖于cluster-agents 包。
注意:这里假设使用debhelper制作deb包。
一个debian/control 代码例子如下:
1 2 3 4 5 | Package: foobar-cluster-agents Priority: extra Architecture: all Depends: cluster-agents Description: OCF-compliant resource agents for Foobar |
也可以创建一个独立的 .install 文件。按上面的例子,安装foobar资源代理,为fortytwo的一个子包,debian/fortytwo-cluster-agents .install 文件应该包含的内容如下:
1 | usr/lib/ocf/resource.d/fortytwo/foobar |
11.3提交资源代理
如果不将资源代理作为自己项目的一部分,而上提交到资源代理软件仓库(ClusterLabsrepository on GitHub),可以遵循如下步骤。
创建一个上游仓库的工作拷贝(a Gitclone)
1 | git clone git://github.com/ClusterLabs/resource-agents |
然后拷贝你的资源代理到你的heartbeat子目录
1 2 3 4 | cd resource-agents/heartbeat cp /path/to/your/local/copy/of/foobar . chmod 0755 foobar cd .. |
下一步,修改resource-agents/heartbeat目录下的Makefile.am文件,增加你的资源代理ocf_SCRIPTS列表。这可以保证你资源代理被正确的安装。
最后,在resource-agents/doc/man目录打开Makefile.am文件,并增加ocf_heartbeat_.7到man_MANS变量。这将自动从资源代理的元数据产生资源代理的手册页,并安装在正确的位置。
现在,添加你的资源代理,和你修改的Makefile:
1 2 3 4 | git add heartbeat/foobar git add heartbeat/Makefile.am git add doc/man/Makefile.am git commit |
提交时候的消息,最好是提供一句有意义的话。比如
1 | git send-email --to=linux-ha-dev@lists.linux-ha.org |
补丁集最好在mailing list上提供一个声明或者通知。
git send-email 会以一个良好的格式组织本次的更新并提交到邮件列表。具体细节可以参考git-send-mail的手册页。
一旦你的提交被接受,上游开发者会讲你的补丁推到上游资源库。这个时候,你可以直接从上游库更新,删掉自己的补丁集。
1 2 | git reset --hard origin/master git pull |
11.4维护资源代理
如果你为一个特定的资源代理,或者,你正对某一块代码反复贡献,最好在GitHub上开一个分支。
如果你要这么做:
创建一个GitHub帐号(如果你是新用户)
Fork resource-agents 软件仓库
克隆你创建的分支到本地工作版本
如果你开发资源代理,可以经常提交,并早提交。你可以之后经常通过 git rebase i 合并你的提交。
如果你做的提交希望一些人能看到,评审。将他们加入你的GitHub分支,并发送邮件到linux-ha-dev邮件列表,在邮件中指明这些人。
这些都做完之后,按照要求做了改变,你可以发出一个pull请求。有两种办法:
你可以使用 git request-pull 应用来获得一个预先组织好的框架,这个框架对你所做改变做了总结。你可以增加你要的信息,并将其发送的邮件列表。最好在你的邮件主题前缀定为[GIT PULL],这样上游开发者可以比较容易获得信息。
你也可以直接给GitHub发出请求,GitHub通过邮件自动通知上游开发者。具体细节可以查看github:help。
“Linux RPM包怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!