Chef

廚師食譜 - 當您不知道確切的包名稱時刪除包

  • July 30, 2015

我知道包資源,我正在努力解決的是如何找到確切的包名稱?由於在不同的節點會有不同版本的作業系統,如何編寫一個配方來為所有人解除安裝特定的包?

例如 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就足夠了。

包名稱在很大程度上在不同版本之間相當一致。

因此,不足之處是您需要花一些時間學習相關的包管理器,因為刪除包可能不會影響其他需要它作為依賴項的已安裝包。

引用自:https://serverfault.com/questions/709514