Chef package resource for AIX and Solaris2

my code:

package ‘unzip’ do
end.run_action(:install)

chef-client run:

  • package[unzip] action install

    ================================================================================
    Error executing action install on resource ‘package[unzip]’

    Chef::Exceptions::Package

    installp -L -d - ---- Begin output of installp -L -d ----
    STDOUT:
    STDERR: installp: option requires an argument – d
    Usage installp: Install Software: Apply Only (-a) or Apply/Commit (-ac):
    installp [-R Path] {-a | -ac[N]} [-e LogFile] [-V Number] [-d Device]
    [-bBDEIpqQSvwX] [-F | -g] [-O{[r][s][u]}] [-t SaveDirectory]
    [-z BlockSize] { FileSet [Level] … | -f ListFile | all }

xxxxx:/root # rpm -qa | grep unzip
unzip-5.51-1

why chef client trying to install package unzip even though package was already installed on server??

Because RPM is an add-on toolkit for Solaris, not a built-in? And it’s certainly not a default for AIX?

Perhaps you can say which OS is reporting the existing RPM, and do “rpm -ql unzip” to see where it actually put the binaries?

The package resource on AIX by default is used to manage BFF packages, not RPMs, as BFF is the native packaging format of software on AIX. If you want to manage RPM packages on AIX use the rpm_package resource.