packaging supermicro ipmiview / debian

packaging supermicro ipmiview / debian

  • Written by
    Walter Doekes
  • Published on

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.


Back to overview Newer post: copy-pasting into java applications / x11 Older post: golang / statically linked