| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 | [[deb]]=== Install Elasticsearch with Debian PackageThe Debian package for Elasticsearch can be <<install-deb,downloaded from our website>>or from our <<deb-repo,APT repository>>. It can be used to installElasticsearch on any Debian-based system such as Debian and Ubuntu.include::license.asciidoc[]The latest stable version of Elasticsearch can be found on thelink:/downloads/elasticsearch[Download Elasticsearch] page. Other versions canbe found on the link:/downloads/past-releases[Past Releases page].NOTE: Elasticsearch includes a bundled version of https://openjdk.java.net[OpenJDK]from the JDK maintainers (GPLv2+CE). To use your own version of Java,see the <<jvm-version, JVM version requirements>>[[deb-key]]==== Import the Elasticsearch PGP Keyinclude::key.asciidoc[][source,sh]-------------------------wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add --------------------------[[deb-repo]]==== Installing from the APT repositoryifeval::["{release-state}"=="unreleased"]Version {version} of Elasticsearch has not yet been released.endif::[]ifeval::["{release-state}"!="unreleased"]You may need to install the `apt-transport-https` package on Debian before proceeding:[source,sh]--------------------------------------------------sudo apt-get install apt-transport-https--------------------------------------------------Save the repository definition to  +/etc/apt/sources.list.d/elastic-{major-version}.list+:ifeval::["{release-state}"=="released"]["source","sh",subs="attributes,callouts"]--------------------------------------------------echo "deb https://artifacts.elastic.co/packages/{major-version}/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-{major-version}.list--------------------------------------------------endif::[]ifeval::["{release-state}"=="prerelease"]["source","sh",subs="attributes,callouts"]--------------------------------------------------echo "deb https://artifacts.elastic.co/packages/{major-version}-prerelease/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-{major-version}.list--------------------------------------------------endif::[][NOTE]==================================================These instructions do not use `add-apt-repository` for several reasons:. `add-apt-repository` adds entries to the system `/etc/apt/sources.list` file  rather than a clean per-repository file in `/etc/apt/sources.list.d`. `add-apt-repository` is not part of the default install on many distributions  and requires a number of non-default dependencies.. Older versions of `add-apt-repository` always add a `deb-src` entry which  will cause errors because we do not provide a source package. If you have added  the `deb-src` entry, you will see an error like the following until you delete  the `deb-src` line:    Unable to find expected entry 'main/source/Sources' in Release file    (Wrong sources.list entry or malformed file)==================================================You can install the Elasticsearch Debian package with:[source,sh]--------------------------------------------------sudo apt-get update && sudo apt-get install elasticsearch--------------------------------------------------[WARNING]==================================================If two entries exist for the same Elasticsearch repository, you will see an error like this during `apt-get update`:["literal",subs="attributes,callouts"]Duplicate sources.list entry https://artifacts.elastic.co/packages/{major-version}/apt/ ...`Examine +/etc/apt/sources.list.d/elasticsearch-{major-version}.list+ for the duplicate entry or locate the duplicate entry amongst the files in `/etc/apt/sources.list.d/` and the `/etc/apt/sources.list` file.==================================================endif::[]include::skip-set-kernel-parameters.asciidoc[][[install-deb]]==== Download and install the Debian package manuallyifeval::["{release-state}"=="unreleased"]Version {version} of Elasticsearch has not yet been released.endif::[]ifeval::["{release-state}"!="unreleased"]The Debian package for Elasticsearch v{version} can be downloaded from the website and installed as follows:["source","sh",subs="attributes"]--------------------------------------------wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}-amd64.debwget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-{version}-amd64.deb.sha512shasum -a 512 -c elasticsearch-{version}-amd64.deb.sha512 <1>sudo dpkg -i elasticsearch-{version}-amd64.deb--------------------------------------------<1> Compares the SHA of the downloaded Debian package and the published checksum, which should output    `elasticsearch-{version}-amd64.deb: OK`.endif::[]ifdef::include-xpack[][role="xpack"][[deb-enable-indices]]==== Enable automatic creation of system indicesinclude::xpack-indices.asciidoc[]endif::include-xpack[][[deb-running-systemd]]include::systemd.asciidoc[][[deb-check-running]]include::check-running.asciidoc[][[deb-configuring]]==== Configuring Elasticsearchinclude::etc-elasticsearch.asciidoc[]The Debian package also has a system configuration file (`/etc/default/elasticsearch`),which allows you to set the following parameters:include::sysconfig-file.asciidoc[]NOTE: Distributions that use `systemd` require that system resource limits beconfigured via `systemd` rather than via the `/etc/sysconfig/elasticsearch`file. See <<systemd>> for more information.[[deb-layout]]==== Directory layout of Debian packageThe Debian package places config files, logs, and the data directory in the appropriatelocations for a Debian-based system:[cols="<h,<,<m,<m",options="header",]|=======================================================================| Type | Description | Default Location | Setting| home  | Elasticsearch home directory or `$ES_HOME`  | /usr/share/elasticsearch d|| bin  | Binary scripts including `elasticsearch` to start a node    and `elasticsearch-plugin` to install plugins  | /usr/share/elasticsearch/bin d|| conf  | Configuration files including `elasticsearch.yml`  | /etc/elasticsearch  | <<config-files-location,ES_PATH_CONF>>| conf  | Environment variables including heap size, file descriptors.  | /etc/default/elasticsearch d|| data  | The location of the data files of each index / shard allocated    on the node.  | /var/lib/elasticsearch  | path.data| jdk  | The bundled Java Development Kit used to run Elasticsearch. Can    be overridden by setting the `ES_JAVA_HOME` environment variable    in `/etc/default/elasticsearch`.  | /usr/share/elasticsearch/jdk d|| logs  | Log files location.  | /var/log/elasticsearch  | path.logs| plugins  | Plugin files location. Each plugin will be contained in a subdirectory.  | /usr/share/elasticsearch/plugins  || repo  | Shared file system repository locations. Can hold multiple locations. A file system repository can be placed in to any subdirectory of any directory specified here. d| Not configured  | path.repo|=======================================================================include::next-steps.asciidoc[]
 |