puppet來管理檔案和軟體包

2022-02-01 08:47:43 字數 2013 閱讀 2528

puppet來管理檔案和軟體包

1 exec的使用,可以執行shell命令

為配置檔案新增配置,指示寫了關鍵部分,其他配置省略沒寫

**示例如下:

[root@pup manifests]# cat wenjian.pp 

class

motd::wenjian}"

enable-ip-conntrack":

file => "

/etc/modules",

line => "

ip_conntrack",

}}

客戶端過程如下

ip_conntrack

' >> '

/etc/modules

']/returns: executed successfully

2 notice: finished catalog run in

1.37 seconds

view code

2時時保持檔案內容的更新

使用 exec 資源將若干配置片段串接成乙個檔案,示例如下,稍微複雜點

1 首先建立/etc/puppet/modules/admin/manifests/rsyncdconf.pp檔案

2class

admin::rsyncdconf

67 exec

11 }

然後別忘記在init.pp檔案包含這個類,接著

2class

3include admin::rsyncdconf #包含上邊剛建立的類

45 file 11}

接著在file裡面建立檔案

comment = data for

list =no

read only =no

在客戶端測試

1 notice: /stage[main]/admin::rsyncdconf/file[/etc/rrp]/ensure: created

'd85e5aa28aca2faf3e32b98e96b405e4

'4 notice: /stage[main]/admin::rsyncdconf/exec[update-rsyncd.conf]: triggered '

refresh

'from

1events

5 notice: finished catalog run in

2.04 seconds

view code

說明下(notify => exec["update-rsyncd.conf"]只要 /etc/rrp 目錄中有乙個配置片段被更新,exec 資源就會執行一次

上面的說法也可以應用到 apache 的 conf.d 目錄或 php 的 php-ini.d 目錄

2原始碼包編譯安裝的構建(常用)

使用puppet完成以下步驟

解壓原始碼包

配置(configure)並構建(build)程式

安裝已構建的程式

如下例項:

class

exec }

說明如下:

exec 命令被 && 運算子分割成了五個階段。也就是說每個階段的命令若執行失敗, 整個命令將會失敗且停止執行。 當你想確保每個子命令都成功執行之後才執行下乙個子命令時,這是一種有用的構造方法。

creates =>"/usr/local/discuz_x3.2_sc_gbk",

由於這是乙個漫長的過程,你不想每次執行 puppet 時都執行它,我們指定了乙個條件, 即被建立的檔案是否存在,存在的話麼就不在執行,無論出於任何原因,如果需要重建,你可以刪除此檔案。

logoutput =>on_failure

錯誤並非只發生在首次編譯的情況。在出現問題時,我們指定了 logoutput 引數, 它將為我們顯示編譯或構建過程中的出錯資訊

最後,因為編譯過程可能會持續一段時間,所以將 timeout 引數設定成了 0 (預設情況下,puppet 執行 exec 命令 5 分鐘後就會超時)

最後一點

軟體包的管理

軟體包管理 1 使用rpm命令安裝 解除安裝 更新ntp 0.7.12x86 64.rpm軟體包?root magedu rpm ivh ntp 0.7.12x86 64.rpm.rpm root magedu rpm e ntp 0.7.12x86 64.rpm root magedu rpm u...

rpm RPM軟體包的管理。

引數 a 查詢所有套件 b 完成階段 套件檔 或 t 完成階段 套件檔 設定包裝套件的完成階段,並指定套件檔的檔名稱 c 只列出組態配置檔案,本引數需配合 l 引數使用 e 套件檔 或 erase 套件檔 刪除指定的套件 f 檔案 查詢擁有指定檔案的套件 h或 hash 套件安裝時列出標記 i 套件...

8 1 軟體包的管理

軟體包的型別 rpm二進位製包 已經使用gcc編譯後的 tar原始碼包 需要編譯 rpm概述 rpm是rpm package manager rpm軟體包管理器 的縮寫,這一檔案格式名稱雖然打上了redhat的標誌,但是其原始設計理念是開放式的,現在包括openlinux suse以及turbo l...