puppet運維自動化之yum倉庫管理
[導讀]
系統運維人員,經常需要安裝或者升級特定的升級包,有的是自己編譯的rpm包,有的需要從官網更新,如何確保所有的服務器都是從特定的倉庫更新。
保持所有的軟件更性,維護服務器的統一性。今天就為大家介紹puppet管理yum安裝源。
[基礎]
1.什么是yum,什么是yum倉庫
yum是yellowdogupdatermodified的縮寫。yellowdog是一個Linux的distribution,RH將這種升級技術利用到自己的distribution形成了現在的yum,感覺上yum和apt的原理類似,但是apt是編譯代碼,執行效率遠高于使用python寫成的yum.yum的理念是使用一個中心倉庫(repository)管理一部分甚至一個distribution的應用程序相互關系,根據計算出來的軟件依賴關系進行相關的升級、安裝、刪除等等操作,減少了Linux用戶一直頭痛的dependencies的問題。
[puppet管理yum源]
yumrepo是puppet管理資源。通過yumrepo資源管理客戶端yum倉庫的一致性。
[yumreo基礎介紹]
yumrepo:yum客戶端倉庫描述。
[yumrepo參數介紹]
- baseurl:倉庫的url。
- descr:倉庫的描述
- enabled:是否開啟或者禁用倉庫,可設置的值為1或者0.1為開啟,0為禁用。
- enablegroups:是否可以使用yumgroup參數,如yumgrouplist,yumgroupinstall等
- exclude:排除那些軟件的安裝與更新,支持shell通配符。
- failovermethod:可設置的值為priority,roundrobin.
- gpgcheck:是否檢查倉庫中的軟件包GPG簽名,可設置的值為0或者1.
- gpgkey:倉庫的軟件包簽名,GPG密鑰的URL。
- include:包含配置url.
- includepkgs:只有匹配的軟件包才能安裝或者更新。
- keepalive:設置http/1.1選項,可設置的為0或者1.
- metadata_expire:元組數據的過期時間,單位時間為秒。
- miirorlist:倉庫的鏡像列表。
- name:倉庫名字。
- priority:優先級,可設置的是從1-99.
- protect:啟用或者禁用對這個倉庫的保護。可設置的值為0或者1.
- proxy:設置代理
[puppetyumrepo測試]
1.添加163的yum安裝源
yumrepo:{"epel5": descr=>"163repo", baseurl=>"http://mirrors.163.com/centos/5.6/os/x86_64/", gpgcheck=>"0", enabled=>"1"; }
2.在實際操作過程中我們可能會遇到,比如要安裝puppet,而puppet需要信賴某個安裝源(puppetlabs)。
package{"puppet":ensure=>installed,require=>Yumrepo["puppetlabs"]}
注意,在/etc/yum.repos.d/目錄下必須要有puppetlabs這個yum倉庫,否則安裝會失敗。
【puppetyumrepo總結】
puppet運維自動化之yum倉庫管理就介紹到這里,更多的寫法請參考文檔,或者在實際運用中有更好的例子,也可以反饋給我們。下一節為大家介紹puppet如何管理mount。