My Linux Job Scheduler prebuilt packages
First expect these packages to be out-of-date. My workflow is latest bug-fixes and enhancements live on my dev server and local repo, tested updates will be pushed to the source in my github repo. Only major bug fixes will have new packages built so the packages here will always be behind any semi-stable source in my github repo.
Secondly I build staticly compiled binaries for the lowest common denominator (ie: I will
build a package for Deb12, test it also works on Deb13 and leave it at that rather than build
a seperate package. Issues that result from that are when dependant packages are renamed
or even removed from later version distribution repositories (or as noted in the RPM issues below dependant
packages simply corrupted).
I now no longer have time to build a new VM for each new distribution release simply to create a package,
and the way distribution repositories ove time remove packages I need in my workflow I have a few
desktops (both fedora and debian) that simply cannot be upgraded because repositories no
longer contain application packages I rely on, so must always build packages for the lowest version of any
OS I am using.
This is the location of the older prebuilt RPM (all) and DEB (scheduler only) packages.
Ensure you read the details below before deciding whether to use these or not.
It is recomended you install from the latest source which will be more up-to-date than the packages.
Packages last updated in 2022 (last major bug fix, no new bugs since then).
The Job Scheduler RPMS
These are stacticly linked binaries built on F33 and EL8 so should work unchanged on later releases. Note that the EL8 ones may be even more out of date as I retired my EL8 build server a while back.
It should be noted I do not follow the Fedora packaging guidelines here. I do not include debugging links to waste space in /usr/lib/.build-id (which was changed to be a default in F27/rhel8 onward so if users of rhel systems start getting errors about node/link unavailablilty/shortages that change is why) and I do install the product under /opt where it belongs.
- marks-job-scheduler (required) - the job scheduler itself
- marks-job-scheduler-http (optional) - a perl-cgi operator interface to run under a webserver, can monitor multiple servers (monitor only, can run/cancel jobs but no database update access). It does require an 'apache' user defined with operator authority to each scheduler so the cgi scripts can connect to issue commands (done by the rpm install if a scheduler is running on the server the rpm is installed onto, but on all other remote servers you will have to do it manually)
- marks-job-scheduler-jetty (optional... see updates below, don't use the rpm) - a J2EE interface to run under Jetty, can fully manage multiple servers and destroy, er I mean update databases on multiple machines at a time; a full admin interface [if your userid/password is identical on all servers of course]. This also has a lot less monitoring overhead than the perl-cgi interface as it keeps connections open rather than a new connection being opened for every request from the perl cgi interface. This installs into Jetty directories so requires (and will install) Jetty. If you wish to use another engine do not install this RPM but download the interface from github and copy it under your enginmes webapps directory
Important updates
On Fedora 31 'dnf install jetty' fails with missing dependencies (Problem: package
jetty-9.4.19-2.v20190610.fc31.noarch requires jetty-spring = 9.4.19-2.v20190610.fc31, but none of the providers
can be installed). CentOS8
does not have Jetty available in its repos at all.
So for RHEL systems it has to be manually installed from
https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.29.v20200521/jetty-distribution-9.4.29.v20200521.tar.gz
(em>check for the latest version of course).
The supplied RPM marks-job-scheduler-jetty has a dependancy on the Jetty package as it wants to place the files into the Jetty application directory path /var/lib/jetty/webapps. As Jetty is not available in a working form on RHEL based systems the RPM cannot be used; if you want to use the J2EE interface you will need to download it from github and copy it into the webapps directory of the server you use. Note: I still recommend Jetty, it has a much smaller memory/cpu footprint than alternatives like Tomcat.
Job Scheduler DEB packages
As I am moving most of my servers to Debian now there are more up-to-date, however are also still likely to be behind any changes made to the source on github.
These are staticly linked binaries compiled on Debian12, the package install has also been tested on Debian13. Only the server component has been packaged, if you also want the apache and jetty interfaces you will need to get those from github.
- marks_job_scheduler-1.20_amd64.deb (required) - the job scheduler server and command line interface
When uninstalling with 'dpkg -r' it will leave behind directory /opt/dickinson/scheduler that you may want to manually remove; this is because the uninstall runs as part of any package upgrade and I don't want to delete any jobs and schedules you may have created there during an upgrade.