Putting Oracle Database in a deb package for ubuntu

While at Haydrian we began toying a bit with Oracle database. Using Ubuntu a debian package was needed but Oracle has it’s own out of control installer that’s gui based. I’m not an Oracle DBA, so this was a learning experience. I couldn’t find deb’s out there, so I wrote a build system to make one in a cheating way. This is in no form ready for public use, but it’s a great place to start if you want to put Oracle in a deb.

Grab the tar file here Basically you need to take a build box that’s clean and run the build.sh there. You’ll need to either have the oracle archive ready locally or on a server, see build.sh before you run it. It’ll check for dependencies and try to make an install, then package it up. It won’t pass a lintian check or anything at all. it doesn’t meet any LSB shit. It’s a mess. but it was working for us best as anyone could tell me.

the build shell runs a few python scripts that poke around that box and try to ensure it meets the requirements that oracle presents in the lengthy install document. It builds some trees, then runs the oracle installer headless in a preseed/unattended mode. Note that the install is big, a couple of gigs. You’ll need more than that because of the hacked up way I stuff it into a deb.

A former coworker said there is something better out there than when I last looked. Maybe he’ll comment and add it. Anyways, ask me any questions. I got permission to GPL all of this, so feel free to do something decent with it. There’ll be proprietary configurations in there (like the non-FSB directory trees). I figure at this point it’s best it’s just out there, as I don’t have the time or the desire to work with it.

2 thoughts on “Putting Oracle Database in a deb package for ubuntu

  1. benjamin

    So your deb simply runs the oracle installer in headless mode? uhm why do u need the deb then? easier to uninstall upgrade etc. is that it? Why not just have the deb copy the binarys etc from an existing i386 install sumwhere and have any conf file changes needed be done via scripts in the debian directory?

  2. btm


    Actually the python build script installs oracle on the local machine in headless mode mostly automatically. Then it copies (tars) it all to a deb build directory and runs dpkg-deb or such (I forget) to build a deb from the binaries.

    The oracle installer even in headless mode is pretty difficult to work around in an automated way. The first problem being that when you start it, it forks. This didn’t sound fun to mess with.

    In the end, it was needed in a deb for version tracking, upgrades, testing, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.