FreeNAS 11.2-RELEASE introduced a new framework for Plugins and Jails. The goal of the new framework is to:
- Make it easier to install, manage, and update Plugins and Jails as an end-user.
- Provide an easy-to-use infrastructure for Plugins creators to create Plugins and to push security updates and new versions to existing Plugins as they become available.
Now that the framework is in place, we can concentrate on improving the process for achieving these goals. A series of blog posts is planned to address commonly asked questions and to note when Plugins are updated between FreeNAS releases.
Today’s blog post concentrates on updating Plugins and answers some common update questions. It then describes which Plugins were updated from their 11.2-RELEASE versions as of today.
Q.1 When do Plugins get updated and how will I know when a new version is available?
One of the advantages of the new Plugins system is that it is much easier for Plugins creators to update Plugins when newer versions or security patches for the underlying applications become available. This addresses a common complaint of the legacy Plugins system, where Plugins could go months or even longer without updates.
This increased nimbleness doesn’t quite fit into the FreeNAS target versions listed on the Roadmap. Going forward, official Plugins will be updated and pushed every week or so.
We’ll make a blog post for each update push, detailing which Plugins have a newer version. Plugins that have newer versions will also have an activated Update options button in the new UI.
Q.2 How can I request a newer version of a plugin or report an issue caused by an updated plugin?
If you are aware of a newer version of software for a plugin, search the issues tracker to see if anyone has reported it yet. If not, go ahead and create a ticket so it can be added to the Plugins update queue. Note that most Plugins are based on FreeBSD ports, so we may have to update the port first or wait for the port maintainer to finish doing so.
Many Plugins update issues are caused by new features introduced in the underlying application. For this reason, it is always recommended to read the new version’s Changelog before updating the plugin to determine if any changes negatively impact your configuration. To make this easier, we’ll provide hyperlinks to these Changelogs when we blog the new versions for updated Plugins.
If you encounter an issue after updating a plugin that you don’t think is related to its Changelog, check the forums to see if anyone else has seen the error or has a workaround.
Q.3 Why does pkg upgrade not work in a Plugin jail? How do I update plugins? Is it possible to update a Plugin from the CLI?
Plugins are pre-packaged jails created with the jail management utility iocage. iocage aims to combine the best features available in FreeBSD and make deployment of jails easy. However, because of all the extra functionality provided by iocage, the FreeBSD package update system (pkg upgrade) does not directly apply.
Plugins can normally be updated in the UI by using the plugin’s Update button. However, there is a known issue with the Update button which will be fixed in FreeNAS 11.2-U3. As a workaround, a plugin can be updated from the FreeNAS Shell. First, verify the name of the plugin as it appears in Plugins → Installed. Then, open Shell and type iocage update plugin but replace plugin with the name of the plugin you would like to update.
Note: Updated section Q.3 with known issue regarding GUI plugin updates – 12/20/18.
Q.4 Why should I not run an app’s updater script within a Plugin jail?
Most third-party application updater scripts do not understand FreeBSD packages or iocage plugins. The traditional recommendation was to create a jail, install the software, then use the application’s updater script to stay up-to-date. That is still a good recommendation for users who are comfortable with the command line or who have successfully used this workflow in earlier FreeNAS versions.
The new process of pushing updated Plugins every week or so is good news to Plugins users as they should be able to stay up-to-date without having to create a custom jail and run an updater script.
Updated Plugins
These plugins were updated from their 11.2-RELEASE versions to address security vulnerabilities or newer versions. Please read the hyperlinked Changelogs before updating a plugin so you are aware of any known caveats associated with the new version.
- BackupPC updated from 4.2.1_1 to 4.3.0 which adds a few new features and bug fixes.
- GitLab updated from 11.4.4 to 11.5.4 to address a critical security vulnerability.
- Jenkins updated from 2.149 to 2.155.
- Jenkins (LTS) updated from 2.138.2 to 2.150.1 which addresses some security fixes.
- Madsonic updated from 6.0_6 to 6.0_7 which adds some new features and bug fixes.
- Nextcloud updated from 14.0.3 to 15.0.0. Since this is a major release with a large Changelog, please read that Changelog carefully before updating.
- PlexMediaServer updated from 1.13.8.5395 to 1.14.0.5470 as a bugfix release.
- PlexMediaServer (PlexPass) updated from 1.13.9.5439 to 1.14.1.5487 which fixes some bugs, including a FreeBSD-specific bug.
- qBittorrent updated from 4.1.3 to 4.1.4_2 which adds some new features and bug fixes.
- Quasselcore updated from 0.12.5_2 to 0.13.0_1. Read this Changelog carefully before upgrading as the change in database schema prevents downgrading to the previous version.
- radarr updated from 0.2.0.1120 to 0.2.0.1217. This adds quite a few new features and bug fixes.
- Resilio Sync updated from 2.5.13 to 2.6.1. This is a bug fix release.
- Subsonic updated from 6.0_6 to 6.0_7. This bump in the FreeBSD port updates FFmpeg to 4.1.
- Syncthing updated from 0.14.51 to 0.14.54 to add a bug fix.
- ZoneMinder updated from 1.30.4_5 to 1.32.3. Please read the linked Release Notes carefully before updating due to several critical changes.
The following plugins will be updated to their newest stable versions in January (and mentioned in the January blog post) as they are still waiting for the FreeBSD port to update:
- Clamav
- Jenkins
- Resilio Sync