A. To list the package specific scriptlet(s) that are used as part of the installation and uninstallation processes pass --scripts option to rpm command. You also need to specify the following options:
-q option : Query option
-p option : Query an (uninstalled) package PACKAGE_FILE. The PACKAGE_FILE may be specified as an ftp or http style URL, in which case the package header will be downloaded and querie).
General syntax for uninstalled foo.rpm file
$ rpm -qp --scripts foo.rpm
Find out Installation / Uninstallation scripts inside the rpm file called monit-4.9-2.el5.rf.x86_64.rpm:
$ rpm -qp --scripts monit-4.9-2.el5.rf.x86_64.rpm
Sample output:
warning: monit-4.9-2.el5.rf.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
preinstall scriptlet (using /bin/sh):
if ! /usr/bin/id monit &>/dev/null; then
/usr/sbin/useradd -M -r -d /var/lib/monit -s /bin/sh -c "monit daemon" monit || \
logger -t monit/rpm "Unexpected error adding user \"monit\". Aborting installation."
fi
postinstall scriptlet (using /bin/sh):
/sbin/chkconfig --add monit
preuninstall scriptlet (using /bin/sh):
if [ $1 -eq 0 ]; then
service monit stop &>/dev/null || :
/sbin/chkconfig --del monit
fi
postuninstall scriptlet (using /bin/sh):
/sbin/service monit condrestart &>/dev/null || :
if [ $1 -eq 0 ]; then
/usr/sbin/userdel monit || logger -t monit/rpm "User \"monit\" could not be deleted."
fi
General syntax for installed httpd package
$ rpm -q --scripts httpd
Sample output:
preinstall scriptlet (using /bin/sh):
# Add the "apache" user
/usr/sbin/useradd -c "Apache" -u 48 \
-s /sbin/nologin -r -d /var/www apache 2> /dev/null || :
postinstall scriptlet (using /bin/sh):
# Register the httpd service
/sbin/chkconfig --add httpd
preuninstall scriptlet (using /bin/sh):
if [ $1 = 0 ]; then
/sbin/service httpd stop > /dev/null 2>&1
/sbin/chkconfig --del httpd
fi
No comments:
Post a Comment