Page History
...
- Bugs, vulnerabilities and availability of patches are communicated with the SOS Change Management System.
- The article provides information about how to apply patches to the JOC Cockpit.
Display feature availability StartingFromRelease 2.5.0 - The article explains how to manually apply patches. For automated patching see JS7 - Automated Installation and Update.
...
- Patches are offered from .jar Java archive files or from .tar.gz tarball archive files.
- The same patch files are applied to Unix and Windows.
- Patch file names follow the scheme:
- Unix, Windows:
js7_joc.<release>-PATCH.API-<sequence>.<issue-key>[.<security-level>].[jar|tar.gz|jar}
- The following placeholders are used:
release
: The JS7 release number, see Releases.sequence
: Patches for a given release are assigned ascending numbers starting from 1. Patches with a higher number include any patches with lower numbers.issue-key
: The issue key in the SOS Change Management System, for example: JS-1984.security-level
: The security level applies if the patch is specific for JOC Cockpit running in one of the security levels low, medium, high. For details see JS7 - Security Architecture.
- Example:
- Unix, Windows:
js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
,js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz
- Unix, Windows:
- Unix, Windows:
- Patch .tar.gz archive files do not include a directory hierarchy.
...
Find the following examples for a patch:
Product | Type | File Extension | Patch Example Download URL | Hash | Sig | TSR |
---|---|---|---|---|---|---|
JS7 JOC Cockpit | Java archive | .jar | https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.jar | sha256 | sig | tsr |
tarball archive | .tar.gz | https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz | sha256 | sig | tsr |
The patch examples will not impact a JOC Cockpit installation and are used for instructional purposes only. For details see JS-1984.
...
Before applying patches users might want to verify the integrity and authenticity of downloaded patch files, see JS7 - Verifying releases.
...
The patch examples will not impact a JOC Cockpit installation and are used for instructional purposes only, for details see JS-1984.
Note: The JOC Cockpit has to be stopped before applying patches.
Applying Patch on Unix
Manual Patching
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# navigate to the target directory for patches cd / invoke shell and switch to the user account that owns the JOC Cockpit's data directory # navigate to the data directory for patches cd /var/sos-berlin.com/js7/joc/webapps/joc/WEB-INF/classes # verify the directory by checking if this file is available ls api-schema-version.json # download the .jar patch file curl https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.jar -O # extract the .jar file (use "jar" or "unzip" command) jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar # remove the .jar file rm js7_joc.2.2.3-PATCH.API-1.JS-1984.jar |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
# navigate to the target directory for patches cd / invoke shell and switch to the user account that owns the JOC Cockpit's data directory # navigate to the data directory for patches cd /var/sos-berlin.com/js7/joc/webapps/joc/WEB-INF/classes # verify the directory by checking if this file is available ls api-schema-version.json # download the .tar.gz patch archive curl https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz -O # extract the patch archive that includes .jar files tar -xvzfxvpozf js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz # extract theeach .jar file (use "jar" or "unzip" command) jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar # remove the .jar file and .tar.gz patch archive rm js7_joc.2.2.3-PATCH.API-1.JS-1984.jar rm js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz |
...
Automated Patching
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
@rem navigate# invoke shell and switch to the targetuser account directorythat forowns patches cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes @rem verify the directory by checking if this file is available dir api-schema-version.json @rem download from URL the JOC Cockpit's data directory # download the .jar patch file curl 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.tar.gz @rem copy from download location (could be different from this example) copy %USERPROFILE%\Downloads\jar' -O # apply patch ./js7_install_joc.sh \ --patch-jar=js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gzjar .\ @rem extract the --patch archive that includes .jar files tar.exe -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz @rem extract the .jar files (use "jar" or "unzip" command) jar -xf=JS-1984 \ --patch-key=API-1 \ --home=/opt/sos-berlin.com/js7/joc \ --data=/var/sos-berlin.com/js7/joc |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
# invoke shell and switch to the user account that owns the JOC Cockpit's data directory
# download the .tar.gz patch archive
curl 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz' -O
# apply the patch
./js7_install_joc.sh \
--tarball=js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz \
--patch=JS-1984 \
--patch-key=API-1 \
--home=/opt/sos-berlin.com/js7/joc \
--data=/var/sos-berlin.com/js7/joc |
Applying Patch on Windows
Manual Patching
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
@rem invoke shell and switch to the user account that owns the JOC Cockpit's data directory
@rem navigate to the data directory for patches
cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes
@rem verify the directory by checking if this file is available
dir api-schema-version.json
@rem download from URL https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.jar
@rem copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\js7_joc.2.2.3-PATCH.API-1.JS-1984.jar .
@rem extract the .jar file (use "jar" or "unzip" command)
jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
@rem remove the .jar file
del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
@rem invoke shell and switch to the user account that owns the JOC Cockpit's data directory
@rem navigate to the data directory for patches
cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes
@rem verify the directory by checking if this file is available
dir api-schema-version.json
@rem download from URL https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.tar.gz
@rem copy from download location (could be different from this example)
copy %USERPROFILE%\Downloads\js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz .
@rem extract the .tar.gz patch archive that includes .jar files
tar.exe -xzf js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz
@rem extract each .jar file (use "jar" or "unzip" command)
jar -xf js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
@rem remove the .jar files and .tar.gz patch archive
del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar
del js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz |
Automated Patching
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# invoke PowerShell and switch to the user account that owns the JOC Cockpit's data directory # download from URL Invoke-WebRequest ` -Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc.2.2.3-PATCH.API-1.JS-1984.jar' ` -Outfile js7_joc.2.2.3-PATCH.API-1.JS-1984.jar # apply the patch ./Install-JS7Joc.ps1 ` -PatchJar js7_joc.2.2.3-PATCH.API-1.JS-1984.jar ` @rem remove the .jar file and patch archive del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar del js7_joc.2.2.3-PATCH.API-1.JS-1984.tar.gz -Patch JS-1984 ` -PatchKey API-1 ` -HomeDir $env:ProgramFiles\sos-berlin.com\js7\joc ` -Data $env:ProgramData\sos-berlin.com\js7\joc |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#@rem navigateinvoke toPowerShell theand target directory for patches cd %ProgramData%\sos-berlin.com\js7\joc\webapps\joc\WEB-INF\classes @rem verifyswitch to the directoryuser byaccount checkingthat ifowns thisthe fileJOC is available dir api-schema-version.json @remCockpit's data directory # download from URL Invoke-WebRequest ` -Uri 'https://download.sos-berlin.com/patches/2.2.3-patch/js7_joc_windows.2.2.3-PATCH.API-1.JS-1984.jar @rem copy from download location (could be different from this example) copy %USERPROFILE%\Downloads\tar.gz' ` -Outfile js7_joc.2.2.3-PATCH.API-1.JS-1984.jar tar.gz @rem# extractapply the .jar file (use "jar" or "unzip" command) jar -xfpatch ./Install-JS7Joc.ps1 ` -Tarball js7_joc.2.2.3-PATCH.API-1.JS-1984.jar @rem remove the .jar file del js7_joc.2.2.3-PATCH.API-1.JS-1984.jar.tar.gz ` -Patch JS-1984 ` -PatchKey API-1 ` -HomeDir $env:ProgramFiles\sos-berlin.com\js7\joc ` -Data $env:ProgramData\sos-berlin.com\js7\joc |
Notes
The examples use the jar
command that is available from a Java JDK. Should a Java JDK not be in place then the unzip
command can be used.
...
Note: The JOC Cockpit has to be restarted to apply patches.Hint: For automated rollout of patches see JS7 - Automated Installation and Updateto apply patches.
Note: As an alternative for Windows users can download the .jar patch file to the target directory and use Users are discouraged from using tools such as 7-Zip to extract the archivethe patch archive in case of manual patching. Instead, use the tools available from the OS as indicated by the examples. Do not create a sub-folder from the archive name but extract directly to the directory hierarchy as indicated above.
Hint: For automated rollout of patches see JS7 - Automated Installation and Update.
Removing Patches
Patches are automatically removed when a JOC Cockpit release is installedupdated or upgraded by JS7 - JOC Cockpit Installation On Premises or using the installation scripts as indicated with JS7 - Automated Installation and Update..
Patches can be manually removed by dropping the com
sub sub-directory that holds the extracted patchpatches.
Note: The JOC Cockpit has to be restarted to apply removal of patchesstopped before patches are removed.
Anchor | ||||
---|---|---|---|---|
|
...