[[breaking_20_plugin_and_packaging_changes]] === Plugin and packaging changes ==== Symbolic links and paths Elasticsearch 2.0 runs with the Java security manager enabled and is much more restrictive about which paths it is allowed to access. Various paths can be configured, e.g. `path.data`, `path.scripts`, `path.repo`. A configured path may itself be a symbolic link, but no symlinks under that path will be followed. ==== Running `bin/elasticsearch` The command line parameter parsing has been rewritten to deal properly with spaces in parameters. All config settings can still be specified on the command line when starting Elasticsearch, but they must appear after the built-in "static parameters", such as `-d` (to daemonize) and `-p` (the PID path). For instance: [source,sh] ----------- bin/elasticsearch -d -p /tmp/foo.pid --http.cors.enabled=true --http.cors.allow-origin='*' ----------- For a list of static parameters, run `bin/elasticsearch -h` ==== `-f` removed The `-f` parameter, which used to indicate that Elasticsearch should be run in the foreground, was deprecated in 1.0 and removed in 2.0. ==== `V` for version The `-v` parameter now means `--verbose` for both `bin/plugin` and `bin/elasticsearch` (although it has no effect on the latter). To output the version, use `-V` or `--version` instead. ==== Plugin manager should run as root The permissions of the `config`, `bin`, and `plugins` directories in the RPM and deb packages have been made more restrictive. The plugin manager should be run as root otherwise it will not be able to install plugins. ==== Support for official plugins Almost all of the official Elasticsearch plugins have been moved to the main `elasticsearch` repository. They will be released at the same time as Elasticsearch and have the same version number as Elasticsearch. Official plugins can be installed as follows: [source,sh] --------------- sudo bin/plugin install analysis-icu --------------- Community-provided plugins can be installed as before. ==== Plugins require descriptor file All plugins are now required to have a https://github.com/elastic/elasticsearch/blob/2.0/dev-tools/src/main/resources/plugin-metadata/plugin-descriptor.properties[plugin-descriptor.properties] file. If a node has a plugin installed which lacks this file, it will be unable to start. ==== Repository naming structure changes Elasticsearch 2.0 changes the way the repository URLs are referenced. Instead of specific repositories for both major and minor versions, the repositories will use a major version reference only. The URL for apt packages now uses the following structure; [source,sh] --------------- deb http://packages.elastic.co/elasticsearch/2.x/debian stable main --------------- And for yum packages it is; [source,sh] --------------- baseurl=http://packages.elastic.co/elasticsearch/2.x/centos --------------- The <> page details this change.