Silvertail/RSA WTD: how to extract a single binary from an rpm package (for patching)
3 years ago
Originally Published: 2014-04-23
Article Number
000065959
Applies To
RSA Silvertail

This is how to extract specific patches without a full reinstall. Find the latest major build of silvertail, and just extract the component needed:

example: 4.1.x.x can use any version higher 4.1.x.x, but not 4.6.x.x


Issue
Need to obtain a binary from a silvertail build without running the installer.
Need to extract an el5 binary while on an el6 system, or vice versa. Need a binary but cannot run the installer.
Resolution

Example: need to obtain silvertap component from version 4.1.4.0 el5, so it can be installed on a customer 4.1.1.1 system:

a) Obtain the silvertail-enterprise-4.1.4.0.el5.run package and run it.

b) It expands, and in a new subdirectory is the RPM file silvertail-enterprise-4.1.4.0-0.el5.centos.x86_64.rpm.

c) Locate the directory silvertap will extract to, [as if you were to run the installer].

rpm -qlp silvertail-enterprise-4.1.4.0-0.el5.centos.x86_64.rpm | grep silvertap

You will get this output, note the directory for silvertap:

/var/opt/silvertail/bin/nullsilvertap
/var/opt/silvertail/bin/silvertap
/var/opt/silvertail/bin/silvertap-service.sh

d) Based on the information in C, run another command to extract the Silvertap binary and use the directory:

 rpm2cpio silvertail-enterprise-4.1.4.0-0.el5.centos.x86_64.rpm | cpio -ivd ./var/opt/silvertail/bin/silvertap

./var/opt/silvertail/bin/silvertap
2938894 blocks

e) Navigate to the newly created subdirectory /var/opt/silvertail/bin and the extracted silvertap binary file will be there.