Installing the Latest Patch on Linux

Percussion CM1 version 5.3 or greater support a Patching mechanism to apply updates and defect corrections to CM1 servers between releases.  Patches are cumulative and specific to the release of CM1.  After completing a CM1  or Delivery Tier Server (DTS)installation using the product installer, customers should check the Page for that version on the support portal for any available Patches.   The Current Patch Level section of the Release Download Page will contain the latest Patch available for download.  If no Patch is listed, there is no Patch available for the given release. 

There are 3 files for each Patch download:

Read Me File - This file contains the Patch installation instructions, and a list of the issues addressed included the Patch.

Patch Archive  - This Zip archive contains the Patch itself.

Patch MD5 Checksum - This is an MD5 checksum of the Patch Archive that can be used to optionally verify the patch zip file for file corruption after download.

When installing a Patch, if the Production DTS or Staging DTS is installed in the same directory as Percussion CM1, then all components will be updated when the patch is installed.   If the DTS or Staging DTS is installed in another directory, or on another server (such as the Web Server), then the Patch must be applied to the DTS as well as the CM1 server.

Step by Step Patch Installation Instructions - Linux 

  1. Create the Patch directory if it does not exist "mkdir <PercussionInstallRoot>/Patch". For example: "mkdir /home/percussion/Percussion/Patch" or "mkdir /opt/Percussion/Patch"
  2. Extract <Patch Download File>.zip into<PercussionInstallRoot>/Patch. For example, if Percussion is installed to /opt/Percussion,  you would unzip the Patch to /opt/Percussion/Patch.e.g. "unzip <Patch Download File>.zip /opt/Percussion/Patch/" This will leave three files: <Patch Number>.zip, InstallToolkit.zip, and the Readme.txt within the Patch directory.  Select Yes to overwrite files if prompted.
  3. Unzip the newly extracted <Patch Number>.zip into the Patch directory. Make sure that when extracting, the extraction path appears as: <PercussionInstallRoot>/Patch/ This avoids nested directories.
  4. Unzip the patch installation toolkit zip into the InstallToolkit directory ensuring the path is: <PercussionRoot>/Patch/InstallToolkit/InstallToolkit.zip If there is an existing InstallToolkit directory in this directory, you may overwrite it. Example:  "cd <InstallDir>/Patch/;mv InstallToolkit.zip InstallToolkit/;cd InstallToolkit;unzip InstallToolkit" At this point, there should be the two directories: <PercussionInstallRoot>/Patch/InstallToolkit and<PercussionInstallRoot>/Patch/<Patch Version>
  5. Stop the Percussion Service using the Daemon. "cd <PercussionInstallRoot>/bin; ./RhythmyxDaemon stop ..; tail -f ../logs/AppServer/server.log" When the server log outputs the 'Shutdown Complete' message press CTRL-C to exit the tail of the log. 
  6. Change to the Percussion Patch directory.  For example "cd /opt/Percussion/Patch/<PatchVersion>" and press the enter key.
  7. Verify that the Percussion Service shutdown cleanly by running: "ps -ef | grep java" There should be no java processes listed running in the Percussion install directory.  If they are still listed - you may have a stuck service, in that case, use the "kill -9 <pid>" command to kill the stuck process.  The <pid> will be the number reported next to the java process listed by the ps command. 
  8. Once you have confirmed that Percussion is completely shut down, run the patch installation by executing the following command: "cd <PercussionInstallRoot>/Patch/<Patch Version>; chmod +x *.sh; ./install.sh" . 
  9. During the Patch installation, the following warning message will be seen in the console: "Unable to locate tools.jar. Expected to find it in <PercussionInstallRoot>/lib/tools.jar." This message is expected and can be ignored.  The Patch may fail to install if it detects lock files in the Derby database directory, if this occurs, follow the instructions that the patch displays to remove the locks.  The Patch is complete when it displays a Success message in the console. 
  10. Using the Daemon, start the Percussion Service.  "cd <PercussionInstallRoot>/bin; ./RhythmyxDaemon start ..; tail -f ../logs/AppServer/server.log" You can CTRL-C to exit the log tail once the server successfully starts.
  11. After starting CM1 for each of your web site(s) a Full Publish should be performed so that public content gets updated with new markup and JavaScript. 

Step By Step Uninstall of a Patch - Linux

If a Patch introduces an undesired or unexpected behavior in your installation, the Patch can be Uninstalled. 

  1. Connect a Terminal session. 
  2. Stop the Percussion Service using the Daemon. "cd <PercussionInstallRoot>/bin; ./RhythmyxDaemon stop ..; tail -f ../logs/AppServer/server.log" When the server log outputs the 'Shutdown Complete' message press CTRL-C to exit the tail of the log. 
  3. Change to the Percussion Patch directory.  For example "cd /opt/Percussion/Patch/<PatchVersion>" and press the enter key.
  4. Verify that the Percussion Service shutdown cleanly by running: "ps -ef | grep java" There should be no java processes listed running in the Percussion install directory.  If they are still listed - you may have a stuck service, in that case, use the "kill -9 <pid>" command to kill the stuck process.  The <pid> will be the number reported next to the java process listed by the ps command. 
  5. Once you have confirmed that Percussion is completely shut down, run the patch installation by executing the following command: "cd <PercussionInstallRoot>/Patch/<Patch Version>; ./uninstall.sh" . 
  6. During the Patch uninstall, the following warning message will be seen in the console: "Unable to locate tools.jar. Expected to find it in <PercussionInstallRoot>/lib/tools.jar." This message is expected and can be ignored.  The Patch may fail to uninstall if it detects lock files in the Derby database directory, if this occurs, follow the instructions that the patch displays to remove the locks.  The Patch uninstall is complete when it displays a Success message in the console. 
  7. Using the Daemon, start the Percussion Service.  "cd <PercussionInstallRoot>/bin; ./RhythmyxDaemon start ..; tail -f ../logs/AppServer/server.log" You can CTRL-C to exit the log tail once the server successfully starts.
  8. All files that had been applied by the patch will be reverted upon server startup.
  9. If you have performed a Full Publish after installing the Patch, a Full Publish must be run for each site to remove any new HTML markup and JavaScript introduced by the patch.

NOTE:  It is a best practice to not run Network software as the root user on Linux system.  Typically Percusion will be configured to run under a percussion user or non root user.  After Installing or Uninstalling a Patch you should verify that the