Chef
廚師食譜 - 當您不知道確切的包名稱時刪除包
我知道包資源,我正在努力解決的是如何找到確切的包名稱?由於在不同的節點會有不同版本的作業系統,如何編寫一個配方來為所有人解除安裝特定的包?
例如 NFS
您無需根據架構、版本和更新檔級別指定確切的包名稱。您只需要知道包名稱和底層包管理器將處理其餘部分。
因為我現在手頭只有一個 CentOS 6 機器可以玩:
rpm -qa | grep php # OR similar: yum list installed |grep php php-5.3.3-40.el6_6.x86_64 php-common-5.3.3-40.el6_6.x86_64 php-cli-5.3.3-40.el6_6.x86_64 php-pear-1.9.4-4.el6.noarch php-pecl-apc-3.1.9-2.el6.x86_64 php-devel-5.3.3-40.el6_6.x86_64
列出每個安裝的包並過濾 php.ini 文件。然後顯示包資訊
yum info
yum info php-pecl-apc-3.1.9-2.el6.x86_64 Installed Packages Name : php-pecl-apc Arch : x86_64 Version : 3.1.9 Release : 2.el6 Size : 318 k Repo : installed From repo : base Summary : APC caches and optimizes PHP intermediate code URL : http://pecl.php.net/package/APC License : PHP Description : APC is a free, open, and robust framework for caching and optimizing PHP : intermediate code.
然後在 Chef 中使用它,包名
php-pecl-apc
就足夠了。包名稱在很大程度上在不同版本之間相當一致。
因此,不足之處是您需要花一些時間學習相關的包管理器,因為刪除包可能不會影響其他需要它作為依賴項的已安裝包。