GlassFish V1 in Ubuntu: Installation Steps, package information and Trivia

By now, you must have seen the tons of blogs about Java Stack in Ubuntu Feisty Fawn. It surely is a exciting day for me as I spent the last couple of months getting the GlassFish bits delivered into Ubuntu.
It has been a learning experience for me as I had never done any packaging work for any operating system (let alone Ubuntu).

The whole process started for us in late november at the Ubuntu Developer summit held in Mountain View. We were just exploring the packaging process at that particular time and work started in true earnest after the december break. We had to first make our GlassFish packaging module open source(packager-ext). This module was not open source - not because we did not want to, but we never got to it amongst other release commitments. Modifying our packaging structure to generate the bits for GlassFish turned out to be a lot more work than we anticipated.

Package Descriptions

We now deliver 4 packages called glassfish, glassfish-bin, imq and sunwderby into Ubuntu Multiverse

  • Glassfish package has pretty much all the glassfish packages.
  • Glassfish-bin has some binary (architecture dependent) components (for e.g. we need to have binary components to actually mask passwords entered on the screen - this functionality is not present in JDK 5 but is present in JDK 6).  Thus, the packages that you install work for i386 architecture today. Subsequent releases should work of JDK 6 and we will get rid of this binary package. Those who want to run on other architectures can still get the bits from the GlassFish home page.
  • Imq is Sun's Messaging Queue Product that GlassFish uses for messaging.
  • Sunwderby is a derby database package. We included this package as this is the derby release that GlassFish V1 had been tested end to end. 

 GlassFish depends on JDK 5 for installation. The reason was for this dependency was that GlassFish V1 has been fully tested and certified with JDK 5. We had released the V1 URI bits in November and these bits have been delivered into Feisty. Another reason for the delivery was  the extremely short release cycle and JDK 6 work was happening in parallel. This would have meant adding additional dependencies.

You can still go ahead and modify the configuration scripts to use this with JDK6.

Installation Instructions:

1. Make sure multiverse is a component declared in /etc/apt/sources.list

2. sudo apt-get install glassfish. Accept the license and glassfish, glassfish-bin, imq and sunwderby will be installed under /usr/share/sunappserver. Domains will be installed under /var/lib/sunappserver.

If you want to install domains under your home directory - there is a convenience script called /usr/bin/asadmin that will help you. It is recommended that you still use the /usr/share/sunappserver/bin/asadmin script to manage your installation.

Here is the snapshot of Synaptic package manager for GUI installation:

People Involved:

As with any release there are too many people to name who made this possible. Among the ones I can list are Anil Gaur, Abhijit Kumar who have supported and nurtured this from the beginning. Larry Freeman for writing some of the early packaging code, Prasad Subramanian for helping open source packager-ext module, Carla Carlson for program management, Ann Hillesland for documentation, Terena Chinn-Fujii for release management, Sathyan Catari, Sreeram and his group for testing. Tom Marble for his help in almost everything! Barton George, Ken Drachnik. Jeff Bailey, Daniel Holbach, Colin Watson and Etienne Goyer from Ubuntu.

Other Information

You can attend a Java One Talk about this on May 8th. Here is the session information

JavaOne Session

  • Session: TS 7361 Packaging Java Applications for Ubuntu
  • Speakers: Jeff Bailey (Ubuntu) and Harpreet Singh (Sun Microsystems)
  • Time: 3:20 PM, May 8th
  • Location: Esplanade 305, Moscone Center.

CommunityOne Day 

You can also attend the CommunityOne day for GlassFish on May 7th and hear about this. CommunityOne day is free and you can find registration information here.

Press Releases


Congratulations, Harpreet! This is really great news for Sun. -Larry

Posted by Larry Freeman on April 19, 2007 at 09:56 AM PDT #

Hi Harpreet, How deep is Sun involved in packaging things for Ubuntu and RPM, what is the link with JPackage ? Looks like Java 1.6 on Linux is still a bit new or is it that Java Programs (for example GlassFish is "still" not fully tested o Java 1.6) in general that aren't ready ? Thanks Bruno PS : is the math question still efficient for spam ?? Askimet is much better in my experience.

Posted by Bruno on April 22, 2007 at 09:41 PM PDT #

