[[breaking_60_packaging_changes]]
=== Packaging changes

==== Configuring custom user and group for package is no longer allowed

Previously someone could configure the `$ES_USER` and `$ES_GROUP` variables to
change which user and group Elasticsearch was run as. This is no longer
possible, the DEB and RPM packages now exclusively use the user and group
`elasticsearch`. If a custom user or group is needed then a provisioning system
should use the tarball distribution instead of the provided RPM and DEB
packages.

==== `path.conf` is no longer a configurable setting

Previous versions of Elasticsearch enabled setting `path.conf` as a
setting. This was rather convoluted as it meant that you could start
Elasticsearch with a config file that specified via `path.conf` that
Elasticsearch should use another config file. Instead, `path.conf` is now a
command-line flag. To start Elasticsearch with a custom config file, use `-c
/path/to/config` or `--path.conf /path/to/config`. Here, `/path/to/config` is
the *directory* containing the config file.

==== Default path settings are removed

Previous versions of Elasticsearch enabled setting `default.path.data` and
`default.path.logs` to set the default data path and default logs path if they
were not otherwise set in the configuration file. These settings have been
removed and now data paths and log paths can be configured via settings
only. Related, this means that the environment variables `DATA_DIR` and
`LOG_DIR` no longer have any effect as these were used to set
`default.path.data` and `default.path.logs` in the packaging scripts.

Additionally, this means that if you were using the package distributions (i.e.,
you have installed Elasticsearch from the RPM or the DEB distributions), you had
not previously explicitly configured `path.data` or `path.logs`, and you carry
over your `elasticsearch.yml` file from 5.x, then you will need to add settings
for `path.data` and `path.logs`. To use the defaults that you were implicitly
using previously, you should add these lines to your `elasticsearch.yml`:

[source,yaml]
--------------------------------------------------
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
--------------------------------------------------

(If you already had explicit values for either of these settings, you should of
course preserve those). If you do not do this, Elasticsearch will refuse to
start.

==== 32-bit is no longer maintained

We previously attempted to ensure that Elasticsearch could be started on 32-bit
JVM (although a bootstrap check prevented using a 32-bit JVM in production). We
are no longer maintaining this attempt.

==== `ES_JVM_OPTIONS`is no longer supported

The environment variable `ES_JVM_OPTIONS` that enabled a custom location for the
`jvm.options` file has been removed in favor of using the environment variable
`CONF_DIR`. This environment variable is already used in the packaging to
support relocating the configuration files so this change merely aligns the
other configuration files with the location of the `jvm.options` file.

==== `ES_INCLUDE` is no longer supported

The environment variable `ES_INCLUDE` could previously be used to establish the
environment used to start Elasticsearch (and various supporting scripts). This
legacy feature could be useful when there were several environment variables
useful for configuring JVM options; this functionality had previously been
replaced by <<jvm-options>>. Therefore, `ES_INCLUDE` has been removed.
