For some reason, dataprotector agents are released as an ISO image, with a +3000 lines shell script omnisetup.sh.
sudo ./omnisetup.sh -server myserver.myorg.es -install da
This lengthy script install dataprotector clients or server in several architectures:
-
osf1
-
hp-ux
-
SunOs and Solaris
-
AIX,
-
Linux x86, linux ia64
-
sco_sv
-
Darwin
-
PowerPC
For linux, it relays con rpm configuration. For Debian, the way to go would be alien.
Packages needed for Dataprotector agents (DA):
The only packages that are needed for the agents are:
-
OB2-TS-CORE-A.09.00-1.x86_64
-
OB2-CORE-A.09.00-1.x86_64
-
OB2-DA-A.09.00-1.x86_64
So, our first and naive aproach was a conversion with Alien and install them via dpkg -i.
for RPM in *.rpm; do sudo alien -c -k -d --fixperms $RPM; done
This led to an error as this three packages couldn’t be installed because we lacked some util called omnicc.
At this point, I tried running omnicc with bash -x, so that I could see what the long omnisetup was trying to do in my Debian machine.
bash -x ./omnisetup.sh -server myserver.myorg.es -install da
And then I noticed that, though only the above packages were installed, some others were uncompressed and used:
rpm2cpio /usr/local/share/Software_HP_DP_9.00_for_Linux_TD586-15021/linux_x86_64/DP_DEPOT/OB2-CORE-IS-A.09.00-1.x86_64.rpm
cpio -id ./opt/omni/databases/utils/gpl/x86_64/linux-x86-64/utils.tar
cp ./opt/omni/databases/utils/gpl/x86_64/linux-x86-64/utils.tar .
(...)
rpm2cpio /usr/local/share/Software_HP_DP_9.00_for_Linux_TD586-15021/linux_x86_64/DP_DEPOT/OB2-TS-CFP-A.09.00-1.x86_64.rpm
cpio -id ./opt/omni/databases/vendor/ts_core/gpl/x86_64/linux-x86-64/A.09.00/packet.Z
PacketFullPath=/tmp/omni_tmp/opt/omni/databases/vendor/ts_core
/gpl/x86_64/linux-x86-64/A.09.00/packet.Z
(...)
rpm2cpio /usr/local/share/Software_HP_DP_9.00_for_Linux_TD586-15021/linux_x86_64/DP_DEPOT/OB2-DAP-A.09.00-1.x86_64.rpm
cpio -id ./opt/omni/databases/vendor/da/gpl/x86_64/linux-x86-64/A.09.00/packet.Z
PacketFullPath=/tmp/omni_tmp/opt/omni/databases/vendor/da/gpl/x86_64/linux-x86-64/A.09.00/packet.Z
(...)
At this point, I decided to stick to rpm installation, and use the omnisetup.sh script.
These are the files from the ISO image that we need to distribute to our Debian machines:
linux_x86_64
│ ├── DP_DEPOT
│ │ ├── gpg-hpPublicKey.pub
│ │ ├── OB2-CFP-A.09.00-1.x86_64.rpm
│ │ ├── OB2-CORE-IS-A.09.00-1.x86_64.rpm
│ │ ├── OB2-DA-A.09.00-1.x86_64.rpm
│ │ ├── OB2-DAP-A.09.00-1.x86_64.rpm
│ │ ├── OB2-TS-CFP-A.09.00-1.x86_64.rpm
│ │ ├── OB2-TS-CORE-A.09.00-1.x86_64.rpm
│ │ └── OB2-TS-CS-A.09.00-1.x86_64.rpm
│ ├── scripts_linux_x86_64
│ │ ├── verify_gpg_lnx.sh
│ │ └── verify_gpg_lnx.sh.sig
│ └── SIG
│ └── DP_DEPOT
│ ├── OB2-CFP-A.09.00-1.x86_64.rpm.sig
│ ├── OB2-CORE-IS-A.09.00-1.x86_64.rpm.sig
│ ├── OB2-DA-A.09.00-1.x86_64.rpm.sig
│ ├── OB2-DAP-A.09.00-1.x86_64.rpm.sig
│ ├── OB2-TS-CFP-A.09.00-1.x86_64.rpm.sig
│ ├── OB2-TS-CORE-A.09.00-1.x86_64.rpm.sig
│ └── OB2-TS-CS-A.09.00-1.x86_64.rpm.sig
├── LOCAL_INSTALL
│ └── omnisetup.sh
├── Readme.txt
Manual installation:
apt-get install -y liblua5.1-0 xinetd rpm2cpio rpm
sudo ./omnisetup.sh -server myserver.myorg.es -install da
Reconfigure xinetd to serve omni
cat /etc/xinetd.d/dataprotector
omni stream tcp nowait root /opt/omni/lbin/inet inet -log /var/opt/omni/log/inet.log
Puppet installation
I am proud to present my own dataprotectoragent puppet module to avoid manual installation of this agent
puppet module install esterniclos-dataprotector agent
class {"dataprotectoragent":
dataprotectorserver => "dataprotector.my.com",
}
Available from
Troubleshooting
During this project, I encountered The package needs to be reinstalled, but I can’t find an archive for it error, and, luckily, IhaveaPC awesome tutorial to get rid of it.