]> git.proxmox.com Git - ceph.git/blame - ceph/doc/install/get-packages.rst
import ceph pacific 16.2.5
[ceph.git] / ceph / doc / install / get-packages.rst
CommitLineData
801d1391
TL
1.. _packages:
2
7c673cae
FG
3==============
4 Get Packages
5==============
6
7To install Ceph and other enabling software, you need to retrieve packages from
801d1391 8the Ceph repository.
7c673cae 9
801d1391 10There are three ways to get packages:
7c673cae 11
801d1391
TL
12- **Cephadm:** Cephadm can configure your Ceph repositories for you
13 based on a release name or a specific Ceph version. Each
7c673cae
FG
14 :term:`Ceph Node` in your cluster must have internet access.
15
801d1391
TL
16- **Configure Repositories Manually:** You can manually configure your
17 package management tool to retrieve Ceph packages and all enabling
18 software. Each :term:`Ceph Node` in your cluster must have internet
19 access.
20
7c673cae
FG
21- **Download Packages Manually:** Downloading packages manually is a convenient
22 way to install Ceph if your environment does not allow a :term:`Ceph Node` to
23 access the internet.
24
801d1391
TL
25Install packages with cephadm
26=============================
27
b3b6e05e 28#. Download the cephadm script
801d1391 29
b3b6e05e
TL
30.. prompt:: bash $
31 :substitutions:
32
33 curl --silent --remote-name --location https://github.com/ceph/ceph/raw/|stable-release|/src/cephadm/cephadm
34 chmod +x cephadm
801d1391
TL
35
36#. Configure the Ceph repository based on the release name::
37
38 ./cephadm add-repo --release nautilus
39
40 For Octopus (15.2.0) and later releases, you can also specify a specific
41 version::
42
43 ./cephadm add-repo --version 15.2.1
7c673cae 44
801d1391
TL
45 For development packages, you can specify a specific branch name::
46
47 ./cephadm add-repo --dev my-branch
48
49#. Install the appropriate packages. You can install them using your
50 package management tool (e.g., APT, Yum) directly, or you can also
51 use the cephadm wrapper. For example::
52
53 ./cephadm install ceph-common
54
55
56Configure Repositories Manually
57===============================
7c673cae
FG
58
59All Ceph deployments require Ceph packages (except for development). You should
60also add keys and recommended packages.
61
62- **Keys: (Recommended)** Whether you add repositories or download packages
63 manually, you should download keys to verify the packages. If you do not get
801d1391 64 the keys, you may encounter security warnings.
7c673cae
FG
65
66- **Ceph: (Required)** All Ceph deployments require Ceph release packages,
67 except for deployments that use development packages (development, QA, and
801d1391 68 bleeding edge deployments only).
7c673cae
FG
69
70- **Ceph Development: (Optional)** If you are developing for Ceph, testing Ceph
71 development builds, or if you want features from the bleeding edge of Ceph
801d1391 72 development, you may get Ceph development packages.
7c673cae 73
7c673cae 74
7c673cae
FG
75
76Add Keys
801d1391 77--------
7c673cae
FG
78
79Add a key to your system's list of trusted keys to avoid a security warning. For
9f95a23c 80major releases (e.g., ``luminous``, ``mimic``, ``nautilus``) and development releases
11fdf7f2 81(``release-name-rc1``, ``release-name-rc2``), use the ``release.asc`` key.
7c673cae
FG
82
83
84APT
801d1391 85~~~
7c673cae
FG
86
87To install the ``release.asc`` key, execute the following::
88
89 wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
90
91
7c673cae 92RPM
801d1391 93~~~
7c673cae
FG
94
95To install the ``release.asc`` key, execute the following::
96
97 sudo rpm --import 'https://download.ceph.com/keys/release.asc'
98
801d1391
TL
99Ceph Release Packages
100---------------------
7c673cae
FG
101
102Release repositories use the ``release.asc`` key to verify packages.
103To install Ceph packages with the Advanced Package Tool (APT) or
104Yellowdog Updater, Modified (YUM), you must add Ceph repositories.
105
106You may find releases for Debian/Ubuntu (installed with APT) at::
107
108 https://download.ceph.com/debian-{release-name}
109
110You may find releases for CentOS/RHEL and others (installed with YUM) at::
111
112 https://download.ceph.com/rpm-{release-name}
113
801d1391
TL
114For Octopus and later releases, you can also configure a repository for a
115specific version ``x.y.z``. For Debian/Ubuntu packages::
7c673cae 116
801d1391
TL
117 https://download.ceph.com/debian-{version}
118
119For RPMs::
120
121 https://download.ceph.com/rpm-{version}
122
123The major releases of Ceph are summarized at: :ref:`ceph-releases-general`
7c673cae 124
11fdf7f2
TL
125.. tip:: For non-US users: There might be a mirror close to you where
126 to download Ceph from. For more information see: `Ceph Mirrors`_.
7c673cae
FG
127
128Debian Packages
801d1391 129~~~~~~~~~~~~~~~
7c673cae
FG
130
131Add a Ceph package repository to your system's list of APT sources. For newer
132versions of Debian/Ubuntu, call ``lsb_release -sc`` on the command line to
f91f0fd5 133get the short codename, and replace ``{codename}`` in the following command.
7c673cae 134
f91f0fd5
TL
135.. prompt:: bash $
136 :substitutions:
7c673cae 137
f91f0fd5 138 sudo apt-add-repository 'deb https://download.ceph.com/debian-|stable-release|/ {codename} main'
7c673cae 139
f91f0fd5
TL
140For early Linux distributions, you may execute the following command
141
142.. prompt:: bash $
143 :substitutions:
144
145 echo deb https://download.ceph.com/debian-|stable-release|/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
7c673cae
FG
146
147For earlier Ceph releases, replace ``{release-name}`` with the name with the
148name of the Ceph release. You may call ``lsb_release -sc`` on the command line
149to get the short codename, and replace ``{codename}`` in the following command.
11fdf7f2 150
f91f0fd5 151.. prompt:: bash $
7c673cae 152
f91f0fd5 153 sudo apt-add-repository 'deb https://download.ceph.com/debian-{release-name}/ {codename} main'
7c673cae
FG
154
155For older Linux distributions, replace ``{release-name}`` with the name of the
f91f0fd5
TL
156release
157
158.. prompt:: bash $
7c673cae
FG
159
160 echo deb https://download.ceph.com/debian-{release-name}/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
161
7c673cae
FG
162For development release packages, add our package repository to your system's
163list of APT sources. See `the testing Debian repository`_ for a complete list
f91f0fd5 164of Debian and Ubuntu releases supported.
7c673cae 165
f91f0fd5
TL
166.. prompt:: bash $
167
168 echo deb https://download.ceph.com/debian-testing/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
7c673cae 169
11fdf7f2
TL
170.. tip:: For non-US users: There might be a mirror close to you where
171 to download Ceph from. For more information see: `Ceph Mirrors`_.
172
7c673cae
FG
173
174RPM Packages
801d1391 175~~~~~~~~~~~~
7c673cae 176
9f95a23c 177RHEL
801d1391 178^^^^
9f95a23c 179
7c673cae
FG
180For major releases, you may add a Ceph entry to the ``/etc/yum.repos.d``
181directory. Create a ``ceph.repo`` file. In the example below, replace
f91f0fd5
TL
182``{ceph-release}`` with a major release of Ceph (e.g., ``|stable-release|``)
183and ``{distro}`` with your Linux distribution (e.g., ``el8``, etc.). You
7c673cae
FG
184may view https://download.ceph.com/rpm-{ceph-release}/ directory to see which
185distributions Ceph supports. Some Ceph packages (e.g., EPEL) must take priority
186over standard packages, so you must ensure that you set
f91f0fd5
TL
187``priority=2``.
188
189.. code-block:: ini
7c673cae
FG
190
191 [ceph]
192 name=Ceph packages for $basearch
193 baseurl=https://download.ceph.com/rpm-{ceph-release}/{distro}/$basearch
194 enabled=1
195 priority=2
196 gpgcheck=1
197 gpgkey=https://download.ceph.com/keys/release.asc
198
199 [ceph-noarch]
200 name=Ceph noarch packages
201 baseurl=https://download.ceph.com/rpm-{ceph-release}/{distro}/noarch
202 enabled=1
203 priority=2
204 gpgcheck=1
205 gpgkey=https://download.ceph.com/keys/release.asc
206
207 [ceph-source]
208 name=Ceph source packages
209 baseurl=https://download.ceph.com/rpm-{ceph-release}/{distro}/SRPMS
210 enabled=0
211 priority=2
212 gpgcheck=1
213 gpgkey=https://download.ceph.com/keys/release.asc
214
215
11fdf7f2
TL
216For specific packages, you may retrieve them by downloading the release package
217by name. Our development process generates a new release of Ceph every 3-4
218weeks. These packages are faster-moving than the major releases. Development
219packages have new features integrated quickly, while still undergoing several
220weeks of QA prior to release.
7c673cae
FG
221
222The repository package installs the repository details on your local system for
223use with ``yum``. Replace ``{distro}`` with your Linux distribution, and
f91f0fd5
TL
224``{release}`` with the specific release of Ceph
225
226.. prompt:: bash $
7c673cae
FG
227
228 su -c 'rpm -Uvh https://download.ceph.com/rpms/{distro}/x86_64/ceph-{release}.el7.noarch.rpm'
229
f91f0fd5
TL
230You can download the RPMs directly from
231
232.. code-block:: none
7c673cae 233
f91f0fd5 234 https://download.ceph.com/rpm-testing
7c673cae 235
11fdf7f2
TL
236.. tip:: For non-US users: There might be a mirror close to you where
237 to download Ceph from. For more information see: `Ceph Mirrors`_.
7c673cae 238
9f95a23c 239openSUSE Leap 15.1
801d1391 240^^^^^^^^^^^^^^^^^^
9f95a23c 241
f91f0fd5
TL
242You need to add the Ceph package repository to your list of zypper sources. This can be done with the following command
243
244.. code-block:: bash
9f95a23c
TL
245
246 zypper ar https://download.opensuse.org/repositories/filesystems:/ceph/openSUSE_Leap_15.1/filesystems:ceph.repo
247
248openSUSE Tumbleweed
801d1391 249^^^^^^^^^^^^^^^^^^^
9f95a23c
TL
250
251The newest major release of Ceph is already available through the normal Tumbleweed repositories.
252There's no need to add another package repository manually.
253
7c673cae 254
801d1391
TL
255Ceph Development Packages
256-------------------------
7c673cae 257
7c673cae
FG
258If you are developing Ceph and need to deploy and test specific Ceph branches,
259ensure that you remove repository entries for major releases first.
260
261
11fdf7f2 262DEB Packages
801d1391 263~~~~~~~~~~~~
7c673cae 264
11fdf7f2
TL
265We automatically build Ubuntu packages for current development branches in the
266Ceph source code repository. These packages are intended for developers and QA
267only.
7c673cae 268
11fdf7f2
TL
269Add the package repository to your system's list of APT sources, but
270replace ``{BRANCH}`` with the branch you'd like to use (e.g.,
271wip-hack, master). See `the shaman page`_ for a complete
f91f0fd5
TL
272list of distributions we build.
273
274.. prompt:: bash $
7c673cae 275
11fdf7f2 276 curl -L https://shaman.ceph.com/api/repos/ceph/{BRANCH}/latest/ubuntu/$(lsb_release -sc)/repo/ | sudo tee /etc/apt/sources.list.d/shaman.list
7c673cae 277
11fdf7f2 278.. note:: If the repository is not ready an HTTP 504 will be returned
7c673cae 279
11fdf7f2
TL
280The use of ``latest`` in the url, means it will figure out which is the last
281commit that has been built. Alternatively, a specific sha1 can be specified.
f91f0fd5
TL
282For Ubuntu Xenial and the master branch of Ceph, it would look like
283
284.. prompt:: bash $
7c673cae 285
11fdf7f2 286 curl -L https://shaman.ceph.com/api/repos/ceph/master/53e772a45fdf2d211c0c383106a66e1feedec8fd/ubuntu/xenial/repo/ | sudo tee /etc/apt/sources.list.d/shaman.list
7c673cae 287
7c673cae 288
11fdf7f2 289.. warning:: Development repositories are no longer available after two weeks.
7c673cae
FG
290
291RPM Packages
801d1391 292~~~~~~~~~~~~
7c673cae 293
11fdf7f2
TL
294For current development branches, you may add a Ceph entry to the
295``/etc/yum.repos.d`` directory. The `the shaman page`_ can be used to retrieve the full details
f91f0fd5
TL
296of a repo file. It can be retrieved via an HTTP request, for example
297
298.. prompt:: bash $
7c673cae 299
11fdf7f2 300 curl -L https://shaman.ceph.com/api/repos/ceph/{BRANCH}/latest/centos/7/repo/ | sudo tee /etc/yum.repos.d/shaman.repo
7c673cae 301
11fdf7f2
TL
302The use of ``latest`` in the url, means it will figure out which is the last
303commit that has been built. Alternatively, a specific sha1 can be specified.
f91f0fd5
TL
304For CentOS 7 and the master branch of Ceph, it would look like
305
306.. prompt:: bash $
7c673cae 307
11fdf7f2 308 curl -L https://shaman.ceph.com/api/repos/ceph/master/53e772a45fdf2d211c0c383106a66e1feedec8fd/centos/7/repo/ | sudo tee /etc/apt/sources.list.d/shaman.list
7c673cae 309
7c673cae 310
11fdf7f2 311.. warning:: Development repositories are no longer available after two weeks.
7c673cae 312
11fdf7f2 313.. note:: If the repository is not ready an HTTP 504 will be returned
7c673cae 314
801d1391
TL
315Download Packages Manually
316--------------------------
7c673cae
FG
317
318If you are attempting to install behind a firewall in an environment without internet
319access, you must retrieve the packages (mirrored with all the necessary dependencies)
320before attempting an install.
321
322Debian Packages
801d1391 323~~~~~~~~~~~~~~~
7c673cae 324
11fdf7f2 325Ceph requires additional third party libraries.
7c673cae
FG
326
327- libaio1
328- libsnappy1
329- libcurl3
330- curl
331- libgoogle-perftools4
332- google-perftools
333- libleveldb1
334
335
336The repository package installs the repository details on your local system for
337use with ``apt``. Replace ``{release}`` with the latest Ceph release. Replace
338``{version}`` with the latest Ceph version number. Replace ``{distro}`` with
339your Linux distribution codename. Replace ``{arch}`` with the CPU architecture.
340
f91f0fd5 341.. prompt:: bash $
7c673cae
FG
342
343 wget -q https://download.ceph.com/debian-{release}/pool/main/c/ceph/ceph_{version}{distro}_{arch}.deb
344
345
346RPM Packages
801d1391 347~~~~~~~~~~~~
7c673cae 348
f67539c2 349Ceph requires additional third party libraries.
f91f0fd5
TL
350To add the EPEL repository, execute the following
351
352.. prompt:: bash $
7c673cae
FG
353
354 sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
355
356Ceph requires the following packages:
357
358- snappy
359- leveldb
360- gdisk
361- python-argparse
362- gperftools-libs
363
364
365Packages are currently built for the RHEL/CentOS7 (``el7``) platforms. The
366repository package installs the repository details on your local system for use
f91f0fd5 367with ``yum``. Replace ``{distro}`` with your distribution.
7c673cae 368
f91f0fd5
TL
369.. prompt:: bash $
370 :substitutions:
7c673cae 371
f91f0fd5 372 su -c 'rpm -Uvh https://download.ceph.com/rpm-|stable-release|/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'
7c673cae 373
f91f0fd5 374For example, for CentOS 8 (``el8``)
7c673cae 375
f91f0fd5
TL
376.. prompt:: bash $
377 :substitutions:
7c673cae 378
f91f0fd5
TL
379 su -c 'rpm -Uvh https://download.ceph.com/rpm-|stable-release|/el8/noarch/ceph-release-1-0.el8.noarch.rpm'
380
381You can download the RPMs directly from
382
383.. code-block:: none
384 :substitutions:
385
386 https://download.ceph.com/rpm-|stable-release|
7c673cae
FG
387
388
389For earlier Ceph releases, replace ``{release-name}`` with the name
390with the name of the Ceph release. You may call ``lsb_release -sc`` on the command
f91f0fd5
TL
391line to get the short codename.
392
393.. prompt:: bash $
7c673cae
FG
394
395 su -c 'rpm -Uvh https://download.ceph.com/rpm-{release-name}/{distro}/noarch/ceph-{version}.{distro}.noarch.rpm'
396
397
398
7c673cae 399.. _the testing Debian repository: https://download.ceph.com/debian-testing/dists
11fdf7f2 400.. _the shaman page: https://shaman.ceph.com
7c673cae 401.. _Ceph Mirrors: ../mirrors