简体   繁体   中英

Custom installer package for linux/solaris

I am in the unfortunate situation where I need to deploy and upgrade packages and config files on machines with no root access and no ability to use or install a package manager. Are there any neat solutions that allow creation of custom install packages?

I am open to custom compiles of some software in a custom location on the servers if it helps the situation.

Im almost at the point where I might end up having to write my own java package management system :(

In case its relevant some further information. The installer needs to install and configure the following:

  • Apache Tomcat
  • WAR files into Apache Tomcat
  • ActiveMQ
  • Some JAR files with some corresponding Cron entries

This sounds a bit perverse. Why do you need to "deploy" Tomcat / ActiveMQ to (lots of) machines that you don't have root or sudo access to?

Anyway, I don't see the need for a custom installer to do this (* see note below).

The yum --installroot /home/whatever <package> should install <package> in a non-standard location. If you cannot use yum or whatever, you should be able to download a binary ZIP or TAR file and unpack it. And once you have installed / unpacked whatever, you can leap in and edit the configuration files using the relevant app tools ... or a text editor. Tomcat can be installed in any directory you feel like, and run using your own login account if you need. I imaging ActiveMQ is the same.

Deployment of a WAR file is simply a matter of copying it to Tomcat's webapp directory.

Creation of a cron entry is simply a matter of running the crontab(1) command.

And if you have to go through this process lots of times, you could write some shell scripts to do the repetitive work for you.

(* Note - there are a couple of possible roadblocks.

  1. You will need root/sudo access deploy a startup file for Tomcat, etc to "/etc/init.d" to get it to start automatically when the system boots. There is no easy way around this. The "/etc/init.d" directory is only writeable by root.

  2. If you want manually launch Tomcat to run on ports 80 / 443, you will need root/sudo access to launch it. Again, there is no easy way around this. Only a "root" process can listen on port numbers less that 1024.)

Take a look at InstallJammer . You can develop graphical or console-based installers for both platforms from a single project. They won't require root unless you need them to.

InstallBuilder是我们用于打包Bitnami堆栈的工具,包括Alfresco之类的Java 堆栈 ,其中包括JRE,Tomcat等,并且不需要管理员权限

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM