JLinux is an operating system which makes it possible for software to have an infinite and continuous lifecycle.
The software is tested and maintained in accordance with ISO27001. Maintenance is performed automatically during each servers configured maintenance window. During this maintenance window, which can be for a second or minutes, the monitoring system automatically pauses alerts.
If an update failed, the management system is notified in real time triggering alerts.

The system automatically detect low disk space, low memory, high load, if a running service failed and many other errors. All of this in real time.
JLinux comes with multifactor authentication based on JID. This global authentication system will allow you to add authentication on any service and protocol.
The management and monitoring system is web based seamlessly integrated with the virtualisation platform JVM.

JLinux is maintained by the package manager jlinux-update which is supervised by JService.
It is possible to run updates manually on a server

To update software only:
jlinux-update update

To update software and deployments:
jlinux-update all

To check if there are pending updates:
jlinux-update check

To install a package which is not in config:
jlinux-update install <package> (optional version)

Note that if you manually install a package which is being maintained, it will be replaced during next automated maintenance if the current version does not match.

JLinux package structure

A package can contain anything from a single application to a collection of many. It is preferable to not make a huge monolithic/static package containing every single dependency because this will make it more time consuming to update and maintain the system.
The folder structure of this package is as following


For software using autoconf, the above structure can easily be achieved using
# configure --prefix=/usr/app/<NAME>/<VERSION> --sysconfdir=/etc/app/<NAME> --localstatedir=/var/app/<NAME>

Deploying JLinux packages

Deploying new packages is easy using the jlinux-deploy tool.

jlinux-deploy <username> <password> <path to private key> <package root path> <package name> <package version> <description>

A package can be either public or private. Public means that anyone can download it, while private is filtered on servers belonging to customer /  service ID.