Bruno, We have been deeply involved with Ubuntu folks to release GlassFish, JDK 6 and Netbeans into Ubuntu. JDK 6 has made it into Ubuntu in Feisty Fawn and it is a new package. GlassFish works with JDK 6. While we were making our delivery into Ubuntu - we were in process of verifying that. GlassFish v1 had gone through that cycle with JDK 5 and it is just how the dates lined up for us when we made our delivery. Thanks Harpreet

Posted by Harpreet on April 23, 2007 at 05:13 AM PDT #

How do I install GlassFish as a service? I had hoped this would happen automatically with apt-get.

Posted by Cay Horstmann on May 29, 2007 at 03:08 AM PDT #

I inadvertently did something stupid and then tried uninstalling and reinstalling GlassFish. Here is what I get:
Start processing at    Tue May 29 10:54:01 2007

/bin/sh /usr/share/sunappserver/config/install/appservenv /usr/share/sunappserver/config /usr/share/sunappserver
Starting appservenv
cat /usr/share/sunappserver/config/install/filelistb | sh /usr/share/sunappserver/config/install/i.appservenv
for i in /usr/share/sunappserver/bin/asadmin /usr/share/sunappserver/bin/asant /usr/share/sunappserver/bin/appclient /usr/share/sunappserver/bin/capture-schema /usr/share/sunappserver/bin/jspc /usr/share/sunappserver/bin/package-appclient /usr/share/sunappserver/bin/verifier /usr/share/sunappserver/bin/uninstall
chmod 755 /usr/share/sunappserver/bin/asadmin
chmod 755 /usr/share/sunappserver/bin/asant
chmod 755 /usr/share/sunappserver/bin/appclient
chmod 755 /usr/share/sunappserver/bin/capture-schema
chmod 755 /usr/share/sunappserver/bin/jspc
chmod 755 /usr/share/sunappserver/bin/package-appclient
chmod 755 /usr/share/sunappserver/bin/verifier
chmod 755 /usr/share/sunappserver/bin/uninstall
/bin/sh /usr/share/sunappserver/config/install/asenv /usr/share/sunappserver/config /usr/share/sunappserver /usr/share/sunappserver /usr/lib/jvm/java-1.5.0-sun
ASCONFIG_HOME = /usr/share/sunappserver/config
CLIENT_BASEDIR = /usr/share/sunappserver
cat /usr/share/sunappserver/config/install/filelista |sh /usr/share/sunappserver/config/install/i.asenv
/usr/share/sunappserver/config/asenv.conf preserved
/usr/share/sunappserver/bin/wsimport preserved
/usr/share/sunappserver/bin/wsgen preserved
/usr/share/sunappserver/bin/xjc preserved
/usr/share/sunappserver/bin/schemagen preserved
/usr/share/sunappserver/bin/asapt preserved
/usr/share/sunappserver/bin/wscompile preserved
/usr/share/sunappserver/bin/wsdeploy preserved
for i in /usr/share/sunappserver/config/asenv.conf
chmod 755 /usr/share/sunappserver/config/asenv.conf
chmod 755 /usr/share/sunappserver/bin/wsimport
chmod 755 /usr/share/sunappserver/bin/wsgen
chmod 755 /usr/share/sunappserver/bin/xjc
chmod 755 /usr/share/sunappserver/bin/schemagen
chmod 755 /usr/share/sunappserver/bin/asapt
chmod 755 /usr/share/sunappserver/bin/wscompile
chmod 755 /usr/share/sunappserver/bin/wsdeploy
Using default port 7676 for JMS.
Using default port 3700 for IIOP.
Using default port 8181 for HTTP_SSL.
Using default port 3820 for IIOP_SSL.
Using default port 3920 for IIOP_MUTUALAUTH.
Using default port 8686 for JMX_ADMIN.
CLI130 Could not create domain, domain1
Failed to create domain.
dpkg: error processing glassfish (--configure):
 subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)
Where would I turn for help?

Posted by Cay Horstmann on May 29, 2007 at 03:57 AM PDT #

[Trackback] Esta semana ya se comenzo el trabajo con el Sistema de Informacion Geografico, por tal motivo instale el mapserver.Se instalo lo basico utilizando el comando :sudo apt-get install mapserverAdicionalmente y para dar soporte a las aplicaciones desarrol...

Posted by Blog del Servidor de Proyectos on July 31, 2007 at 11:00 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed



« June 2016