packaging supermicro ipmiview / debian
Do you want to quickly deploy SuperMicro ipmiview
on your desktop?
IPMI is a specification for monitoring and management of computer hardware. Usually this is used for accessing servers in a data center when the regular remote login is not available. Think: hard rebooting a stuck machine, specifying the full disk encryption password at boot time, logging onto a machine where the remote login (ssh daemon) has disappeared.
The SuperMicro IPMI devices have an embedded webserver, but it
requires Java to access the console. And setting up a working Java
accessible from your browser is a pain in the behind. Luckily
SuperMicro also offers a precompiled/packaged ipmiview
tool that
works out of the box. Unfortunately they don’t provide a nice
Debian/Ubuntu package for it.
But we can do that last bit ourselves, using the following recipe.
Step #1: Download
IPMIView_2.12.0_build.160804_bundleJRE_Linux_x64.tar.gz
. Save it as
ipmiview_2.12.0+build160804.orig.tar.gz
. Fetch it from the SuperMicro
site:
https://www.supermicro.com/products/nfo/SMS_IPMI.cfm
Step #2: Download
ipmiview_2.12.0+build160804-1~all.debian.tar.xz
Sha256: 3ee49e13236706bec4c504c94a45a56942e9f4aef86b0de8ae6f9c272bc0c889
Step #3: Untar, patch, build:
$ tar zxf ipmiview_2.12.0+build160804.orig.tar.gz
$ cd IPMIView_2.12.0_build.160804_bundleJRE_Linux_x64/
$ tar xf ../ipmiview_2.12.0+build160804-1~all.debian.tar.xz
$ dpkg-buildpackage -us -uc -sa
The debian.tar.xz contains a debian/
directory with the appropriate
rules to build the package. The call to dpkg-buildpackage
does the
building.
Note that the dpkg-deb
“building package ‘ipmiview’” step takes some
time.
Afterwards, you’ll have these files:
$ ls -l ../ipmiview_*
-rw-r--r-- 1 user user 1741 okt 25 14:41 ../ipmiview_2.12.0+build160804-1~all_amd64.changes
-rw-r--r-- 1 user user 72607368 okt 25 14:41 ../ipmiview_2.12.0+build160804-1~all_amd64.deb
-rw-r--r-- 1 user user 1536 okt 25 14:39 ../ipmiview_2.12.0+build160804-1~all.debian.tar.xz
-rw-r--r-- 1 user user 957 okt 25 14:39 ../ipmiview_2.12.0+build160804-1~all.dsc
-rw-r--r-- 1 user user 91078080 okt 25 12:19 ../ipmiview_2.12.0+build160804.orig.tar.gz
Step #4: You can now install the
ipmiview_2.12.0+build160804-1~all_amd64.deb
using dpkg -i
or through
your own APT repository.
Observe that the configuration files in /opt/ipmiview
are
world-writable(!) files:
$ ls -l /opt/ipmiview/*.properties
-rwxrwxrwx 1 root root 91 okt 25 14:40 /opt/ipmiview/account.properties
-rwxrwxrwx 1 root root 0 okt 25 14:40 /opt/ipmiview/email.properties
-rwxrwxrwx 1 root root 37 okt 25 14:40 /opt/ipmiview/IPMIView.properties
-rwxrwxrwx 1 root root 0 okt 25 14:40 /opt/ipmiview/timeout.properties
The config will be untouched when uninstalling ipmiview
, so you won’t
lose your precious list of hosts.