LinuxRPM包怎么用

本篇內(nèi)容介紹了“Linux RPM包怎么用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗,為客戶提供超值的營銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個人等客戶提供了網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),以良好的商業(yè)信譽,完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。

11安裝和打包資源代理

如何將它包含在你自己的應(yīng)用包里或者Linux-HA資源代理庫里面。

11.1安裝資源代理

如果你希望在你自己的項目中包含你的資源代理,必須將其安裝在正確的位置。資源代理應(yīng)該安裝在/usr/lib/ocf/resource.d/  目錄,是你項目的名字或者其他你想用的名字。

比如,如果你的foobar 資源代理被打包成你fortytwo項目的一部分,那么其完整的路徑應(yīng)該是/usr/lib/ocf/resource.d/fortytwo/foobar。確定你的資源代理有755(-rwxr-xr-x)權(quán)限。

當(dāng)以此方式安裝了,OCF兼容的集群資源管理將會正確的定位、解析和執(zhí)行你的資源代理。比如Pacemaker集群管理會將會將上面的路徑映射為ocf:fortytwo:foobar 資源代理標(biāo)識。

11.2打包資源代理

如果你的資源代理是你的項目的一部分,你應(yīng)該注意本節(jié)提到的一些要點。

注意:

如果你希望提交你的資源代理到Linux-HA資源代理庫,可以參考11.3節(jié),提交資源代理。

11.2.1 RPM包

推薦將你的資源代理打包為RPM時,使用名字 -resource-agents。確保包可以放在provider目錄里面,并依賴上層目錄和腳本函數(shù)。一個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會認(rèn)為這是一個子包,它繼承上層的Name,Version,License等上層的內(nèi)容。Sub-packages 用上級包的名字跟著它們自己的名字構(gòu)成。這樣,上面那段代碼定義的Sub-package命名為 foobar-resource-agents(假設(shè)包的名字叫foobar)。

11.2.2 Debian包

對于Debian的包,像RPM一樣,推薦使用獨立的包來保存你的資源代理,但是又依賴于cluster-agents 包。

注意:這里假設(shè)使用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

也可以創(chuàng)建一個獨立的 .install 文件。按上面的例子,安裝foobar資源代理,為fortytwo的一個子包,debian/fortytwo-cluster-agents .install 文件應(yīng)該包含的內(nèi)容如下:

1

usr/lib/ocf/resource.d/fortytwo/foobar

11.3提交資源代理

如果不將資源代理作為自己項目的一部分,而上提交到資源代理軟件倉庫(ClusterLabsrepository on GitHub),可以遵循如下步驟。

創(chuàng)建一個上游倉庫的工作拷貝(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變量。這將自動從資源代理的元數(shù)據(jù)產(chǎn)生資源代理的手冊頁,并安裝在正確的位置。

現(xiàn)在,添加你的資源代理,和你修改的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 會以一個良好的格式組織本次的更新并提交到郵件列表。具體細(xì)節(jié)可以參考git-send-mail的手冊頁。

一旦你的提交被接受,上游開發(fā)者會講你的補丁推到上游資源庫。這個時候,你可以直接從上游庫更新,刪掉自己的補丁集。

1

2

git reset --hard origin/master

git pull

11.4維護資源代理

如果你為一個特定的資源代理,或者,你正對某一塊代碼反復(fù)貢獻,最好在GitHub上開一個分支。

如果你要這么做:

  • 創(chuàng)建一個GitHub帳號(如果你是新用戶)

  • Fork resource-agents 軟件倉庫

  • 克隆你創(chuàng)建的分支到本地工作版本

如果你開發(fā)資源代理,可以經(jīng)常提交,并早提交。你可以之后經(jīng)常通過 git rebase i 合并你的提交。

如果你做的提交希望一些人能看到,評審。將他們加入你的GitHub分支,并發(fā)送郵件到linux-ha-dev郵件列表,在郵件中指明這些人。

這些都做完之后,按照要求做了改變,你可以發(fā)出一個pull請求。有兩種辦法:

  • 你可以使用 git request-pull 應(yīng)用來獲得一個預(yù)先組織好的框架,這個框架對你所做改變做了總結(jié)。你可以增加你要的信息,并將其發(fā)送的郵件列表。最好在你的郵件主題前綴定為[GIT PULL],這樣上游開發(fā)者可以比較容易獲得信息。

  • 你也可以直接給GitHub發(fā)出請求,GitHub通過郵件自動通知上游開發(fā)者。具體細(xì)節(jié)可以查看github:help。

“Linux RPM包怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

文章標(biāo)題:LinuxRPM包怎么用
當(dāng)前地址:http://muchs.cn/article28/isjjjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器域名注冊、微信公眾號、響應(yīng)式網(wǎng)站網(wǎng)站改版、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)