I could not afford to wait long with rolling out an Apt repository for NetKernel 6.1.1. I'm happy to announce the wait is now over !
As with RHEL, there are two repositories available. This is again due to the possible difference in startup-scripts, there is no difference whatsoever with regards to NetKernel itself.
So, if your Debian-flavoured distribution is using SysV-style startup-scripts (the scripts live in /etc/init.d) you want to pick the 14.04 repository below. If it is using systemd startup-scripts, pick the 16.04 repository below.
In case you're wondering what the 14.04 and 16.04 stand for ... those are the Ubuntu LTS distributions that I tested on (in fact, since 15.04 Ubuntu is using systemd). As you'll understand I don't have every Debian-flavoured distribution available for testing (nor would I want to), but if your system is using Apt, chances are good the below will work for you.
On 14.04
Create a new repository entry (or have your System Administrator do this) in /etc/apt/sources.list :
## NetKernel
deb http://tomgeudens.io:8400/Debian/ 14.04/
In order to be able to work with this repository, you will have to add the public key to apt :
wget http://tomgeudens.io:8400/Debian/keys/aptrepo_public.key
sudo apt-key add aptrepo_public.key
Next, you update your apt cache :
sudo apt-get update
If all goes well, you should be able to install NetKernel :
sudo apt-get install netkernel-se
Now you've got a completely functional NetKernel 6.1.1. SE on your system. It lives in /opt/netkernel and has it's own service user, netkernel. It's not running yet though, because this is where some configuration comes in (see my previous post).
When you're ready to roll, this is what remains to be done :
sudo update-rc.d netkernel enable
sudo service netkernel start
On 16.04
Create a new repository entry (or have your System Administrator do this) in /etc/apt/sources.list :
## NetKernel
deb http://tomgeudens.io:8400/Debian/ 16.04/
The other steps are the same and when you're ready to roll, this is what remains to be done :
sudo systemctl enable netkernel
sudo systemctl start netkernel
Remarks
- You'll notice that the installation already contains the latest updates to NetKernel 6.1.1. The idea is that my repositories will always (give or take a couple of days, I'm only human) contain a version that does not require updates from Apposite.
- Apt has recently raised the ante on security requirements for signing the repository. The above repositories are both compliant with those requirements (and should therefore not give warnings when you update the cache).
With NetKernel 6.1.1. now out in the wild, all reasons are of course valid to install it at your local shop and show it off. Now, I don't know about your daily job, but mine is in a bank/insurance environment (at the moment, I'm a freelance consultant) and they are not so happy with :
- downloading a jar
- copying the jar to a target system
- manually installing the jar
While these steps are trivial in themselves, they are often considered unprofessional/untrustworthy.
So, while solving this problem for myself I decided to solve it for everybody else too. I'm therefore proud to present the NetKernel Yum Repository today. At the moment it contains a NetKernel 6.1.1. SE rpm, an EE rpm will soon be added.
How does it work ?
On RHEL6 / CentOS 6
Create a new repository definition file (or have your System Administrators create this, strangely enough this will rarely be considered a problem), for example /etc/yum.repos.d/netkernel.repo with the following content :
[netkernel]
name=NetKernel Yum Repository
baseurl=http://tomgeudens.io:8400/RHEL/6/$basearch
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://tomgeudens.io:8400/RHEL/6/$basearch/yumrepo_public.key
enabled=1
Notice that both the rpms in the repository and the repository itself are signed, no messing around with security, I've got to convince the security team of a bank here !
Next you should be able to search for NetKernel and install it (this may require you to download the yumrepo_public.key, just say yes when asked for it) :
sudo yum search netkernel
======= N/S Matched: netkernel ========
netkernel-se.x86_64 : NetKernel Standard Edition
sudo yum install netkernel-se
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
netkernel-se x86_64 6.1.1-el6 netkernel 26 M
Transaction Summary
================================================================================
Install 1 Package(s)
Total download size: 26 M
Installed size: 39 M
Is this ok [y/N]: y
Downloading Packages:
netkernel-se-6.1.1-el6.x86_64.rpm | 26 MB 00:04
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : netkernel-se-6.1.1-el6.x86_64 1/1
Verifying : netkernel-se-6.1.1-el6.x86_64 1/1
Installed:
netkernel-se.x86_64 0:6.1.1-el6
Complete!
Now you've got a completely functional NetKernel 6.1.1. SE on your system. It lives in /opt/netkernel and has it's own service user, netkernel. It's not running yet though, because this is where some configuration comes in (pretty much as you would also not start an Apache server before configuring it) :
- At some shops logs are kept in a central place. The /opt/netkernel/log directory is empty at this point and can therefore easily be relinked to a central location.
- You might want to change the JVM settings in /opt/netkernel/bin/jvmsettings.cnf. Memory is cheap, so add lots ...
- NetKernel (as it is set up here) requires access to the Apposite repositories. This may require you to review and change the HTTP Proxy Settings in /opt/netkernel/etc/kernel.properties.
- ...
When you're ready to roll, this is what remains to be done :
sudo chkconfig netkernel on
sudo service netkernel start
On RHEL7 / CentOS 7
There are a few (small) differences on the more recent RedHat-flavoured systems. The idea of runlevels and such has practically disappeared (some traces are left for backwards compatibility). So the package is a bit different. Lets start with creating a new repository definition file :
[netkernel]
name=NetKernel Yum Repository
baseurl=http://tomgeudens.io:8400/RHEL/7/$basearch
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://tomgeudens.io:8400/RHEL/7/$basearch/yumrepo_public.key
enabled=1
The yum-commands to search and install are identical, you will notice that the rpm that is installed is netkernel-se-6.1.1-el7.x86_64.rpm.
The configuration is also identical, to get things started however these are the commands :
sudo systemctl enable netkernel
sudo systemctl start netkernel
Questions
- Does the package verify the Java 1.8.x requirement ?
No, it does not at the moment, I'm still figuring out how I can cater for both OpenJDK and Oracle (and possibly others) at the same time.
- I'm running on Debian/Ubuntu, do you have an Apt repository available ?
Not yet, but watch this space.
- I notice you only have a x86_64 package available, can you also provide a i386 package ?
Yes I can, that's on my todo-list.
- Look, my shop really does not allow me to punch through the firewall to the Apposite repository. Can you provide a package that contains a few extra modules (x, y and z) and does not phone home ?
Well, if you really need that, contact me with your requirements and I'll see what I can come up with :
tom<dot>geudens<at>hush<dot>ai
practical<dot>netkernel<at>gmail<dot>com
Today sees the release of NetKernel 6.1.1. For those of you who know what NetKernel is, this is a good time to revisit it, for those of you who don't know ... this is an excellent time to check it out !
Did you know ...
- That NetKernel is not just another Java Framework ?
Follow the above link to find out what NetKernel is !
- That NetKernel is not just another application server ?
Follow the above link find out what NetKernel is !
- That NetKernel is a great choice for RDF (and Open Data in general) processing and publishing ? There are several existing implementations already and several more in the works !
- That you can find some of my working examples on Github ?